用户试图检查每位销售人员的销售额。示例数据:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 2250
看起来没问题,但在立方体中我们有以下层级结构 公司 > 班级 > 组 > 子组
如果用户尝试在过滤器中使用此层次结构,则总计失败(如果在此层次结构中取消选中任何属性)。 示例:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350
在之前我们尝试过筛选日期属性时也遇到相同的问题,如果没有选择每个月的每一天,总计会显示错误。
您有什么想法为什么会这样,如何解决?
Sales Amount是一个实际的度量(不是计算出来的度量),它是从SQL视图中选择的(每个指标都是如此)。
我在这里问了同样的问题,但没有人能回答它。
我尝试删除所有MDX计算(范围),但总计仍然不正确。
编辑
我注意到当进行如下筛选时会出现问题:
像上面的图像一样从层次结构的第一级选择1个元素,从第2级选择1个元素,从第3级选择1个元素。
如果没有筛选第三级,则显示正确的总计。
编辑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:
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尺寸),它仍会显示错误的Grand Total。
例如,它会显示:
Sales Amount
350
当在行上使用销售员维度时:
Salesperson Sales Amount
001 1000
002 500
003 750
Grand Total: 350