计算不适用于汇总总计

calculation not working in rollup totals

我正在尝试在 SSAS 中创建一个计算成员,它将在下面给出:

我想创建一个新度量 "AdjustedQuantity",它基本上是长度 * 数量(标准化为 30)。 Length 和 Quantity 在同一个事实 table.

见下图。示例:如果长度为 15,则数量应减半,因为 15 是 30 的一半。如果长度为 60,则数量应加倍,等等。AdjustedQuantity 字段是我想要的,但我的结果(显示在 "MyAttempt_WRONG" 列)不要给我正确的总数。注意我也有 [Length] 作为维度。

注:长度可以是30、60、15、45等。

CREATE MEMBER CURRENTCUBE.[Measures].[MyMeasure]
 AS [Measures].[Quantity] * ([Measures].[Length]/30), 

效果最佳的解决方案是向 DSV 添加一列,即:

Quantity * Length/30

然后在该列上创建一个 Sum 度量。

如果您必须在 MDX 中执行此操作,尽管上述方法的性能较差,请尝试:

CREATE MEMBER CURRENTCUBE.[Measures].[MyMeasure]
 AS SUM(
  EXISTING [Your Length Dimension].[Length].[Length].Members,
  [Measures].[Quantity] * (Your Length Dimension].[Length].CurrentMember.Member_Key/30)
);

基本上,您需要对每个长度进行乘法运算,然后从那里求和。 Member_Key 假设 Length 维度属性键是 Length 的整数表示。