Служба анализа SQL Server (SSAS): разработка куба

Например, измерение региона имеет иерархию:

Регион 1: Северо-восток -> Дивизион 1 и Дивизион 2

Регион 2: Средний Запад (Дивизион 3 и Дивизион 4)

Регион 3: Юг (Дивизион 5, Дивизион 6, Дивизион 7)

Регион 4: Запад (Дивизион 8 и Дивизион 9)

Но в таблице фактов есть данные только по каждому отдельному подразделению, а не по региону. Поэтому, если мне нужно рассчитать общий объем продаж для уровня региона, мне может понадобиться использовать вычисляемый элемент меры.

Я написал MDX для создания вычисляемой меры. Когда я запрашиваю куб, используя регион в качестве единственного среза (фильтра), результат для всех регионов может отображаться правильно. Но если я добавлю дополнительный срез (например, год), данные будут отображаться только для определенного года (например, только 2010 г.) для всех регионов, а не для всех лет (2011-2013 гг.). Я не могу понять, что происходит и как это исправить.

Еще раз спасибо за помощь!


person user3141242    schedule 31.10.2014    source источник
comment
Можете ли вы показать рассчитанную меру и запрос, который возвращает неправильные результаты?   -  person Tab Alleman    schedule 03.11.2014
comment
В дополнение к комментариям Таба, это также сбивает с толку, когда вы говорите, что в таблице фактов есть данные только для каждого отдельного подразделения, а не для региона. Поэтому, если мне нужно рассчитать общий объем продаж для уровня региона, мне может понадобиться использовать вычисляемый элемент меры. Если в измерении, содержащем подразделение, также указан регион, службы SSAS должны автоматически вычислять итоги на региональном уровне.   -  person Michael    schedule 03.11.2014
comment
Спасибо Таб. Возвращенные результаты кажутся правильными с точки зрения значений, но некоторые из них не отображались. Я уверен, что мог сделать что-то неправильно, но просто не мог найти. Все еще отлаживаю...   -  person user3141242    schedule 05.11.2014
comment
Большое спасибо Михаил! Прошу прощения, что не четко задал вопрос, и это вызвало путаницу. Я посмотрю, сможет ли SSAS автоматически подсчитать итоги на региональном уровне. Спасибо еще раз!   -  person user3141242    schedule 05.11.2014


Ответы (1)


Вам не нужно использовать вычисляемые показатели для подобных агрегатов. Службы Analysis Services сделают это за вас. Стандартно загружать фактические данные на нижний уровень измерений, а службы Analysis Services выполняют агрегирование за вас. Именно для этого предназначено свойство AggregateFunction для каждой меры.

person FrankPl    schedule 04.11.2014
comment
Большое спасибо за Вашу помощь! Попробую. - person user3141242; 05.11.2014