1
A
回答
0
讓我們假設你有[年],[月]和[日]級別的[時間]維度。
如果
SELECT
[Time].[Jan 2015]:[Time].[Dec 2015] on 0,
[Measures].[Sales] on 1
FROM
[Cube]
返回的2015年所有月份的銷售,我們可以添加一個計算的措施,以獲得比:
WITH
MEMBER [Sales Ratio] AS DivN(
[Sales],
(ParallelPeriod([Time].[Year], 1, [Time].current), [Sales])
SELECT
[Time].[Jan 2015]:[Time].[Dec 2015] on 0,
{[Sales],[Sales Ratio]} on 1
FROM
[Cube]
DivN是icCube具體,並允許將是「空」安全。
ParallelPeriod是一個標準的MDX函數,返回前幾個月。您也可以使用Lag(-12),即在12級中向後移動。
current (aka Currentmember)也是標準的MDX,允許檢索層次結構/維度的當前值。
在icCube中,我會添加一個function導航到上一年,以便您可以重新使用它(並根據需要修復一個)。像:
WITH
FUNCTION timePrevYear(t_) AS ParallelPeriod([Time].[Year], 1, t_)
MEMBER [Sales Ratio] AS DivN(
[Sales],
(timePrevYear([Time].current), [Sales])
SELECT
[Time].[Jan 2015]:[Time].[Dec 2015] on 0,
{[Sales],[Sales Ratio]} on 1
FROM
[Cube]
這將是一個有點過分,但最終你可以在我們在MDX Utility或統計尺寸致電添加這種計算的,所以你甚至可以讓最終用戶在選擇此從報告工具下拉列表。更多關於這個here。
0
在我爲我的客戶創建模型,我有時走另一條路線爲IC3曾建議:
尤其是當會有很多對這些頂級額外的計算(如年初至今,inception-迄今爲止,月至今等)。
這就是: 負荷再次以相同的事實數據,但設置爲「加載日期」的「日期」 - 1年(如MySQL的:DATE_ADD(,間隔 - 1年)
優點:
- 追溯歷史可以
- 很多公式可以「頂」這些被添加,你一直都知道的基本知識都ok
相關問題
- 1. 用於比較不同年份的MDX查詢
- 2. MDX相當於LIKE
- 3. 日期比較相同的日期
- 4. MDX相當於SQL查詢
- 5. MDX年齡範圍
- 6. MDX比較日期時間屬性
- 7. MDX查詢:如何比較當年的年度數據與上一年的數據?
- 8. 識別一週中相同日期的年份(例如1994年,2005年,2011年)
- 9. 比較基於年份的兩個日期,不考慮日期
- 10. Powerpivot:今年迄今爲止與去年同期相比
- 11. MySQL中相同月份/不同年份的時間戳比較
- 12. 使用java比較相同日期
- 13. java - 如何比較相同的日期
- 14. 問題比較日期格式相同
- 15. 日期比較星期和年格式
- 16. 如何與另一日期(月/年)比較日期(月/年)
- 17. XSLT - 相較於同級發表排序
- 18. MDX加入具有相同尺寸
- 19. 行MDX相同度量層次
- 20. MDX範圍賦值返回值相同
- 21. 在MDX查詢的每個結果行上獲取上一年的年終值
- 22. MDX篩選日期小於今天
- 23. MDX iif少於日期屬性
- 24. 不同的行爲在Firefox上,相較於其他瀏覽器
- 25. 更換,相較於2010年,正則表達式
- 26. 性能的MDX Qyery做工精細的一年,我們如何可以運行相同的查詢,兩年來
- 27. 比較不同年份的日期在MySQL的
- 28. ColdFusion的MySQL的日期問題比較不同年份
- 29. 比較不同年份的兩個日期
- 30. 僅基於月份和年份的SQL Server日期比較
我根本不知道一切是如何做到這一點在立方體秒。在關係數據庫中,我做了2個獨立的報告並將它們合併爲 –
爲了編寫任何查詢,需要知道關係模式。請張貼涉及的整個架構。 –