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

发布于 2025-01-03 02:43:50 字数 679 浏览 1 评论 0原文

我有一个基本仪表板,其中包含一个“网格”对象,显示按业务部门层次结构划分的跨时间的 3 个度量...

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

在此处输入图像描述

但是,当我筛选同一级别中的多个项目时,汇总值不再基于视觉总计...

在此处输入图像描述

在上图中,“全部”行中的值表示整个未过滤的业务部门层次结构的值。如果网格像启用了“VisualTotals”一样卷起来,那将是理想的...无论选择什么过滤器。在这种情况下,对于上面的第二张图片,我希望“全部”行中的值看起来像...

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

我已经考虑使用 VisualTotals() MDX 函数,但我不想自定义查询,因为我在某处读到它会降低最终用户的能力上/下/跨。

I have a basic dashboard which consists of a single "grid" object displaying 3 measures across time broken up by a business unit hierarchy...

When filtering on a single item in any of the levels in the business unit hierarchy, everything rolls up correctly...

enter image description here

However, when I filter on more than one item in the same level, the rolled up values are no longer based on visual totals...

enter image description here

In the image above, the values in the "All" row represent values for the entire unfiltered business unit hierarchy. It would be ideal if the grid rolled up as if "VisualTotals" was enabled...regardless of the filter selection. In that case, for the second image above, I would expect the values in the "All" row to look like...

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

I've considered using the VisualTotals() MDX function, but I'd prefer not to customize the query because I read somewhere that it reduces the end users' ability to dill up/down/across.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

对你的占有欲 2025-01-10 02:43:50

事实证明这就是 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>]
  )

Turns out this is just how PPS works. I ended up using profiler to capture the MDX being generated in both scenarios and PPS uses a calculated member to aggregate the multi-select (instead of using SUBSELECTs like Excel) so when the ROWS level is pieced together with the HIERARCHIZE function, you get the effect of non-visual totals...

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>...

If it used a SUBSELECT like Excel the behavior represent VisualTotals and the MDX would look like the following...

  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>]
  )
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文