我们有一个员工维度,其中包含我们在其上构建层次结构的经理(父子关系)的自我引用。
DimStaff 表:
| SurrogateKey | BusinessKey | Employee Name | ManagerBusinessKey | StartDate | EndDate |
| 1 | 1 | Manager1 | NULL | 2013-01-01 | 2099-01-01|
| 2 | 2 | Manager2 | NULL | 2013-01-01 | 2099-01-01|
| 3 | 3 | Employee1 | 1 | 2013-01-01 | 2014-01-01|
| 4 | 3 | Employee1 | 2 | 2014-01-02 | 2099-01-01|
事实表:
| StaffKey | DateKey | Measure1 |
| 3 | 20130405 | 10 |
| 4 | 20140203 | 20 |
现在,以这个数据集为例,要求是
1-能够向下钻取层次结构
Manager1
-> Employee1
-> Measure1=10
Manager2
-> Employee1
-> Measure1=20
2- 选择一个人时聚合每个层次结构级别的值
Employee1 -> Measure1=30
我们怎么能这样做呢?(问题是我们构建了它,但第二个要求不起作用,因为多维数据集接受 Employee1 的两个状态作为两个单独的实体并且不会聚合它们。)