2013-03-27 78 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