0

如果我有一份报告跟踪每个月的多个帐户的数据,并带有标记的行:

UNITS, 
REVENUE,
AVG REV/UNIT

我将如何创建一个查询来过滤报告以仅显示从上个月到本月 UNITS 行增加/减少 25% 且 AVG REV/UNIT 增加/减少 10% 的帐户。

一个例子是六月我有数字....

            JUN
UNITS       3,271
Revenue     $3,598.10
Avg R/U     $1.08

因此,当我在 7 月底运行报告时,我只希望在报告中显示 UNITS 差异 25% 和/或 AVG REV/UNIT 差异 10% 的帐户。

qryPharmacy
SELECT PHAR_REPORT.*, (IIf(u1 Is Null,0,u1)+IIf(u2 Is Null,0,u2)+IIf(u3 Is Null,0,u3)+IIf(u4 Is Null,0,u4)+IIf(u5 Is Null,0,u5)+IIf(u6 Is Null,0,u6)+IIf(u7 Is Null,0,u7)+IIf(u8 Is Null,0,u8)+IIf(u9 Is Null,0,u9)+IIf(u10 Is Null,0,u10)+IIf(u11 Is Null,0,u11)+IIf(u12 Is Null,0,u12)) AS USUM, (IIf(r1 Is Null,0,r1)+IIf(r2 Is Null,0,r2)+IIf(r3 Is Null,0,r3)+IIf(r4 Is Null,0,r4)+IIf(r5 Is Null,0,r5)+IIf(r6 Is Null,0,r6)+IIf(r7 Is Null,0,r7)+IIf(r8 Is Null,0,r8)+IIf(r9 Is Null,0,r9)+IIf(r10 Is Null,0,r10)+IIf(r11 Is Null,0,r11)+IIf(r12 Is Null,0,r12)) AS RSUM, RMonth.*, PG2.*, PG.pGroup
FROM PHAR_REPORT, RMonth, PG2, PG
WHERE (((PHAR_REPORT.PR) Like ([PCODE] & '*')) And ((PG.pID)=PG2.PID))
ORDER BY PG2.pID, PHAR_REPORT.PR;
4

1 回答 1

0

您应该使用多个查询来完成。在第一个查询中,选择第一个月的数据。上一秒,到想要的月份进行比较。创建第三个查询,首先将两者联系起来(注意正确的关系)。在这些查询中进行分组/计算。

在第三个查询中,创建两个字段来计算单位和转/单位的增加/减少。现在,您可以在查询列中的每个参数字段上添加标准。

这里的挑战是确定你会在几个月内使用主键。例如:如果第一个查询中的 A 行不在第二个查询中(例如,第二个月没有事件),它将不会显示。在这种情况下,解决方案是创建链接表或查询的查询,该表或查询具有整个寄存器集,强制它显示所有所需的记录,无论它们是否出现。

于 2011-02-14T12:34:57.407 回答