Ssas 运行总计仅覆盖包含数据的单元格范围
使用图解模型 (注意,并非所有DimB成员都显示,因此DimA的总数大于显示的DimB的总和,请忽略此项): 查询正在从多维数据集显示0上的(月、收入)和1上的(dima、dimb) 我希望在创建计算成员时获得一些帮助,该成员将计算此处“月”的运行总数(不是实时维度) 之前我用过这个,但它在很多方面都是错误的:Ssas 运行总计仅覆盖包含数据的单元格范围,ssas,mdx,Ssas,Mdx,使用图解模型 (注意,并非所有DimB成员都显示,因此DimA的总数大于显示的DimB的总和,请忽略此项): 查询正在从多维数据集显示0上的(月、收入)和1上的(dima、dimb) 我希望在创建计算成员时获得一些帮助,该成员将计算此处“月”的运行总数(不是实时维度) 之前我用过这个,但它在很多方面都是错误的: [Measures].[Accumulated Revenue] = IIF( ([DimMonths].[Months].CurrentMember,[Measur
[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是空的,因为收入是空的(非空的)。抱歉,我没有意识到网格中的单元格也应该显示运行总数。我想我被“单元格范围”所吸引了标题中的短语,只注意到粗体小计中的运行总计。