我的目标是建立一个事实表,用于推导SSAS中的度量.我正在建立的措施是"平均就业时间".该度量将部署在仪表板中,用户可以选择日历期并深入查看月,周和日.
这是事务数据的样子:
DeptID EmployeeID StartDate EndDate
--------------------------------------------
001 123 20100101 20120101
001 124 20100505 20130101
Run Code Online (Sandbox Code Playgroud)
我的Fact Table应该有哪些字段?我应该在哪些领域进行聚合?如何平均呢?任何形式的帮助表示赞赏.
无论何时设计事实表,首先要问自己的问题是:
这个过程似乎是人力资源(HR).
你已经知道了就业的长短,你可以轻松计算:EndDate - StartDate.显而易见的维度是Department,Employee,Date(Start和End的两个角色扮演维度).
在这种情况下,由于您正在寻找"平均就业时长"作为一项衡量标准,因此似乎粮食应该是按部门划分的员工(当员工转移时,您的交易数据可能会以不同的方式EmployeeID列出DeptID).
您的星型架构将如下所示:
Fact_HR
DeptKey EmployeeKey StartDateKey EndDateKey EmploymentLengthInDays
-------------------------------------------------------------------------
10001 000321 20100101 20120101 730
10001 000421 20100505 20130101 972
Dim_Department
DeptKey DeptID Name ... (other suitable columns)
------------------------- ...
10001 001 Sales ...
Dim_Employee
EmployeeKey EmployeeID FirstName LastName ... (other suitable columns)
---------------------------------------------- ...
000321 123 Alison Smith ...
000421 124 Anakin Skywalker ...
Dim_Date
DateKey DateValue Year Quarter Month Day ... (other suitable columns)
00000000 N/A 0 0 0 0 ...
20100101 2010-01-01 2010 1 1 1 ...
20100102 2010-01-02 2010 1 1 2 ...
... ... ... ... ... ...
(so on for every date you want to represent)
Run Code Online (Sandbox Code Playgroud)
结尾的每一列Key都是代理键.您感兴趣的事实是EmploymentLengthInDays,您可以导出一个度量,Avg. Employment Length然后使用所有维度的平均值进行汇总.
现在您可以提出以下问题:
奖励:您还可以向使用相同列的多维数据集添加另一个度量,但是具有SUM聚合器,可以调用它Total Employment Length.在给定的员工中,这将告诉您员工为公司工作了多长时间,但是在整个部门中,它会告诉您该部门可用的总人工日数.只是一个事实如何成为多个措施的一个例子.
| 归档时间: |
|
| 查看次数: |
1358 次 |
| 最近记录: |