我的组织需要在 SQL Server 中构建一个数据仓库(最终在 SSAS 中构建一个多维数据集),其中一个事实表用于销售目标/预算数据。
到目前为止,我只处理了与这个问题相反的问题,即孩子的价值总和小于父母价值的总和。
这里的问题是如何对事实表进行建模,其中孩子的价值之和是父母价值的 n 倍之和。
下表表示是我描述问题的最佳方式。
每个员工都有一个销售目标/预算金额,如下所示:
EmployeeId | EmployeeBudgetAmount$
-----------+----------------------
Emp1 | 100
Emp2 | 200
Emp3 | 500
上述员工级别的预算值被拆分为实践(相当于法律实践的组织术语,例如移民、公司等),如下所示:
EmployeeId | PracticeTypeId | PracticeId | EmployeePracticeBudgetAmount$
Emp1 | PracType1 | Prac1 | 20
Emp1 | PracType1 | Prac2 | 80
Emp1 | PracType2 | Prac10 | 40
Emp1 | PracType2 | Prac20 | 60
Emp1 | PracType3 | Prac100 | 30
Emp1 | PracType3 | Prac200 | 70
Emp2 | PracType1 | Prac1 | 160
Emp2 | PracType1 | Prac2 | 40
Emp2 | PracType2 | Prac10 | 80
Emp2 | PracType2 | Prac20 | 120
Emp2 | PracType3 | Prac100 | 140
Emp2 | PracType3 | Prac200 | 60
Emp3 | PracType1 | Prac1 | 0
Emp3 | PracType1 | Prac2 | 500
Emp3 | PracType2 | Prac10 | 100
Emp3 | PracType2 | Prac20 | 400
Emp3 | PracType3 | Prac100 | 200
Emp3 | PracType3 | Prac200 | 300
该员工的每个实践类型的预算都满足该员工的总预算。
Emp1's total budget = SUM(Emp1's practice budget) for PracType1
Emp1's total budget = SUM(Emp1's practice budget) for PracType2
Emp1's total budget = SUM(Emp1's practice budget) for PracType3
...等等。
如果实践预算表(上面的第 2 个表)用于事实表,则汇总员工的所有 EmployeePracticeBudgetAmount 会产生预算金额,即员工预算的 3(可用的实践类型数量)乘以员工的预算。
关于如何将其建模为事实表的任何指针/想法?
提前致谢。
注意:还有其他维度,如会计月份和会计年度,高于员工级别,需要汇总预算金额。为简洁起见,我没有在上述问题中提出这些内容。