2017-04-12 56 views
0

我正在SSAS中開發一個立方體,我需要能夠比較今年和去年之間的YTD值。SSAS比較不同年份的同一月份的2個YTD值

我有以下情況:

  • 經濟類型由一年:budget1-2016budget2-2016budget1-2017budget2-2017
  • 預算類型應放置在列
  • 單位:應放置在各行
  • 該措施被稱爲「比林斯」

我需要爲「佈告」比較YTD值之間預算「預算1 - 2016」和「預算2-2017」(不同的預算類型和年份)。

當包括在行或列的一切日曆月工作正常,Expected Result

,但如果它被包含在過濾器中,我選擇例如2016年2月,二月2017年,結果並不如預期。

enter image description here enter image description here

與尾功能的使用,只越高月考慮到和從2016柱被移除。

有沒有辦法將日曆月份放入篩選器,從不同年份選擇同一月份並能夠看到他們的YTD值?

+0

你使用任何計算上的措施。比林斯? –

+0

我正在使用表達式來衡量:_Billings = _Billings *費率 。 YTD值計算如下: Sum(PeriodsToDate([Data Date]。[Calendar]。[Calendar Year],[Data Date]。[Calendar] .CURRENTMEMBER),[Measures]。[Billings]) –

回答

0

問題是你把兩個成員放在過濾器中。 CurrentMember不適用於兩個元組。因此[數據日期]。[日曆] .CurrentMember[數據日期]。[日曆] .DefaultMember[數據日期]。[日曆]。[全部]。它運行下面的代碼:

Sum(
    PeriodsToDate(
     [Data Date].[Calendar].[Calendar Year], 
     [Data Date].[Calendar].[All] 
    ), 
    [Measures].[_Billings] 
) 

您正在選擇2個月從不同的年份,因此目前還不清楚,你想從PeriodsToDate()函數返回的內容。自2016年1月或2017年1月以來的數據?選擇其中一位會員將解決您的問題並說清楚。

我不保證是完美的代碼工作,但它可能不會魔法爲好,添加另一個計算的成員來概括月:

Sum(
    existing [Data Date].[Month].[Month].Members, 
    [Measures].[Billings] 
) 
+0

我需要2016年1月以來的預算數字爲2016年1月以及2017年1月以後的數據爲2017年預算。總之,我需要比較2016年的預算1與2017年的預算2在2017年的同一月份的年初至今值。 –

+0

如果你添加第三個成員,比如2016年7月。它會返回所有這些樹成員的總和嗎?這意味着2016年1月的計費價值將包括兩次。我覺得你的想法是錯誤的。我用一個骯髒的解決方法更新了我的答案,但嘗試考慮另一種處理方法。 –

+0

解決方法也沒有啓動。無需再實施了。在列或行中添加日曆月份對於客戶端來說足夠了。 –

相關問題