繁体   English   中英

事实表的数据仓库维度设计

[英]Data Warehouse Dimension Design for Factless Fact Table

我对正在启动的新多维数据集有疑问。

多维数据集与风险管理过程有关。 事实表将不包含任何事实,仅包含存在的风险列表。

我对此表的维度有疑问,Risk ex有很多属性:

项目开始之前发生的可能性:(高,中,低)
项目发生的概率:(高,中,低)
项目结束后出现的可能性:(高,中,低)

风险等级:(高,中,低)
策略:(接受,减少,共享)

我不确定是否应该将这些类型的属性视为Dimension还是将其保留为事实行的一部分。 然后,用户可以按值进行过滤。

如果它们应该是“尺寸”,则如何处理它们:
1)事实维度(简并维度)
2)新维度(将数据移到其自己的表中)
3)将类似概念的维度(例如:出现的概率合并为一个维度,并添加类型属性)[注意:我没有提到很多这些类型的属性]

任何帮助表示赞赏

如果您有很多列,其值分别为High, Medium, Low那么我建议您创建单独的维度,例如,可以在其中添加以下属性:

 ProbabilityKey
 ProbabilityLevelShort (H,M,L)
 ProbabilityLevelLong (High, Medium, Low)
 ProbabilityLevelInt (1,2,3)
 ProbabilityLevelPct (0,0.5,1)
 ProbabilityLevelPctDesc (0%, 50%, 100%)

这将有助于您经常需要将这些值转换为某些标签或执行其他类型的分析(例如ProbabilityLevelInt之和)的报告级别。 最终尺寸看起来像(仅前三个列):

risk_dimension(ProbabilityKey,ProbabilityLevelShort,ProbabilityLevelLong)
1     H    High
2     M    Medium
3     L    Low

您可以使用策略列执行几乎相同的操作。 如果没有太多类型的列,则可以结合概率级别和策略来创建垃圾维度,例如:

junk_risk_dimension(ProbabilityKey,ProbabilityLevelShort,ProbabilityLevelLong,StrategyLong)
1     H    High       Accept
2     M    Medium     Accept
3     L    Low        Accept
4     H    High       Reduce
5     M    Medium     Reduce
6     L    Low        Reduce
7     H    High       Share
8     M    Medium     Share
9     L    Low        Share

然后,在您的事实表中,您只有指向该垃圾维度的指针:

risk_fact_table
record_id   dim_key  some_other_key
1            1
2            1
3            2
4            3
5            4
6            5

如果您需要更详细的答案,我们将需要更详细的列列表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM