非附加事实

时间:2011-12-21 00:02:36

标签: sql-server-2008 ssas mdx olap olap-cube

我有一个包含10项措施的事实表。 10个度量中的9个汇总在Sum级别。但是我的单位价格是非加性事实度量。当我转到Aggregation的属性并且没有它时它在SSAS中不起作用并且在Cube中给出NULL值处理完立方体后。那么有什么方法可以处理我的非加法测量单元Unit_Price.SO创建了一个MDX。我不知道这是否是正确的做法。这是我的MDX。请建议一种方法来完成上述操作。

with member [Measures].[Non Additive Unit Sales] as
  case when [Time].Level is [Time].[Month]
     and [Gender].Level is [Gender].[Gender]
     and [Customers].Level is [Customers].[Name]
     and [Product].Level is [Product].[Product Name]
  then [Measures].[Unit Sales]
  else null
  endselect
   {[Measures].[Unit Sales],
     [Measures].[Non Additive Unit Sales],
     [Measures].[Semi Additive Unit Sales]}
   * [Gender].Members ON COLUMNS,
  [Time].Members ON ROWS
from [Sales]

1 个答案:

答案 0 :(得分:2)

这不是正确的方法。如果度量设置为“不聚合”,则不会显示任何必须聚合的基数。

此时,单位成本是您产品的属性,而非此类指标。有几种方法可以解决它:

  • 将其设置为产品的成员属性。您可以通过MDX查询,一些查询工具(例如ProClarity)会将成员属性显示为工具提示。

  • 使用单位成本制作另一个事实表。每个产品有一行,并且不将度量值组连接到任何维度而是产品。您可以将其设置为“不聚合”,并且当您未向下钻取到产品时,该度量将为空白。