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

Join 事实表和维度表之间的MDX查询,join,ssas,mdx,Join,Ssas,Mdx,我在SSAS中有一个立方体,它有不同的维度和一个事实表。其中一个维度是具有[weight]属性的dimGoodsType。我有一个factSoldItems,它有[价格]度量。现在我想计算这个总和(price*weight)(每个solditem都有它的dimGoodsTypeId,因此它的权重与GoodsType相关)如何在mdx中定义这个公式?您可以在多维数据集中定义另一个度量值组,dimGoodsType作为数据源表,weight列作为度量值,并像往常一样将其与商品类型维度连接。然后,在P

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

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

另一种解决方案是创建
view\u factSoldItems
,将计算列
加权价格
添加为
Price*weight
,然后将此度量值添加到多维数据集