【问题标题】:Access 2007 Crosstab Query ExpressionAccess 2007 交叉表查询表达式
【发布时间】:2012-06-21 02:33:45
【问题描述】:

目标:根据计算列的值创建百分比列。

交叉表查询的 SQL 代码如下:

TRANSFORM Count(Master_Calendar.ID) AS CountOfID
SELECT Master_Calendar.Analyst, Count(Master_Calendar.ID) AS [Total Of ID]
FROM Master_Calendar
GROUP BY Master_Calendar.Analyst
PIVOT Master_Calendar.[Current Status];

这给了我一个交叉表查询,显示数据库中“已完成”、“处理中”或“未开始”的条目数量,按它们所属的分析师排序。

我要做的是添加另一列来计算完成百分比 - 所以(已完成/ID 总数)* 100。我尝试将其放入另一个单元格的表达式中,但它返回一个“[已完成]" 未找到,即使它在表达式生成器中提供了一个选项。

我只是错误地命名了我的变量,还是不能这样做?我可以使用查询代码引用包含“已完成”的记录的总数,而不是使用数据透视表查找值吗?

感谢您的帮助。

【问题讨论】:

  • 您可以像使用表一样使用交叉表查询。将其添加到查询设计窗口并像为表一样构建百分比列。这适合吗?
  • 这就是我试图做的,但我无法让表达式正确/有效。

标签: ms-access-2007


【解决方案1】:

试试:

SELECT 
    xTab.Analyst,
    [Completed]/([Total of ID]/100) AS [Complete%], 
    [In Process]/([Total of ID]/100) AS [In Process%],
    [Not Started]/([Total of ID]/100) AS [Not Started%]
FROM xTab;

【讨论】:

  • 完美——没有意识到我应该查询一个查询。谢谢。
猜你喜欢
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
相关资源
最近更新 更多