Ssas 无事实事实表的数据仓库维度设计
我有一个关于我要开始的新立方体的问题 多维数据集与风险管理流程相关。事实表不包含任何事实,只包含存在的风险列表 关于此表的维度,我有一个问题,风险ex有很多属性: 项目开始前的发生概率:(高、中、低)Ssas 无事实事实表的数据仓库维度设计,ssas,data-warehouse,business-intelligence,dimensions,cube,Ssas,Data Warehouse,Business Intelligence,Dimensions,Cube,我有一个关于我要开始的新立方体的问题 多维数据集与风险管理流程相关。事实表不包含任何事实,只包含存在的风险列表 关于此表的维度,我有一个问题,风险ex有很多属性: 项目开始前的发生概率:(高、中、低) 项目期间发生的概率:(高、中、低) 项目结束后的发生概率:(高、中、低) 风险严重程度:(高、中、低) 策略:(接受、减少、分享) 我不确定是应该将这些类型的属性作为维度处理,还是将它们作为事实行的一部分。然后用户可以根据值进行过滤 如果需要,如何处理: 1) 事实维度(退化维度) 2) 新维度(
项目期间发生的概率:(高、中、低)
项目结束后的发生概率:(高、中、低)
风险严重程度:(高、中、低)
策略:(接受、减少、分享)
我不确定是应该将这些类型的属性作为维度处理,还是将它们作为事实行的一部分。然后用户可以根据值进行过滤 如果需要,如何处理:
1) 事实维度(退化维度)
2) 新维度(将数据移动到自己的表中)
3) 将类似概念的维度(例如:发生概率)合并到一个维度中,并添加一个类型属性[注意:有很多类型的属性我没有提到]
非常感谢您的帮助如果您有许多列的值为
高、中、低
,那么我建议您创建单独的维度,您可以在其中拥有以下属性:
ProbabilityKey
ProbabilityLevelShort (H,M,L)
ProbabilityLevelLong (High, Medium, Low)
ProbabilityLevelInt (1,2,3)
ProbabilityLevelPct (0,0.5,1)
ProbabilityLevelPctDesc (0%, 50%, 100%)
这将有助于报告级别,您经常需要将这些值转换为一些标签或执行其他类型的分析(例如,probabilityvelint
之和)。最终尺寸可以如下所示(仅前三列):
您可以对strategy列执行大致相同的操作。如果列的类型不太多,则可以结合概率级别和策略创建垃圾维度,如:
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
如果您需要更详细的答案,我们需要更详细的列列表。这是多维的还是表格的?
risk_fact_table
record_id dim_key some_other_key
1 1
2 1
3 2
4 3
5 4
6 5