MDX-вычисления с использованием нескольких элементов измерения времени

У нас есть куб OLAP со следующими измерениями: Ship_Date, Product, Customer. Мерами являются Единицы, Стоимость, Прайс-лист, Цена продажи.

Мы хотим настроить расчеты стоимости / единицы, цены по прейскуранту / единицы и цены продажи, как показано ниже:

[Measure].[Cost]/[Measure].[Units]

Это работает с одноразовыми элементами (Все даты отгрузки, 2016, январь 2016 и т. Д.), Но когда выбрано несколько элементов, таких как 2016 и 2015 или январь 2016 и февраль 2016 года, вычисление не выполняется правильно, что мы считаем суммируя соотношения вместо расчета по суммам.

Я попробовал приведенные ниже расчеты с похожими результатами:

SUM([Ship_Date].CurrentMember.Level.Members,[Measure].[Cost]) / 
SUM([Ship_Date].CurrentMember.Level.Members,[Measure].[Units])

SUM(Descendants([Ship_Date].CurrentMember, [Month]), [Measure].[Cost]) / 
SUM(Descendants([Ship_Date].CurrentMember, [Month]), [Measure].[Units])

Aggregate(Descendants([Ship_Date].CurrentMember, [Date]), [Measure].[Cost]) / 
Aggregate(Descendants([Ship_Date].CurrentMember, [Date]), [Measure].[Units])

Я очень новичок в MDX - может кто-нибудь указать мне правильное направление?

1 ответ

Возможно, попробуйте поиграть с помощью метода расчета_счета: https://msdn.microsoft.com/en-us/library/ms145539.aspx

DIVIDE(
   [Measure].[Cost]
  ,[Measure].[Units]
)
, SOLVE_ORDER = 1  //<<also maybe try -1 or -6500
Другие вопросы по тегам