方案
为流程事件管理设计OLAP环境的星图。管理层要求能够过滤SLA状态(已破坏,已实现或正在进行)并能够计算达到vs违规的sla的百分比。报告将通过Excel / SSRS通过SSAS(表格)完成。
问题
我在设计OLAP环境方面缺乏经验。我知道我的想法会奏效,但我担心这不是最好的方法。
我的想法: SLA需要既是衡量标准又是维度。
DimSLA
- ...
- (Nullable bool)Sla Achieved - >是= True,No = False,InProgress = NULL
- ...
FactIncident
- ...
- (Nullable Integer)Sla实现Yes = 1,No = 0且In Progress = NULL
- ...
然后在SSAS中,发布一个平均FactIncident-SlaAchieved的计算百分比字段。 这是正确/可行的方法吗?
答案 0 :(得分:1)
正如您所描述的那样,“SLA达到”应该是一个属性,因为您想要通过它进行分类,而不是对它进行求和。在“SLA达到”属性具有“已实现”或“未实现”等特定值的条件下,您想要求和或聚合的唯一事项是其他度量(可能是事件计数)。这是尺寸设计的主要规则:用于分类或分解的东西是属性,而您计算的东西是度量。在某些情况下,您需要一个列,但不是很多。
不要只使用布尔值。用户可以轻松理解字符串值,例如“SLA已实现”,“未实现SLA”,“正在进行中”。这使非技术用户更容易使用多维数据集。如果你在维度表中使用它,那么只有三个带有字符串的记录,而事实表会用一个字节外键引用它们,因此更有意义的文本不会消耗数百万个字节。