我是MDX的新手,但希望儘可能保持我的代碼清潔。在MDX函數中使用計算成員作爲參數
我有一個查詢今天的銷售情況,並使用ParallelPeriod函數將它們與LY和LY-1進行比較。它看起來像這樣..
With Member [Date].[SalesCalendar].[DateToday] as [Date].[SalesCalendar].[Date].&[2012-10-26T00:00:00]
SELECT
{[Date].[SalesCalendar].[DateToday],
ParallelPeriod([Date].[SalesCalendar].[Year],1,[Date].[SalesCalendar].[Date].&[2012-10-26T00:00:00]),
ParallelPeriod([Date].[SalesCalendar].[Year],2,[Date].[SalesCalendar].[DateToday]}
*
{[Measures].[Total Sales],[Measures].[Units],[Measures].[Sales Target]}
ON Columns,
[Locations].[Location PK].[Location PK]
on Rows
From MyCube
我從定義一個指向今天日期的成員開始。我想定義它一次,並在整個查詢過程中使用它(以及我編寫的其他查詢),理論上我可以在一次地方改變它並且底層查詢作出反應。
我遇到的問題是,如果我嘗試在ParallelPeriod函數中使用此計算成員,我不會得到任何結果。通過上面的查詢,我得到了第一列和第一次調用ParallelPeriod(用於LY)的結果,但第二次使用聲明成員的LY-1調用失敗。
我猜這是由於我對MDX缺乏知識,所以我想我缺少一些基本的東西。然而,我的頭靠在牆上不能工作,所以我需要一些幫助!
任何想法我做錯了什麼?
感謝
啊對,好的。那麼對此最佳做法是什麼?謝謝 :-) – CResults