2012-06-20 116 views
1

目标:基于计算列的值创建百分比列。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.我试图把它放入另一个单元格的表达式中,但它返回一个“ [Completed]“找不到,尽管它将它作为Expression Builder中的一个选项提供给我。

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

感谢您的帮助。

+0

您可以使用交叉表查询,就好像它是一个表。将它添加到查询设计窗口中,并像创建表一样构建百分比列。这是否合适? – Fionnuala

+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; 
+0

完美 - 没有意识到我应该查询一个查询。谢谢。 –