Отфильтруйте иерархию MDX, однако по-прежнему показывает общее количество отпусков - Ragged Hierarchy?
Следующий запрос
ВЫБЕРИТЕ { [Меры]. [Комп. Деньги в] } НА СТОЛБЦЕ, { ( [Dim User].[UserLevel1].[UserLevel1].AllMembers * [Dim User].[UserLevel2].[UserLevel2].AllMembers * [Dim User] ].[UserLevel3].[UserLevel3].AllMembers * [Dim User].[UserLevel4].[UserLevel4].AllMembers * [Dim User].[UserLevel5].[UserLevel5].AllMembers) } НА СТОРОНАХ ОТ [Деятельности] ГДЕ ( [Dim User].[UserIdHierarchy].[UserLevel1Id].&[#513], [Dim User].[UserTypeHierarchy].[UserTypeLevel1].&[Коммерческий партнер]. & [Агент]) Значение свойств CELL
Выводит следующий результат:
Моя проблема заключается в том, что, поскольку я фильтрую [Dim User].[UserTypeHierarchy], отображаемые значения показателей относятся только к тем, которые имеют тип как [Коммерческий партнер]. & [Агент]. Мне бы хотелось, чтобы, несмотря на то, что я показываю дерево пользователей, показанные цифры показывают все меры, как если бы они были как потомки ([Иерархия], 0, self_and_after).
Как мне этого добиться? Я уже пытался использовать вычисляемые элементы, но показанные цифры не агрегируют потомков всех типов пользователей в иерархии [Dim User]. [UserTypeHierarchy].
Чтобы объяснить себя лучше, следующее изображение без фильтра типа пользователя:
Итак, мой желаемый результат, это первое изображение, где я показываю только пользователей типа коммерческого партнера, но цифры 2-го изображения, например, так
513 покажет все цифры, объединяющие потомков
100310 покажет все цифры, объединяющие всех пользователей под ним на 3-м уровне
Так на четвертом.
2 ответа
Это решение:
С ЧЛЕН [Измерения]. [Тест] КАК 0 ВЫБРАТЬ { [Тестовое задание] } ON 0, НЕ ПУСТО { фильтр ( {[dim user].[userhierarchy].[userlevel1].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel2].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel3].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel4].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel5].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel6].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel7].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel8].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel9].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1), фильтр ( {[dim user].[userhierarchy].[userlevel10].allmembers },[dim user].[userhierarchy].currentmember.children.count > 1) } ON 1 ОТ [Деятельность]
Я не фильтрую по родительским типам пользователей, но воспитываю тех пользователей, у которых число детей больше 1.
Куб [Активности] настроен неправильно. При запросе одного уровня он должен показывать значения самого себя и своих потомков (например, "Country Shop 1" должен показывать 19). Это должно быть частью правил агрегации в кубе. Значение, отображаемое сейчас у родителей куба (например, Country Shop 1 €6), должно отображаться в дополнительной группе отдыха, созданной автоматически как дополнительный ребенок для каждого родителя.
Итак, простой MDX для этого куба будет:
SELECT {
[Measures].[In]
} ON COLUMNS,
{
DESCENDANTS([Dim User].[UserTypeHierarchy].[UserTypeLevel1],0,SELF_AND_AFTER)
}
from [Activities]
Покажите все регионы, страны и магазины с правильными агрегированными значениями.
Приветствует фил