2016-10-03 40 views
0

我有一個MDX查詢,其從週期得到測量,並顯示它作爲下一日期級別的父:MDX計算部件不能被用作另一種計算部件

WITH 
    MEMBER [Creation Date].[2017].[2017/01].[2017/01].[2017/01/11] AS 
    Aggregate 
    (
     Filter 
     (
     [Creation Date].[Minute].MEMBERS 
     , 
      [Creation Date].[Minute].CurrentMember.Name >= '2017/01/11 07:45' 
     AND 
      [Creation Date].[Minute].CurrentMember.Name <= '2017/01/11 23:59' 
    ) 
    ) 
SELECT 
    {[Measures].[Sales Count]} ON COLUMNS 
,{[Creation Date].[2017].[2017/01].[2017/01].[2017/01/11]} ON ROWS 
FROM [Sales Star Schema]; 

並將其返回異常: 的'[創建日期]。[2017]'計算的成員不能用作另一個計算成員的父代。

2017年不包含在彙總表中的任何測量值,但如果我嘗試這樣的查詢:

WITH 
    MEMBER [Creation Date].[2016].[2016/01].[2016/01].[2016/01/11] AS 
    Aggregate 
    (
     Filter 
     (
     [Creation Date].[Minute].MEMBERS 
     , 
      [Creation Date].[Minute].CurrentMember.Name >= '2016/01/11 07:45' 
     AND 
      [Creation Date].[Minute].CurrentMember.Name <= '2016/01/11 23:59' 
    ) 
    ) 
SELECT 
    {[Measures].[Sales Count]} ON COLUMNS 
,{[Creation Date].[2016].[2016/01].[2016/01].[2016/01/11]} ON ROWS 
FROM [Sales Star Schema]; 

該查詢返回我一個正確的值,因爲聚合視圖包含2016年的年份值2016/01月,2016/01/11日。 我如何改變我的查詢結構,以便它在2017年的價值中不會返回異常,而是一個空值?

回答

0

計算所得成員是選定等級的[All]成員的子女...但是,您打扮起來總是這樣,如果明確地將它們放在您的腳本中以避免混淆,那就更好了。

所以我假設有一個名爲[Year]層次:

WITH 
    MEMBER [Creation Date].[Year].[All].[2016/01/11] AS 
    Aggregate 
    (
     Filter 
     (
     [Creation Date].[Minute].MEMBERS 
     , 
      [Creation Date].[Minute].CurrentMember.Name >= '2016/01/11 07:45' 
     AND 
      [Creation Date].[Minute].CurrentMember.Name <= '2016/01/11 23:59' 
    ) 
    ) 
    MEMBER [Creation Date].[Year].[All].[2017/01/11] AS 
    Aggregate 
    (
     Filter 
     (
     [Creation Date].[Minute].MEMBERS 
     , 
      [Creation Date].[Minute].CurrentMember.Name >= '2017/01/11 07:45' 
     AND 
      [Creation Date].[Minute].CurrentMember.Name <= '2017/01/11 23:59' 
    ) 
    ) 
SELECT 
    {[Measures].[Sales Count]} ON COLUMNS 
,{ 
    [Creation Date].[Year].[All].[2016/01/11], 
    [Creation Date].[Year].[All].[2017/01/11] 
    } ON ROWS 
FROM [Sales Star Schema];