Access 2007交叉表查询表达式

时间:2012-06-20 15:41:28

标签: ms-access-2007

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

以下是交叉表查询的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.我尝试将其放入另一个单元格中的表达式,但它返回“[已完成]“找不到,即使它在表达式构建器中将它作为一个选项。

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

感谢您的帮助。

1 个答案:

答案 0 :(得分: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;