2015-06-23 74 views
1

我有以下MDX查詢我需要運行在一個多維數據集(我沒有訪問權限)。MDX過濾成員/度量的總數和性能問題

這個特定的查詢需要大約1.5分鐘的時間來運行,這太長了。我一直在尋找一種方法來加速它,但我沒有一堆運氣。

任何人都可以看到一種方法來改善此查詢?過去幾天我一直在扯掉我的頭髮,所以任何幫助將不勝感激!

`WITH 
    MEMBER [Measures].[1-99_Count] AS 
     COUNT(FILTER ([Scam].[Scam Ref].AllMembers, 
      ([Measures].[Amount Lost]>=1 AND [Measures].[Amount Lost]<=99))) 
    MEMBER [Measures].[1-99_Amount] AS 
     SUM(FILTER ([Scam].[Scam Ref].AllMembers, 
     ([Measures].[Amount Lost]>=1 AND [Measures].[Amount Lost]<=99)), 
      Iif(IsEmpty([Measures].[Amount Lost]),0,[Measures].[Amount Lost])) 
SELECT {[Measures].[1-99_Count], 
    [Measures].[1-99_Amount]} ON COLUMNS, 
    [First Resolved On Date].[Month].[Month] ON ROWS 
FROM [Infocentre] 
WHERE ([First Resolved On Date].[Date].[Date].&[20140101]:[First Resolved On Date].[Date].[Date].&[20150623], 
    [Scam].[Scam Category Level1].&[{d9d6bc38-e73e-e411-9a82-0a713f2121f7}])` 

回答

0

(只是爲了好玩!)

您的第一個措施絕對可以通過以下方式改進。 Count(Filter是一種可以擺脫大部分時間的模式。 沒啥博客上講述這個模式,它可以改善,在這裏:
http://sqlblog.com/blogs/mosha/archive/2007/11/22/optimizing-count-filter-expressions-in-mdx.aspx

我還試圖提高第二計算爲好。如果這個條件爲真[Measures].[Amount Lost] >= 1 AND [Measures].[Amount Lost] <= 99那麼這就意味着這是錯誤的IsEmpty([Measures]。[Amount Lost]),所以這兩個條件都可以被1條件覆蓋。另外隨着null更換您的0 - SSAS是很多快樂(&更快)與null

WITH 
    MEMBER [Measures].[1-99_Count] AS 
    Sum 
    (
     [Scam].[Scam Ref].ALLMEMBERS 
    ,IIF 
     (
     [Measures].[Amount Lost] >= 1 AND [Measures].[Amount Lost] <= 99 
     ,1 
     ,null 
    ) 
    ) 
    MEMBER [Measures].[1-99_Amount] AS 
    Sum 
    (
     [Scam].[Scam Ref].ALLMEMBERS 
    ,IIF 
     (
     [Measures].[Amount Lost] >= 1 AND [Measures].[Amount Lost] <= 99 
     ,[Measures].[Amount Lost] 
     ,null 
    ) 
    ) 
SELECT 
    { 
    [Measures].[1-99_Count] 
    ,[Measures].[1-99_Amount] 
    } ON COLUMNS 
,[First Resolved On Date].[Month].[Month] ON ROWS 
FROM [Infocentre] 
WHERE 
    (
     [First Resolved On Date].[Date].[Date].&[20140101] 
    : 
     [First Resolved On Date].[Date].[Date].&[20150623] 
    ,[Scam].[Scam Category Level1].&[{d9d6bc38-e73e-e411-9a82-0a713f2121f7}] 
); 
1

最後,邏輯佔了上風,我能得到魔方業主一個新的維度添加到多維數據集,這意味着我不再需要嘗試並獲得這個狗的早餐工作。

+1

至少有人的地方正在邏輯...... –