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

问题描述 投票:0回答:1

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

join ssas mdx
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.