我们需要制定一项策略,以不同的时间表显示按日期加权的销售收入数据。
我们目前有一个FactSales表,每个订单包含一行粒度,以及销售额的度量。我们有单独的DimDate和DimTime维度,以及DimBusinessUnit维度,组织中的每个实体都有一行。
在DimDate,我们有美国主要假期的旗帜,因此我们知道可能会减少销售收入。该标志将全球适用。
问的是,不同的业务部门可能会有较慢的收入天数。例如,星期一在一个业务部门可能会很慢,而另一个业务部门的周五可能会很慢。对于分析,需要使用标记或加权来捕获这些不同的计划。
最终,这可能会反映为计算出的预计销售额。
如何才能最好地添加此权重?它是属于Date维度,业务单位维度,还是属于Fact表中的退化维度,还是其他一些东西?
答案 0 :(得分:0)
DimDate可能不是保存此信息的好地方,因为每个业务单位(BU)可能有不同的时间表,因此很可能每个BU和每个组合的日期都必须有一个标记。一个缓慢的一天。因此,例如,如果BU1和BU2在星期一有一个缓慢的日子,那么DimDate中的每个星期一都必须有一种方式表明BU1和BU2的速度很慢。
Dimension BU可能是一个更好的地方,因为时间表是特定于每个单位的。所以你可以选择通过添加7天作为属性来扩展你的昏暗,并将它们标记为慢或不使用例如false或true标志。您还可以使用位掩码的一个属性,即0100000,其中值的位置对应于日,即M T W T F S S且0不慢并且1慢,因此在该示例中T是慢日。
如果您选择相关的SCD过程,这也可以让您追踪历史记录。
另一个选项可能是单独的Dimension,即DimSchedule和Factless Fact Table。
我希望这会有所帮助。
答案 1 :(得分:0)
您的情况似乎与Kimball描述的多个国家日历问题相同:
http://www.kimballgroup.com/1998/12/think-globally-act-locally/
Kimball在最左边的表格中描述假期,你也可以添加一个“慢日”标志。