我试图在SSAS中创建一个计算成员,它将在下面给我:
我想创建一个新措施" AdjustedQuantity"这基本上是长度*数量(标准化为 30 )。长度和数量都在同一个事实表中。
见下图。例如:如果长度为15,则数量应减半,因为15是30的一半。如果长度为60,数量应加倍,等等.RecevedQuantity字段是我想要的,但是我的结果(显示在" MyAttempt_WRONG"列)没有给我正确的总数。注意我也有[长度]作为维度。
注意:长度可以是30,60,15,45等。
{{1}}
答案 0 :(得分:2)
最佳效果的解决方案是在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的整数表示。