Ssas 运行总计仅覆盖包含数据的单元格范围

Ssas 运行总计仅覆盖包含数据的单元格范围,ssas,mdx,Ssas,Mdx,使用图解模型 (注意,并非所有DimB成员都显示,因此DimA的总数大于显示的DimB的总和,请忽略此项): 查询正在从多维数据集显示0上的(月、收入)和1上的(dima、dimb) 我希望在创建计算成员时获得一些帮助,该成员将计算此处“月”的运行总数(不是实时维度) 之前我用过这个,但它在很多方面都是错误的: [Measures].[Accumulated Revenue] = IIF( ([DimMonths].[Months].CurrentMember,[Measur

使用图解模型

注意,并非所有DimB成员都显示,因此DimA的总数大于显示的DimB的总和,请忽略此项):

查询正在从多维数据集显示0上的(月、收入)和1上的(dima、dimb)

我希望在创建计算成员时获得一些帮助,该成员将计算此处“月”的运行总数(不是实时维度)

之前我用过这个,但它在很多方面都是错误的:

[Measures].[Accumulated Revenue] = 
IIF(
        ([DimMonths].[Months].CurrentMember,[Measures].[Revenue]) = 0
    AND ([DimMonths].[Months].CurrentMember.NextMember,[Measures].[Revenue]) = 0
    ,
    IIF(
        AGGREGATE({
            [DimMonths].[Months].CurrentMember :
            [DimMonths].[Months].Parent.LastChild 
        },[Measures].[Revenue]) = 0
        ,
        NULL
        ,
        Aggregate( {
            [DimMonths].[Months].Parent.FirstChild : 
            [DimMonths].[Months].CurrentMember.PrevMember
        }
        ,[Measures].[Revenue])
        )
    ,
    Aggregate( {
        [DimMonths].[Months].Parent.FirstChild : 
        [DimMonths].[Months].CurrentMember
        }
    ,[Measures].[Revenue])
)
听起来像是一个“范围分配”的工作。基本上,使用范围赋值,您可以沿[Member_DimA_01]切片覆盖计算出的度量值,以便这些值表示一个运行总数,而不是子项的总和

编辑:这里有一个用于运行总计计算的模板

WITH 
SET [Months] AS
    {
        [Date].[Calendar Month].&[2011 - Jan]
        :
        [Date].[Calendar Month].&[2011 - Dec]
    }
MEMBER [Measures].[Running Total] AS
    SUM(
         {
            [Date].[Calendar Hierarchy].[Calendar Month].&[2011 - Jan]
            :
            [Date].[Calendar Hierarchy].CurrentMember
         }
        ,[Measures].[Revenue]
    )
SELECT  
    NON EMPTY{
        [Months]
    } ON 0,
    NON EMPTY{
        [DimA].[Member].Allmembers *
        [DimB].[Member].Allmembers
    } ON 1
FROM
    [<<cube name>>]
WHERE
    [Measures].[Revenue Running Total]
与
将[月份]设为
{
[日期][日历月]和[2011年1月]
:
[日期][日历月]和[2011年12月]
}
成员[测量][运行总数]为
总数(
{
[日期][日历层次结构][日历月]和[2011年1月]
:
[日期][日历层次结构].CurrentMember
}
,[措施][收入]
)
挑选
非空{
[月份]
}0,,
非空{
[DimA].[Member]。所有成员*
[DimB].[Member]。所有成员
}在1号
从…起
[]
哪里
[措施][总收入]

感谢您的链接,我将花一些时间分析它。然而,我认为(可能是错误的)-这里的主要问题是让SSA快速了解哪些单元格应该计算,哪些不应该。当它需要在确定每个单元格是否为空之前对其进行评估时,性能会下降。我可能只需要接受当前的性能和空白单元格(速度很快,但有空白,例如02月的dimb5是空的,因为收入是空的(非空的)。抱歉,我没有意识到网格中的单元格也应该显示运行总数。我想我被“单元格范围”所吸引了标题中的短语,只注意到粗体小计中的运行总计。