2015-05-04 25 views
0

我在我的excel/powerpivot儀表板中出現了一種情況,我想爲其計算下列收入漏斗的值:去年同月。PowerPivot功能/目標年切片器問題

要做到這一點ParallelPeriod功能對我來說非常適合,但是結果只顯示今年和去年在我的Year切片機中打上標記時的結果。

例如:要計算4月份儀表板的價值,我還需要對去年同期進行比較。

2015年4月VS 2014年4月:

SAME MONTH Last Year:=CALCULATE(sum([Rev. wgt (k$)]),PARALLELPERIOD(DimDate[Date],-12,MONTH)) 

,然後我比較這個月:

This Month vs Same Month LY:=((sum([Rev. wgt (k$)])- ([SAME MONTH Last Year]))/[SAME MONTH Last Year]) 

要計算2014年4月,我用的是ParallelPeriod功能。但要在儀表板中獲得價值,除了在年份限制器中選擇多個年份組合以獲取結果之外,我沒有其他選擇。 (請參見圖片)

我想避免使用Year切片器,並希望切片器僅將當前年份(2015)選爲結果。我不希望2014年被標記,因爲它改變了我每年的其他觀點。

因此,他們有什麼方法可以僅使用幾個月或任何其他公式來顯示「去年同月」的結果,而無需在年份限制器中標記上一年(2014年)?我想避免使用目標年限制器來返回值。

任何建議,指導將不勝感激。

回答

0

如果您使用的是標準的日曆,你可以這樣做:

Same Period Last Year:=CALCULATE(SUM('FactTable'[Rev. wgt (k$)]), 
         SAMEPERIODLASTYEAR('Date'[Date])) 

這將實際工作是否需要,去年,去年去年同季,或同一個月。

Here是一個答案,我提供了與去年同期計算略有不同的答案。 A中的DAX時間比較計算的很好的解釋可以在http://www.daxpatterns.com/time-patterns/

我的公式來發現銷售的同一個月前一年是:

Sales Same Month Prior Year:=CALCULATE([Total Sales], Filter(All('Sale Date'), 
'Sale Date'[Month Seq] = max('Sale Date'[Month Seq])-12)) 

我不得不使用這個公式,因爲我的會計日曆是不一樣的作爲正常的日曆年。 DAX模式鏈接和我對其他SO問題的答案解釋了月份Seq字段。

請注意,無論您在當前月份的哪個位置,並行期間將始終返回整個期間。這可能是也可能不是理想的行爲。從MSDN

的PARALLELPERIOD功能類似,除了 DATEADD函數即PARALLELPERIOD總是返回在給定 粒度級別而不是DATEADD返回部分時段完整週期。 例如,如果您選擇的日期起始於6月10日 並在同年6月21日結束,並且您希望將該 選擇向前移動一個月,那麼PARALLELPERIOD函數將返回從 開始的所有日期下個月(7月1日至7月31日);但是,如果 DATEADD來代替,那麼結果將只包括日期從7月10日至 7月21日

+0

我可以看到你所建議。但我想指出一點,我的數據源的問題是,一切都取決於日期表中的Rep。Month,並且與其對應的日期表僅顯示與Rep。Month相對應的日期。日期表在數據中沒有365天的日期,這意味着智能功能將不起作用。是他們的一個函數,我可以嘗試或使用,而不使用智能函數來計算去年同期?那麼什麼可能是公式,任何想法?提前致謝。 – Segal

+0

你的日期表的意思是什麼,你沒有365天的日期?另外,請看看我的公式,在去年同期不使用sameperiodlastyear()。如果您將序列號添加到日期表中,那將起作用。 – mmarie

+0

此外,請參閱http://www.powerpivotpro.com/2011/11/the-ultimate-date-table/爲什麼你應該有一個好的日期表,以及從哪裏得到一個免費的日期表。 – mmarie