2017-02-05 7 views
0

Я создал запрос, который вычисляет уровень отклонения по продажам и процент от дисперсии. Тем не менее, мой запрос возвращает NULL всякий раз, когда я пытаюсь проверить значение меры CostSales!Параллельный период по продажамVariance MDX

IIF(

    IsEMPTY(
      (
      ParallelPeriod 
        (
        [Time].[CalendarSales].[CalendarYear], 
        1, 
        [Time].[CalendarSales].CurrentMember 
        ),[Measures].[CostSales] 
      ) 
     ) 
OR 
      (
      ParallelPeriod 
        (
        [Time].[CalendarSales].[CalendarYear], 
        1, 
        [Time].[CalendarSales].CurrentMember 
        ),[Measures].[CostSales] 
      )=0 
, 
0, 
[Measures].[ParallelPeriodFactSalesVariance]/[Measures].[ParellelPeriodFactSales] 
) 

Любая идея о том, что я делаю неправильно здесь?

+0

Каково название этого бюллетеня? Что такое определение [Measures]. [ParallelPeriodFactSalesVariance] и [Measures]. [ParellelPeriodFactSales]? – GregGalloway

+0

Формула расчета ParellelPeriodFactSales представляет собой сумму продаж плюс параллельный период. Объем продаж в Интернете за тот же месяц 1 год prioR. В то время как вторая [Measures]. [CostSales] - [Measures]. [ParallelPeriodFactSales] – Dodi

ответ

1

Если вы не получаете 0 вернулся, то я бы предположить, что существует проблема с [Measures].[ParallelPeriodFactSalesVariance]/[Measures].[ParellelPeriodFactSales]

Две диагностики можно запустить следующие:

1.Change все меры к этому:

IIF(

    IsEMPTY(
      (
      ParallelPeriod 
        (
        [Time].[CalendarSales].[CalendarYear], 
        1, 
        [Time].[CalendarSales].CurrentMember 
        ),[Measures].[CostSales] 
      ) 
     ) 
OR 
      (
      ParallelPeriod 
        (
        [Time].[CalendarSales].[CalendarYear], 
        1, 
        [Time].[CalendarSales].CurrentMember 
        ),[Measures].[CostSales] 
      )=0 
, 
0, 
999 
) 

Я бы предположил, что возвращается 999. Если затем попытаться изменить пользовательский элемент только это:

[Measures].[ParallelPeriodFactSalesVariance]/[Measures].[ParellelPeriodFactSales] 

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

+0

Я изменил всю меру, как вы это предлагали, и она сработала. Затем я добавил последний код: [Measures]. [ParallelPeriodFactSalesVariance]/[Measures]. [ParellelPeriodFactSales] и, как ни странно, код работал как шарм. Большое спасибо за ваш ответ и благодарим Грега за разъяснения. – Dodi

+0

ok - выше было предназначено только для диагностики - с радостью удивил, что это сработало для вас как ответ – whytheq

+0

Я думаю, что решение не развернуло работу должным образом. Я реализовал код, который вы отправили, а затем развернул. Затем я изменил его на свой предыдущий код, изменив последнее и запустив кнопку развертывания, и это сработало! еще раз спасибо – Dodi