试图检查每个销售员的销售额的用户。样本数据:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 2250
看起来不错,但是多维数据集中具有以下层次结构Company > Class > Group > Subgroup
,并且如果用户尝试在过滤器中使用此层次结构-总计总计会失败(如果未在此层次结构中选中任何属性)。样本:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350
在我们尝试过滤Date属性之前,我已经注意到了相同的问题,如果不是每月中的每一天都被选择,那么它也会显示错误的总计。
您知道它为什么会发生以及如何解决吗?
销售额是物理度量(不是计算得出的度量),是从SQL视图中选择的(每个事实都相同)。
我问了同样的问题here,但没人能回答。
我尝试删除所有MDX计算(范围),但总计总计仍然不正确。
编辑
我注意到在进行这样的过滤时会出现问题:
如上图所示,从层次结构的第一级中选择1个元素,从层次结构的第二级中选择1个元素,从层次结构的第三级中选择1个元素。
如果未过滤第3级,则表示总计不错。
编辑2
我试图在SSAS上进行跟踪,它返回的输出与Excel中的输出完全相同。在行上使用Salesperson维度时,它将生成以下MDX:
SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS,
NON EMPTY { ([Salesperson].[Salesperson].[Salesperson].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION,
MEMBER_UNIQUE_NAME ON ROWS FROM (
SELECT ( { [Item].[Class - Group - Subgroup].[Class].&[XXX]&[1.],
[Item].[Class - Group - Subgroup].[Group].&[XXX]&[2.]&[2.2.],
[Item].[Class - Group - Subgroup].[Subgroup].&[XXX]&[2.]&[2.3.]&[2.3.1.] }
) ON COLUMNS FROM ( SELECT ( { [Company].[Company].&[XXX] } ) ON COLUMNS
FROM [Sales]))
WHERE ( [Company].[Company].&[XXX], [Item].[Class - Group - Subgroup].CurrentMember ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
此MDX生成时没有Salesperson维度:
SELECT NON EMPTY { [Measures].[Sales Amount] } ON COLUMNS
FROM ( SELECT ( { [Item].[Class - Group - Subgroup].[Class].&[XXX]&[1.],
[Item].[Class - Group - Subgroup].[Group].&[XXX]&[2.]&[2.2.],
[Item].[Class - Group - Subgroup].[Subgroup].&[XXX]&[2.]&[2.3.]&[2.3.1.] } ) ON COLUMNS
FROM ( SELECT ( { [Company].[Company].&[XXX] } ) ON COLUMNS
FROM [Sales])) WHERE ( [Company].[Company].&[XXX], [Item].[Class - Group - Subgroup].CurrentMember ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
即使在行中没有使用任何维度(在上面的示例中,我使用Salesperson维度),我也注意到它显示了总计错误。
例如,它显示:
Sales Amount
350
并且在行上使用Salesperson维度时:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350
答案 0 :(得分:0)
我怀疑您在销售金额上设置了异常的汇总功能,例如ByAccount,AverageOfChildren。它可能应该使用Sum。检查“销售额”度量的属性。
答案 1 :(得分:0)
我想换一个角度,建议不是问题所在的是SQL / SSAS,而是Excel。在具有小计和总计的数据透视表中,总计不是由多维数据集计算,而是由客户端应用程序计算。我已经经历了几次,发现这是Excel的已知问题。该解决方案通常涉及在Excel中创建一个新的计算字段以提供总计。特别是在Excel是其他用户访问多维数据集的首选客户端应用程序的情况下,这尤其令人沮丧。如果可以安慰的话,我在Tableau等其他工具中也经历过一两次,但是出于不同的原因使用不同的解决方案。
此处是指向Microsoft KB的链接,用于确认该问题。影响版本2003-2019 !!!