计算不适用于汇总总计
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 的整数表示。
我正在尝试在 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 的整数表示。