事实和维度表之间的MDX查询

时间:2019-10-21 21:03:17

标签: join ssas mdx

我在SSAS中有一个多维数据集,它具有不同的维度和一个事实表。维度之一是具有[weight]属性的dimGoodsType。我有一个具有[price]度量的factSoldItems。现在我要计算此总和(价格*重量)(每个solditem都有其dimGoodsTypeId,因此其权重与GoodsType有关)如何在mdx中定义此公式?

1 个答案:

答案 0 :(得分:0)

您可以在多维数据集中定义另一个度量值组,将dimGoodsType作为数据源表,将Weight列作为度量,然后像往常一样将其与Goods Type维度连接。然后,在Price度量的属性选项卡中,可以将Measure Expression设置为[Measures].[Price] * [Measures].[Weight]。此计算将在进行任何聚合之前进行。主要问题是,如果将直接计算定义为Price * Weight,SSAS将首先在当前单元格的上下文中对所有权重求和并将所有价格求和,只有在此之后它才会执行乘法运算,但您希望始终在叶级上进行乘法并从那里求和。

另一种解决方案可能是创建view_factSoldItems,您将在其中将计算出的列Weighted Price添加为price * weight,然后将此度量添加到多维数据集。