Я пытаюсь настроить отчет на основе нескольких таблиц.Как сгенерировать этот отчет?
У меня есть таблица 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
так, чтобы он помещал данные в форму, которую я ищу? Вид смущения относительно того, куда идти дальше с этим ...
EDIT: Я сделал некоторый прогресс на перекрестках в соответствии с решением PowerUser, но у меня проблемы с Target
. Я изменил созданный вами мастер SQL, пытаясь получить то, что хочу, но он не работает. Я использовал версию GroupActual
, которая имеет только weekEndDate
, status
и weeklyTarget
; here are the SQL:
TRANSFORM weeklyTarget
SELECT status
FROM TargetStatus_forCrosstab_Target
GROUP BY status,weeklyTarget
PIVOT Format([weekEndDate],"Short Date");
Имею ли я это право; вам нужен Actual из запроса GroupActual, а Target и Cumulative из таблицы Targets? –
@JohnnyBones, да, для каждой даты и статуса в «Цели» Мне нужно узнать, сколько фактических записей с этим статусом имеет дату в течение недели до этой даты, которую я сделал с помощью «GroupActual». Сложная часть - получение фактических подсчетов в одной строке и целей в следующем. – sigil