PerformancePoint网格对象中的不一致的汇总行为

时间:2012-02-06 15:51:10

标签: ssas mdx performancepoint

我有一个基本的仪表板,它由一个单独的“网格”对象组成,该对象在业务单元层次结构中按时间显示3个度量...

在业务单位层次结构中的任何级别中对单个项目进行过滤时,所有内容都会正确汇总...

enter image description here

但是,当我过滤同一级别的多个项目时,累计值不再基于可视总计...

enter image description here

在上图中,“全部”行中的值表示整个未过滤业务单位层次结构的值。如果网格卷起来就好像“VisualTotals”已启用​​...无论过滤器选择如何都是理想的。在这种情况下,对于上面的第二个图像,我希望“All”行中的值看起来像......

PO E-PO Count = 3531     (497 + 3034)
PO Count =      7923     (2094 + 5829)

我考虑过使用VisualTotals() MDX function,但我不想自定义查询,因为我在某个地方读到它会降低最终用户上/下/跨越的能力。

1 个答案:

答案 0 :(得分:1)

原来这就是PPS的工作原理。我最终使用分析器捕获在两种情况下生成的MDX,PPS使用计算成员聚合多选(而不是使用像Excel这样的SUBSELECT),所以当ROWS级别与HIERARCHIZE函数拼接在一起时,你得到了非视觉总数的影响...

WITH MEMBER [Business Unit].[Segment Division Plant].[ Aggregation] AS 
Aggregate
(
  {
    [Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2520]
   ,[Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2504]
  }
) 
,SOLVE_ORDER = 0 
SELECT

...<snip>...

    Hierarchize
    (
      {
        [Business Unit].[Division Plant].[All]
       ,Descendants
        (
          [Business Unit].[Division Plant].[All],
         ,AFTER
        )
      }
    ) ON ROWS

...<snap>...

如果它使用类似Excel的SUBSELECT,行为代表VisualTotals,MDX将如下所示......

  FROM 
  (
    SELECT 
      {
        [Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2504]
       ,[Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2520]
      } ON COLUMNS
   FROM [<cube name>]
  )