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



>我在SSAS中有一个多维数据集,它具有不同的维度和一个事实表。 其中一个维度是具有 [weight] 属性的 dimGoodsType。我有一个事实已售商品,它有[价格]度量。现在我想计算这个总和(价格 * 重量((每个售出的项目都有其 dimGoodsTypeId,因此它的权重与 GoodsType 相关(如何在 mdx 中定义此公式?

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

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

最新更新