Как сохранить развернуть / свернуть с помощью пользовательского MDX в PerformancePoint - PullRequest
0 голосов
/ 22 июля 2011

При создании панели мониторинга в PerformancePoint Services (PPS) я часто прибегаю к настраиваемому MDX в нескольких областях:

  • Настраиваемые фильтры
  • Настраиваемые оси оценочных карт

Однако в обоих случаях PPS немедленно отбрасывает возможность развертывания / свертывания (древовидное представление).Я исследовал MDX, выпущенный PPS с использованием SQL Profiler, и попытался имитировать его безрезультатно.

Например, следующий 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 и в итоге получаете рабочее представление дерева?

1 Ответ

1 голос
/ 02 декабря 2011

Я думаю, что вместо использования Предков просто используйте Потомков.

Я обычно использую эту структуру в моих фильтрах 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.

Дайте мне знать, если это помогло или нет, что вы ищете.

...