OLTP变量在OLAP中需要作为维度和度量吗?

时间:2013-11-01 09:23:27

标签: ssas olap

方案

为流程事件管理设计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的计算百分比字段。 这是正确/可行的方法吗?

1 个答案:

答案 0 :(得分:1)

正如您所描述的那样,“SLA达到”应该是一个属性,因为您想要通过它进行分类,而不是对它进行求和。在“SLA达到”属性具有“已实现”或“未实现”等特定值的条件下,您想要求和或聚合的唯一事项是其他度量(可能是事件计数)。这是尺寸设计的主要规则:用于分类或分解的东西是属性,而您计算的东西是度量。在某些情况下,您需要一个列,但不是很多。

不要只使用布尔值。用户可以轻松理解字符串值,例如“SLA已实现”,“未实现SLA”,“正在进行中”。这使非技术用户更容易使用多维数据集。如果你在维度表中使用它,那么只有三个带有字符串的记录,而事实表会用一个字节外键引用它们,因此更有意义的文本不会消耗数百万个字节。