0

在 PerformancePoint Services (PPS) 中创建仪表板时,我经常在多个方面使用自定义 MDX:

  • 自定义过滤器
  • 自定义记分卡轴

但是,在这两种情况下,PPS 都会立即放弃展开/折叠功能(树视图)。我已经使用 SQL Profiler 探索了 PPS 发布的 MDX,并试图模仿它无济于事。

例如,MDX 过滤器中的以下 MDX 创建没有中间学期和季度的年/月层次结构:

SELECT GENERATE(
  [Date].[Calendar].[Month].Members
  , {
      Ancestors([Date].[Calendar].CurrentMember, [Date].[Calendar].[Calendar Year])
    , Ancestors([Date].[Calendar].CurrentMember, [Date].[Calendar].[Month])
    }
  )
DIMENSION PROPERTIES MEMBER_TYPE ON 0
FROM [Adventure Works]

这会生成正确排序的年份和月份列表。但是,尽管选择“树视图”作为过滤视图类型,但没有保留树视图功能。

那么,您如何为 PPS 提供 MDX 结果集并最终获得工作树视图?

4

1 回答 1

1

我认为不要使用祖先,而是使用后代。

我通常在我的 PPS 过滤器中使用这种结构,它为您提供树形视图:

NonEmpty(
    Order(
        Descendants(
            [Date].[Fiscal Calendar].[All].Children, 
            [Date].[Fiscal Calendar].[Month], 
            SELF_AND_BEFORE), 
        [Date].[Fiscal Calendar].CurrentMember.Member_Key, 
        DESC)
    )

结果是有数据的年\月。后裔非常好用。在 PPS 过滤器表达式中,CurrentMember 脱离了上下文。那时您没有 CurrentMember。

让我知道它是否有帮助或没有你所追求的。

于 2011-12-01T21:23:22.943 回答