MDX: использование различного количества в YTD для вычисляемого члена - PullRequest
0 голосов
/ 28 декабря 2011

Я создал новую меру, которая учитывает различные политики (эта мера называется FK Policy Distinct Count).

Затем я создал новый вычисляемый элемент с именем CountPolicyEndorsesNull, который считает все политики из FK Policy Distinct Count, используя фильтр:

(([Policy].[Endorses].&[0],[FK Policy Distinct Count]).

Чем я создал новый вычисляемый элемент с именем CountPolicy:

SUM(EXCEPT([Policy].[Policy Status].[Policy Status],[Policy].[Policy Status].&[Void]), [Measures].[CountPolicyEndorsesNull])

Далее я создал новый элемент CountNewBound

SUM(
    {
        [Submission].[Tran Type].&[New], [Submission].[Tran Type].&[Developed]
    }, 
    [Measures].[CountPolicy]
)

И, наконец, YTDCountNewBound

SUM(YTD([Invoice Date].[Date Hierarchy].CurrentMember), [Measures].[CountNewBound])

Очевидно, что в этом случае функция SUM не работает.Любая идея, как сделать правильный счет YTD для вычисляемого члена?

enter image description here

1 Ответ

0 голосов
/ 02 января 2012

Отличительный счет - это особая мера, которой нужно управлять с большей осторожностью.Рациональное обоснование этого заключается в том, что при оценке меры набор предыдущих значений сохраняется в памяти.Чтобы улучшить производительность, эта структура не передается, и она быстро преобразуется в скалярное значение.

Возвращаясь к вашей проблеме:

Отличное число можно оценить по кортежу без проблем, ноу вас возникнут проблемы, как только вы попытаетесь оценить набор кортежей.Возможным, но дорогостоящим и не всегда возможным является создание иерархии значений, чтобы вы могли преобразовать свой набор в элемент измерения.

В вашем случае вместо использования YTD ([Дата выставления счета]. [Date Hierarchy] .CurrentMember) с использованием другой иерархии -> [Invoice Date]. [YTD Date Hierarchy].

Все это зависит от конкретной используемой вами реализации OLAP, но я полагаю, что это верно в основном для всехПоставщики OLAP.

...