У меня есть расчетная мера в службах Analysis Services, которая возвращает средний дневной доход для местоположения на основе их последних трех периодов. Периоды — это промежутки времени, определяемые местоположением, поэтому одно местоположение может закрывать свои периоды ежемесячно, а другое — ежеквартально.
Чтобы вернуть средний дневной доход, у меня есть таблица factPeriods, которая возвращает доход за период и количество дней, входящих в этот период. Следующие многомерные выражения возвращают правильные значения на уровне местоположения ([Меры].[Дни в AR днях]) / ([Меры].[Дни в AR днях]).
Проблема заключается в том, что когда я перехожу к более высоким уровням, скажем, я хочу вернуть средний дневной доход по штатам, расчет будет неверным, поскольку он сначала суммирует дни, входящие в периоды, а затем делит. Я хочу, чтобы усреднение происходило сначала на самом низком уровне, а затем суммировало результаты среднесуточной выручки. Вот пример того, что происходит по сравнению с тем, что я хотел бы, чтобы произошло.
Скажем, у меня есть только два офиса, А и Б. А закрывается ежемесячно, Б закрывается ежеквартально. Результаты последнего закрытия:
Место/Доход/Дни, приносящие доход
Местоположение A / 3000 долларов США / 30 дней Место B / 1800 долларов США / 90 дней
Местоположение A приносит доход в размере 100 долларов США в день, а местоположение B — только 20 долларов США в день. Моя общая сумма должна быть 120 долларов в день. Вместо этого он будет возвращать 40 долларов в день. Вот что происходит на уровне вычислений.
Я хотел бы, чтобы формула была в псевдокоде SUM(([Measures].[Days In AR Charges]) / ([Measures].[Days In AR Days]))
но на самом деле это дает мне (СУММ([Показатели].[Дни в зарядах AR])) / (СУММ([Показатели].[Дни в днях AR]))
Может ли кто-нибудь помочь мне определить соответствующую формулу, чтобы сделать эту работу по желанию? В итоге должно получиться 100 долларов в день + 20 долларов в день, а не 4800 долларов за 120 дней. У меня есть подозрение, что мне может понадобиться использовать потомков, но я не совсем понимаю, как я буду их использовать, или если это даже правильное направление.