我正在研究從OLAP多維數據集獲取其數據的SSRS報表。在OLAP多維數據集中,我有一個名爲WeekOfYear的字段,該字段給出了基於日期的年份的星期數。例如,1月1日的第1周(如果1月1日是週一)和1月8日的第2周。我的數據按該字段分組,但現在我希望能夠比較一年中的本週和上一年的一週中的數據。就像比較2015年的第1周到2014年的第1周。是否有我能做到的呢?我感謝任何幫助。謝謝。SSRS比較周與前一年的同一週數
回答
有一個LookUp函數應該能夠做你需要的。
你提到你有一個WeekOfYear字段。這還假定你有一個年場(或者可以用** YEAR(領域!YouDateField.Value)計算的話)
=LookUp(Fields!YourYearField.Value - 1 & "|" & Fields!WeekOfYear.Value, Fields!YourYearField.Value & "|" & Fields!WeekOfYear.Value, Fields!YourValueField.Value, "YourDataSet")
如果你實際上是從你的立方體總結多行數據,您需要使用LookUpSet獲取所有值並將它們與自定義函數相加(因爲Microsoft不可能設想用戶想要SUM多個記錄)。幸運的是,用戶已經創建了一個功能 - SumLookup。如果需要,請參閱How to combine aggregates within a group with aggregates across groups within SSRS。
嗨漢諾威,我還沒有得到它。我的報告按商店分組,我有一個按年份和星期分組的列組。我正在嘗試在其旁邊的另一個年份組中獲得一週,但是按前一年的同一週數進行分組。任何想法如何做到這一點? – user3294748
如果您有權訪問OLAP多維數據集並可以對其進行編輯,則可以在多維數據集上定義一個新的計算度量。這將如何工作取決於您的日期層次結構的設置。您還可以在報表構建器/ Visual Studio中構建數據集時通過查詢設計器訪問此項並定義計算度量值。
右鍵單擊多維數據集瀏覽器並選擇「新計算成員」。
跨年報告對周可能是困難的,由於這樣的事實,7號不適合整齊地成365或366,所以你總是有一點結束了52周。由於1月1日可能是一個星期日的一年,下一個星期二(2012/2013),直接比較這些並不總是一個好主意。所以人們可以通過定義一年中的7天周與他們的日期維度來解決這個問題。一年你可能有52個星期,另一個你有53個。這是一個小題目,所以我將鏈接到一個explanation of this here,但重要的是要意識到這一點,以實施我的建議。
假設您的日期維度上有一個很好的層次結構,可以將Weeks集合到Year級別,則可以使用ParallelPeriod函數在您的多維數據集中創建一個新度量。
[Measures].[SalesSPLY] AS
(
ParallelPeriod
(
[Dim Date].[ReportingCalendar].[ReportingYear],
1,
[Dim Date].[ReportingCalendar].CurrentMember
),
[Measures].[Sales]
)
我的例子MDX假定你已經有了一個層次叫ReportingCalendar您的日期維度創建。你的名字可能會有所不同。
現在,如果您瀏覽多維數據集並選擇WeekOfYear,Sales和SalesSPLY,那麼您將在今年的第1周以及去年的數據中看到您的價值。
OLAP立方體非常擅長這種類型的基於時間的智能,因爲它們可以以在RDBMS中或SSRS本身內運行速度較慢的方式快速提供聚合和偏移數據。
我試過了,但我得到的是空值。任何想法可能是什麼? – user3294748
這可能是由於日期維度中層次結構的設置所致。如果您的周和年屬性之間沒有自然聯繫,那麼它將無法跳回一年。我的答案中的鏈接提供瞭如何設置層次結構以使用新的「ReportingYear」類型屬性的解釋。 – GShenanigan
- 1. MySQL - 本週與去年同一週比較
- 2. 從本週比較財務數據爲去年同一週
- 3. 獲取週一和週日以及去年的週一和週日,同一周
- 4. Teradata SQL同一周前一年的同一日
- 5. 一年有52.17周。如何計算C#中的當前週數?
- 6. 一年的周jqplot數
- 7. 從當年的當周減去一週
- 8. 如何找到一年前同一周的日期?
- 9. 獲取前幾年這一週同一天的信息
- 10. 得到從一年中的一週年
- 11. Datepart周Sql(以53周爲一年)
- 12. PHP - 獲得一個給定的週數的第一天,當週上比周一
- 13. 數據表與本週和這些日期一年前
- 14. 輸出一週中某些列的總和,一年中一週,一週的日期與日期一致
- 15. 確定今年的一週
- 16. D3年的一週錯誤?
- 17. 滑動周比較
- 18. Django查詢去年同一週
- 19. 比較今天的日期時間以匹配當前月份的週日(週一,週二等)
- 20. 52周與運行一週數據滾
- 21. dateformat中的一年的週數
- 22. SSRS:前5名週末
- 23. moment.format()當前返回當前年份的上一週的下一年的日期
- 24. 周重疊一年SQL
- 25. 計算一年中的週數(0-53)
- 26. 瞬間JS得到一年的週數
- 27. Mysql查詢並排比較過去3年的每週數據
- 28. 拆分過去兩週的數據爲當前和前一週
- 29. SQL前一週總
- 30. 計算前一週
您的OLAP多維數據集是使用SSAS構建的嗎?您在報告中試圖完成此任務而不是在您的多維數據集中定義計算指標的原因? – GShenanigan
你可以向我解釋如何做GShenanigan? – user3294748