2017-02-05 118 views
0

我創建了一個查詢,它可以計算銷售額的方差水平和方差百分比。但是,每當我嘗試對CostSales度量進行測試時,我的查詢都會返回NULL!並行銷售額變動期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計算公式爲銷售金額加上並行期間互聯網銷售金額,從同一個月的1個月開始計算。而第二個[Measures]。[CostSales] - [Measures]。[ParallelPeriodFactSales] – Dodi

回答

1

如果您沒有收到返回0,那麼我認爲有一個與[Measures].[ParallelPeriodFactSalesVariance]/[Measures].[ParellelPeriodFactSales]

兩個診斷問題,您可以運行是:

1.更改整個措施是:

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],並且令人驚訝的是代碼的功能非常魅力。非常感謝您的回覆,並感謝Greg的澄清。 – Dodi

+0

好 - 上面只是作爲診斷 - 愉快地感到驚訝它爲你工作作爲答案 – whytheq

+0

我認爲該解決方案沒有正確部署工作。我實現了你發送的代碼,然後部署它。然後,我通過更改最後一個代碼並將其更改爲我之前的代碼,並運行了部署按鈕並且它能夠工作再次感謝 – Dodi

相關問題