如何在PerformancePoint中使用自定义MDX保留展开/折叠

如何在PerformancePoint中使用自定义MDX保留展开/折叠,mdx,performancepoint,Mdx,Performancepoint,在PerformancePoint Services(PPS)中创建仪表板时,我经常在多个领域使用自定义MDX: 自定义过滤器 自定义记分卡轴 但是,在这两种情况下,PPS都会立即放弃扩展/折叠功能(树状视图)。我使用SQL事件探查器研究了PPS发布的MDX,并试图模仿它,但没有效果 例如,MDX筛选器中的以下MDX创建了一个没有中间学期和季度的年/月层次结构: SELECT GENERATE( [Date].[Calendar].[Month].Members , {

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

  • 自定义过滤器
  • 自定义记分卡轴
但是,在这两种情况下,PPS都会立即放弃扩展/折叠功能(树状视图)。我使用SQL事件探查器研究了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结果集并最终得到一个工作树视图呢?

我认为与其使用祖先,不如使用后代

我通常在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

让我知道这对你有没有帮助