2013-03-27 35 views
1

我們正在嘗試創建一個計算的度量來執行另一個度量的運行總計。考慮到數據量並不是很大,我們怎樣才能使這個查詢更快?慢速運行MDX查詢 - 運行總計

WITH MEMBER [Measures].[X] AS aggregate 
(
    {Null:[Transaction Date].CurrentMember}, 
    [Measures].[Transaction Amount] 
) 
SELECT 
non empty { 
    [Measures].[X] 
} ON columns 
, 
non empty { 
    ([Claim].[Claim Number].children* 
    [Transaction Date].[Hierarchy].[Day].&[2013-02-28T00:00:00] 
) 
} 
ON rows 
FROM [ClaimsCube] 
+1

這篇文章可以幫助? http://sqlblog.com/blogs/mosha/archive/2008/10/22/optimizing-mdx-aggregation-functions.aspx – michele 2013-03-29 13:38:03

回答

1

嘗試刪除 「非空」

WITH MEMBER [Measures].[X] AS aggregate 

(
    {Null:[Transaction Date].CurrentMember}, 
    [Measures].[Transaction Amount] 
) 
SELECT 
{ 
    [Measures].[X] 
} ON columns 
, 
{ 
    ([Claim].[Claim Number].children* 
    [Transaction Date].[Hierarchy].[Day].&[2013-02-28T00:00:00]) 
} 
ON rows 
FROM [ClaimsCube] 
+0

感謝您的回答,但是這會增加數百萬個空值記錄,甚至會降低查詢速度更多。 – 2013-04-10 14:06:27