2014-09-10 107 views
0

如何計算一段時間內銷售/無銷售的日期。如何計算在一段時間內銷售/不銷售的日期

我定義以下MDX查詢:

SELECT { [Measures].[Sales], [Measures].[Amount] } ON COLUMNS 
NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS * 
      [Time].[Month].CHILDREN 
}) DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 
FROM [MyCube] 

結果顯示我爲每一個客戶和每月銷售多少和金額,顧客擁有在相應的月份。

CustomID/Month/Sales/Amount: 
1/2013 01/123/2234: 
1/2013 02/2/95: 
1/2013 03/212/11111: 
2/2013 01/122/2121: 
2/2013 02/231/3333: 

現在我需要一個計數器/列,它顯示了該月沒有銷售額的天數值。

CustomID/Month/Sales/Amount/DaysNoSale: 
1/2013 01/123/2234/3: 
1/2013 02/2/95/26: 
1/2013 03/212/11111/0: 
2/2013 01/122/2121/0: 
2/2013 02/231/3333/0: 

在立方體中,我們有每天的細節,因此可以顯示每天的銷售數量。 在銷售日期這個數字是0.

有沒有人有個想法我可以如何解決這個問題。
感謝着

回答

0

假設你的天屬性被命名爲[Time].[Day],你可以使用:

WITH Member Measures.[Days No Sale] AS 
    Filter([Time].[Day].[Day].Members * { [Time].[Month].CurrentMember }, 
      ([Measures].[Sales], [Dim Customer].[Customer ID].CurrentMember) = 0 
      ).Count 
SELECT { [Measures].[Sales], [Measures].[Amount], Measures.[Days No Sale] } 
     ON COLUMNS, 
     NONEMPTY({ [Dim Customer].[Customer ID].[Customer ID].ALLMEMBERS * 
       [Time].[Month].CHILDREN 
       }) 
     DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 
     ON ROWS 
    FROM [MyCube] 

[Time].[Day].[Day].Members * { [Time].[Month].CurrentMember }是所有天與該行的當月立方體的交叉產品。由於Analysis Services自動存在功能,這隻會返回非空元組,即i。即一個月中每天一個元組,如e。 G。時間維度表中沒有包含2014年9月10日日期列和2013年7月月份列中的記錄。 I. e。 Analysis中的交叉產品不是Analysis Services中的真正交叉產品。

然後Filter方法將這些限制爲那些沒有當前客戶ID的銷售,最後Count只是計數這些。

+0

非常感謝!有用。 – Katharina321 2014-09-10 19:31:27