Ssas 使用MDX计算按比例的份额

Ssas 使用MDX计算按比例的份额,ssas,mdx,olap,Ssas,Mdx,Olap,我有一个SSAS多维数据集,显示投资者及其在基金中的投资价值。基金价值和按比例分配的股份实际上是表中的。我创建了一个计算过的度量,它只是将基金价值*份额相乘。问题出在总行。现在显示的是标记为错误的行。我想展示的是标有右边的那一行 Investor Fund Value Share Investor Value Investor 1 100,000 0.4 40,000 Investor 1 200,000 0.3 60,000 Total

我有一个SSAS多维数据集,显示投资者及其在基金中的投资价值。基金价值和按比例分配的股份实际上是表中的。我创建了一个计算过的度量,它只是将基金价值*份额相乘。问题出在总行。现在显示的是标记为错误的行。我想展示的是标有右边的那一行

Investor    Fund Value  Share   Investor Value
Investor 1  100,000     0.4     40,000
Investor 1  200,000     0.3     60,000
Total       300,000     0.7     210,000   <== WRONG
Total                           100,000   <== RIGHT
投资者基金价值股票投资者价值
投资者1 100000 0.4 40000
投资者1 200000 0.3 60000

总计300000.7210000最简单的方法:在olap数据库的DSV(在相应的事实表中)中创建新的计算字段(编写表达式)。之后,在度量中使用此字段(聚合类型总和)。

如果性能可能存在问题,则Max answer是一种解决方法(预计算)。可以使用MDX计算成员来解决prorarta(如果维度很大,性能可能会成为一个问题)


进一步研究这个解决方案的问题是,我需要一个维度,其中10万和20万基金的价值是不同的(例如,[份额])。您能描述一下您的维度吗?

我知道这已经有几个月了,但我会使用范围语句用正确的计算覆盖该单元格。检查此项:查看文章需要登录,但免费。

我简化了数据模型以突出问题。基金价值和投资者都是多对多关系,因此不可能计算字段。