【问题标题】:HR Data Mart Design Advice人力资源数据集市设计建议
【发布时间】:2019-10-26 18:47:45
【问题描述】:

我正在使用“数据仓库工具包”中概述的 Kimball 方法设计 HR 数据集市。

根据 Kimball 的设计,我计划有一个带有时间戳的、缓慢变化的维度来跟踪员工资料的变化(以支持员工状态的时间点分析)和一个人数统计定期快照事实表支持新员工、离职人员、休假、支付工资等措施。

我遇到的问题是,在某些情况下,我们的员工可能被分配到多个角色/工作,并且每个人都需要单独跟踪(即我的事实的粒度必须在工作级别,而不是员工级别)。

如何调整 Kimball 设计以适应员工和角色/工作形成这样的层次结构的场景?理想情况下,我希望避免为分配给员工的每个角色/工作重复员工资料数据(地址、人口统计等),但这是否意味着我需要对维度进行雪花化?

我一直在考虑的选项包括以下选项 - 我会对社区对此的任何想法或建议感兴趣,因此欢迎所有意见!

1)(见附件,设计 1)一种雪花式方法,其中员工表具有一对多链接角色表,而角色表又与事实表具有一对多链接.这里的优点是干净的员工维度,但我不想引入不必要的复杂性。有什么理由不应该将两个维度直接链接到事实表?我见过的雪花设计似乎没有做到这一点。

2)(见附件,设计 2)一个组合的员工/角色维度,其中每个员工都有每个分配角色的记录,但只有一个记录被标记为“主要角色”。可以通过约束“主要角色”标志来执行维度上的时间点查询。

【问题讨论】:

    标签: data-warehouse star-schema snowflake-schema


    【解决方案1】:

    发生的任何事情都是事件,并且可以是事实。当您查看数据之间的关系时,您还需要询问数据值是描述实体(暗淡)还是实体(事实)发生/发生的事情。一切都可能是模糊的或事实。(有时两者兼而有之)

    工作描述发生在员工身上的事件。您应该有一个与 Dim 员工和 Dim 工作(以及您的日期维度)相关的事实员工工作。然后,这将允许您按员工和工作细分缺勤情况。您的暗淡工作实际上只是职位名称、工资等级等。事实将包含生效日期。研究无事实的事实表。

    请注意,您的空缺参考将是一个单独事实的一部分(您何时/何地发布它,有多少申请人都是关于空缺的可衡量事实)。这也可能是退化维度的一个例子。

    我不喜欢你每月的事实。我认为这应该只是基于事实缺席和事实雇员工作的一些计算措施。当这些事件与您的维度相对应时,您可以按日期、工作类型、经理等对其进行细分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多