Data warehouse 事实表设计-如何捕获数据开始日期之前的事实
我们有一个事实表,收集员工选择福利时的详细信息。我们试图解决的问题是如何计算所有员工选择的总福利 我们确实有一个BenefitSelectedEnday标志,通常,我们可以对此进行求和以获得结果,但这只适用于自开始加载数据以来的福利选择 例如:Data warehouse 事实表设计-如何捕获数据开始日期之前的事实,data-warehouse,dimensional-modeling,fact-table,Data Warehouse,Dimensional Modeling,Fact Table,我们有一个事实表,收集员工选择福利时的详细信息。我们试图解决的问题是如何计算所有员工选择的总福利 我们确实有一个BenefitSelectedEnday标志,通常,我们可以对此进行求和以获得结果,但这只适用于自开始加载数据以来的福利选择 例如: 假设客户1自2016年10月以来一直在使用我们的分析工具。我们在平台上有4个月的数据 10月份加载数据时,福利来源数据将显示: 员工#1于2016年4月4日选择了福利 员工#2于2016年10月3日选择了福利 为员工2设置BenefitSelect
- 假设客户1自2016年10月以来一直在使用我们的分析工具。我们在平台上有4个月的数据
- 10月份加载数据时,福利来源数据将显示:
- 员工#1于2016年4月4日选择了福利
- 员工#2于2016年10月3日选择了福利
在某些情况下,计算福利选择是有问题的。如果我们按日期筛选报告,只查看2016年第4季度的福利选择,我们没有问题。但是,如果我们想要一个总福利选择计数,我们有一个问题,因为我们没有为员工1设置标志,因为选择日期早于客户1的数据集范围(目前为2016年10月1日至2017年1月31日)。在您的场景中,两种方法似乎是合理的:
就我个人而言,我会选择选项1,除非存储要求是荒谬的。即使这样,您也只能将标记的记录加载到事实表中。如果您的客户能够在加入日期之前选择一个时段并获得不完整的数据,那么他可能会感到困惑,但您可以解释/证明这一点。您能告诉我们事实是什么吗?与其试图在事实中找到日期并将其标记出来,不如明确表示员工开始领取福利的日期。也许有两个事实在起作用