通過下面的MDX查詢,我試圖返回銷售數據的比較。MDX查詢:如何比較當年的年度數據與上一年的數據?
我想LYTD比較年初至今,定義如下:
YTD:01一月今年(01 /月/ 2011)直到今天(17/8/2011)
LYTD:01月去年(2010年1月1日)直到去年(2010年1月17日/ 8月)
這兩個期間應該包含相同的天數(閏年給予或需要一天)。
到目前爲止,我已經嘗試過使用YTD()函數來獲得今年的數據,但是我還沒有將YTD()函數包裝到某個東西中取得很大的成功,以使它返回去年的相同日期。我已經採用LAG(1)和ParallelPeriod(見下面的兩個例子):
WITH
MEMBER [Measures].[Sales YTD] AS
'SUM(YTD(),[Measures].[Sales])'
MEMBER [Measures].[Sales LYTD] AS
'SUM((YTD(),[Measures].[Sales]).LAG(1))'
SELECT
{[Sales YTD], [Sales LYTD]} ON COLUMNS
...
或者
WITH
MEMBER [Measures].[Sales YTD] AS
'SUM(YTD(),[Measures].[Sales])'
MEMBER [Measures].[Sales LYTD] AS
'SUM(ParallelPeriod(YTD(),1),[Measures].[Sales])'
SELECT
{[Sales YTD], [Sales LYTD]} ON COLUMNS
...
由此產生的數據使用或者ParallelPeriod時或LAG總是返回空值的去年的銷售額列:
Customer Sales YTD Sales LYTD
ABC Screws $1024 (Null)
ABC Bolts $2392 (Null)
ABC Nuts $3735 (Null)
任何人都可以提出修改意見,以將返回正確的數據,或者是提供一種替代策略,以使用LAG或ParallelPeriod查詢?