我想改变合计的方式来工作立方体,以避免舍入错误。SSAS MDX - 如何改变在立方体中总结作品的方式?
我的计算是简单的列A/B列
在层次结构中的每一个层面,我想有SUM(列A)/总和(列B)以外,SUM(所有单独的列A /列B)
如何在计算中改变这种总结的方式?
我想改变合计的方式来工作立方体,以避免舍入错误。SSAS MDX - 如何改变在立方体中总结作品的方式?
我的计算是简单的列A/B列
在层次结构中的每一个层面,我想有SUM(列A)/总和(列B)以外,SUM(所有单独的列A /列B)
如何在计算中改变这种总结的方式?
您可以添加在聚合最后处理的calculated member。让我们假设你定义A和B措施:
WITH
MEMBER [Measures].[A/B] AS ([Measures].[A])/([Measures].[B])
SELECT
...
您可以在多维数据集定义添加计算的成员,因此将在所有MDX语句可用。可以肯定的是,请注意Sum(A)/ Sum(B)!= Sum(A/B),如果需要,您可以添加检查0/null。
据我所知,你有一个计算字段(列A /列B)在SQL DB或DSV(数据源视图)。因此,您可以为每列创建两个SUM度量值(A列为一个总和度量值,第二个为B列),并将其用于新计算的度量值中。
你想要的是SUM(列A)/总和(列B)而不是SUM(所有单独的列A /列B)。然后我假设你有两个措施:sum_column_a
和sum_column_b
。
要创建新措施sum_column_a_b
你应该创建一个计算的成员:
要粘贴的代码:
CREATE MEMBER CURRENTCUBE.[Measures].[sum_column_a_b]
AS iif( [Measures].[sum_column_b] > 0,
[Measures].[sum_column_a]/[Measures].[sum_column_b],
0),
FORMAT_STRING = "Percent",
VISIBLE = 1 , ASSOCIATED_MEASURE_GROUP = 'yourDesiredGroup';
处理多维数据集时,此新度量将可用。