2017-02-05 6 views
0

売上の分散レベルと分散のパーセンテージを計算するクエリを作成しました。しかし、私のクエリは、私がCostSalesメジャーに対してテストしようとするたびにNULLを返します!Parallel Period on SalesVariance 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

このcalcの名前は何ですか? [Measures] [ParallelPeriodFactSalesVariance]と[Measures]の定義は何ですか?[ParellelPeriodFactSales]? – GregGalloway

+0

ParellelPeriodFactSalesの計算式は、Sales AmountとParallel Period Internet Sales Amountから同じ月に1年間優先されます。第2の[対策] [コストセールス] - [対策] [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です:?それはその後、ある場合にだけ、このカスタム・メンバーを変更してみてくださいこれは問題ですが、Gregのコメントによると、この2つの尺度のコードを見る必要があることが示唆されています。コンテキストが重要なので、コードが使用されている場所の完全なスクリプトを見ることもできます。

+0

あなたが提案したとおり、全体の対策が変更され、機能しました。そして、私は最後のコードを追加しました:[Measures]。[ParallelPeriodFactSalesVariance]/[Measures]。[ParellelPeriodFactSales]そして驚くほど十分なコードは魅力的に機能しました。ご回答いただきありがとうございます – Dodi

+0

ok - 上記は診断用のものに過ぎませんでした。喜んで驚いたのですが、答えは – whytheq

+0

でした。私は送信したコードを実装し、それを展開しました。それから、前回のコードを変更して前のコードに変更し、デプロイメントボタンを実行しました。再度、感謝します – Dodi