我想根據幾個表設置報告。如何生成此報告?
我有一個表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
,以便將數據放入我要查找的形狀中?樣的困惑,在那裏與這個未來去...
編輯:我做了對交叉表按高級用戶的解決方案了一些進展,但我有同一個Target
麻煩。我修改了嚮導生成的SQL,試圖獲得我想要的,但沒有解決。我使用的版本爲GroupActual
,只有weekEndDate
,status
和weeklyTarget
列;這裏的SQL:
TRANSFORM weeklyTarget
SELECT status
FROM TargetStatus_forCrosstab_Target
GROUP BY status,weeklyTarget
PIVOT Format([weekEndDate],"Short Date");
我是否明白這一點;您需要來自查詢GroupActual的Actual,以及來自表格目標的Target和Cumulative? –
@JohnnyBones,是的,對於目標中的每個日期和狀態,我需要計算具有該狀態的實際條目在該日期之前的一週內有多少個實際條目,這是我用'GroupActual'完成的。具有挑戰性的部分是獲得一行中的實際計數和下一個中的目標。 – sigil