#sql-server #ssas
#sql-сервер #ssas
Вопрос:
У нас есть OLAP-куб, который содержит финансовую информацию о наших офисах. В базовых таблицах мы рассчитываем этапы жизненного цикла офисов, используя средний недельный доход каждого офиса. Фазы жизненного цикла рассчитываются на уровне даты окончания недели. Например: изображение
Вот многомерное выражение, которое генерирует приведенный выше пример:
SELECT NON EMPTY { [Measures].[Current Period Revenue] } ON COLUMNS,
NON EMPTY { ([04 - Office - Financial].[Office Name and Number].[Office Name and Number].ALLMEMBERS * [01 - Journal Date].[Quarter].[Quarter].ALLMEMBERS * [01 - Journal Date].[Week Ending Date].[Week Ending Date].ALLMEMBERS * [04 - Office Lifecycle].[Office Life Cycle Phase].[Office Life Cycle Phase].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [01 - Journal Date].[Year].amp;[2020] } )
ON COLUMNS FROM ( SELECT ( { [04 - Office - Financial].[Office Name and Number].amp;[Office A] } )
ON COLUMNS FROM [GL Cube]))
WHERE ( [01 - Journal Date].[Year].amp;[2020] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
В кубе office и жизненный цикл office — это два разных измерения. В приведенном выше примере Office A проходит две разные фазы до Qtr 2 2020: фаза 1 и фаза 2. Дата окончания последней недели Qtr 2020 показывает фазу 2 для этого офиса.
Когда мы извлекаем дату окончания недели из сводной таблицы, куб снова показывает фазу 1 и фазу 2 для Qtr 2 2020:
Многомерные выражения:
SELECT NON EMPTY { [Measures].[Current Period Revenue] } ON COLUMNS,
NON EMPTY { ([04 - Office - Financial].[Office Name and Number].[Office Name and Number].ALLMEMBERS * [01 - Journal Date].[Quarter].[Quarter].ALLMEMBERS * [04 - Office Lifecycle].[Office Life Cycle Phase].[Office Life Cycle Phase].ALLMEMBERS ) }
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM ( SELECT ( { [01 - Journal Date].[Year].amp;[2020] } )
ON COLUMNS FROM ( SELECT ( { [04 - Office - Financial].[Office Name and Number].amp;[Office A] } )
ON COLUMNS FROM [GL Cube]))
WHERE ( [01 - Journal Date].[Year].amp;[2020] ) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
Есть ли способ настроить куб таким образом, чтобы он отражал только фазу жизненного цикла office последней недели квартала? В этом случае сводная таблица будет выглядеть следующим образом:
изображение
Есть ли способ добиться такого динамического поведения измерений в кубе?
Комментарии:
1. Можете ли вы предоставить общий доступ к запросу DAX или MDX, который вы используете для генерации этой матрицы?
2. привет @vvvv4d Я добавил многомерные запросы к вопросу, спасибо!