Итак, у нас есть иерархические отношения для фаз процесса:
Overall Phase
|----Phase 1
|----Intermediate Phase
| |----Phase 2
| |----Phase 3
|----Phase 4
Тогда у нас есть много объектов, которые проходят эти фазы. Эти объекты принадлежат к одному из нескольких различных типов, назовем их A, B и C.
Таким образом, мы можем построить сводный отчет, подобный этому, который сообщает нам общее (или среднее) время, потраченное на каждом этапе для каждого отдельного типа:
Phase A B C
Overall Phase 11 11 12
|----Phase 1 3 2 4
|----Intermediate Phase 6 6 6
| |----Phase 2 2 1 1
| |----Phase 3 4 5 5
|----Phase 4 2 3 2
Теперь дело в том, что с каждой фазой связана цель, которую мы хотим легко сравнить с фактической. Я думаю, что мы могли бы сделать это там, где был бы столбец цели в паре с каждым столбцом другого типа, но что, если бы мы вместо этого хотели отображать только цель в конце, например:
Phase A B C Goal
Overall Phase 11 11 12 13
|----Phase 1 3 2 4 3
|----Intermediate Phase 6 6 6 6
| |----Phase 2 2 1 1 2
| |----Phase 3 4 5 5 4
|----Phase 4 2 3 2 4
Нашей первой мыслью было создание сводного отчета, но это не поддерживается с помощью иерархических столбцов. Наличие отдельного отчета не сработает, потому что расширение или свертывание иерархии приведет к потере синхронизации.
Это новая почва для нас, и мы рисуем концептуальный бланк о том, как справиться с такой вещью. Любые идеи о том, что нам нужно сделать, чтобы достичь этого?
Текущая (упрощенная) структура таблицы выглядит примерно так:
**Fact table**
OBJECT_FK
PHASE_FK
PHASE_START_DATE
PHASE_END_DATE
**Phase Dim**
PHASE_KEY
PHASE_NAME
PARENT_PHASE_KEY
GOAL
**Phase Hierarchy**
ID
PARENT_ID
LEVEL
IS_LEAF
**Object Dim**
OBJECT_KEY
TYPE