我正在尝试基于多个表格设置报告。
我有一个Actual
看起来像这样的表:
+--------+------+
| status | date |
+--------+------+
| 5 | 7/10 |
| 8 | 7/9 |
| 8 | 7/11 |
| 5 | 7/18 |
+--------+------+
表Targets
如下所示:
+--------+-------------+--------+------------+
| status | weekEndDate | target | cumulative |
+--------+-------------+--------+------------+
| 5 | 7/12 | 4 | 45 |
| 5 | 7/19 | 5 | 50 |
| 8 | 7/12 | 4 | 45 |
| 8 | 7/19 | 5 | 50 |
+--------+-------------+--------+------------+
Actual
对它们所属的记录进行分组Targets.weekEndDate
,我有以下聚合查询GroupActual
:
+-------------+------------+--------------+--------+------------+
| weekEndDate | status | weeklyTarget | actual | cumulative |
+-------------+------------+--------------+--------+------------+
| 7/12 | 5 | 4 | 1 | 45 |
| 7/12 | 8 | 4 | 2 | 41 |
| 7/19 | 5 | 5 | 1 | 50 |
| 7/19 | 8 | 4 | | 45 |
+-------------+------------+--------------+--------+------------+
我正在尝试创建此报告:
+--------+------------+------+------+
| status | category | 7/12 | 7/19 | ...etc for every weekEndDate entry in Targets
+--------+------------+------+------+
| 5 | actual | 1 | 1 |
| 5 | target | 4 | 5 |
| 5 | cumulative | 45 | 50 |
+--------+------------+------+------+
| 8 | actual | 2 | |
| 8 | target | 4 | 5 |
| 8 | cumulative | 45 | 50 |
+--------------+------+------+------+
我可以使用交叉表查询来制作日期列,但我不确定如何为“实际”、“目标”和“累积”设置行。它们不是同一个表中的值,这意味着(我认为)交叉表查询对这种细分没有用处。我是否应该尝试进行更改GroupActual
,以便将数据置于我正在寻找的形状中?有点困惑下一步该去哪里......
编辑:根据 PowerUser 的解决方案,我在交叉表上取得了一些进展,但我在使用Target
. 我修改了向导生成的 SQL,试图得到我想要的,但它没有成功。我使用的版本GroupActual
只有weekEndDate
、status
和weeklyTarget
列;这是SQL:
TRANSFORM weeklyTarget
SELECT status
FROM TargetStatus_forCrosstab_Target
GROUP BY status,weeklyTarget
PIVOT Format([weekEndDate],"Short Date");