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