所以我们有一个流程阶段的层次关系:
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