Query takes over one minute
-
Monday, December 31, 2012 6:36 AM
Hi all,
The below query is being generated by a product we use for reporting and it is taking over 1 minute to execute. Is there any room for imrpovement for this query? Please advise and thanks in advance!
SELECT { [Time Perspective].[Default].&[YTD] } * { [Versions].[Default].&[2012REFCST], [Versions].[Default].&[2012BUD], [Versions].[Default].&[2012REFCSTvBUD] } DIMENSION PROPERTIES MEMBER_KEY, MEMBER_TYPE, PARENT_UNIQUE_NAME ON COLUMNS, { [Accounts].[Default].&[N01], [Accounts].[Default].&[H-40], [Accounts].[Default].&[IS-40].Children, [Accounts].[Default].&[IS-40], [Accounts].[Default].&[ASP], [Accounts].[Default].&[.], [Accounts].[Default].&[IS-5], [Accounts].[Default].&[IS-45], [Accounts].[Default].&[G01], [Accounts].[Default].&[.], [Accounts].[Default].&[H-6], [Accounts].[Default].&[IS-60].Children, [Accounts].[Default].&[IS-60], [Accounts].[Default].&[IS-6], [Accounts].[Default].&[H-70], [Accounts].[Default].&[IS-70].Children, [Accounts].[Default].&[IS-70], [Accounts].[Default].&[IS-7], [Accounts].[Default].&[H-80], [Accounts].[Default].&[IS-80].Children, [Accounts].[Default].&[IS-80], [Accounts].[Default].&[IS-4], [Accounts].[Default].&[.], [Accounts].[Default].&[CAPEX], [Accounts].[Default].&[N03] } DIMENSION PROPERTIES MEMBER_KEY, MEMBER_TYPE, PARENT_UNIQUE_NAME, [Accounts].[Default].[NumericFormat] ON ROWS FROM [Finance_Cube] WHERE ([Time].[Default].&[2012], [Entity].[Default].&[HWI], [Cost Center].[Default].&[TCC], [Projects].[Default].&[TP], [Reporting Currency].[Default].&[USD], [Measures].[Value]) CELL PROPERTIES VALUE
All Replies
-
Monday, December 31, 2012 9:41 AM
Hi ,
You use many measures, and each one is generated for all the members for { [Time Perspective].[Default].&[YTD] } * { [Versions].[Default].&[2012REFCST], [Versions].[Default].&[2012BUD],
[Versions].[Default].&[2012REFCSTvBUD] } .Can you reduce the members in the sets ? Anyway, use the NonEmpty function :
NonEmpty ({ [Time Perspective].[Default].&[YTD] } * { [Versions].[Default].&[2012REFCST], [Versions].[Default].&[2012BUD],
[Versions].[Default].&[2012REFCSTvBUD] }) So you'll generate less rows ..Regards, David .
- Marked As Answer by Elvis LongMicrosoft Contingent Staff, Moderator Tuesday, January 08, 2013 1:34 AM
-
Tuesday, January 01, 2013 6:11 AMModerator
Hi SnowShine,
You can also take a look at the following article:
Analysis Services Query Performance Top 10 Best Practices: http://sqlcat.com/sqlcat/b/top10lists/archive/2007/09/13/analysis-services-query-performance-top-10-best-practices.aspxFor the performance issue, we can aslo use SQL Profiler to debug Multidimensional Expressions (MDX) statements and identify MDX statements that run slowly. For more information, please see:
http://technet.microsoft.com/en-us/library/ms174946.aspxRegards,
Elvis Long
TechNet Community Support- Marked As Answer by Elvis LongMicrosoft Contingent Staff, Moderator Tuesday, January 08, 2013 1:34 AM
-
Thursday, January 03, 2013 8:36 AM
Hi,
You can also give a quick try by using "Non Empty" key word. Kindly note it's different than "NonEmpty" function. So if your cube is quiet sparse, following MDX might run quiet faster for you -
SELECT NON EMPTY { [Time Perspective].[Default].&[YTD] } * { [Versions].[Default].&[2012REFCST], [Versions].[Default].&[2012BUD], [Versions].[Default].&[2012REFCSTvBUD] } Dimension Properties MEMBER_KEY, MEMBER_TYPE, PARENT_UNIQUE_NAME ON COLUMNS, NON EMPTY { [Accounts].[Default].&[N01], [Accounts].[Default].&[H-40], [Accounts].[Default].&[IS-40].Children, [Accounts].[Default].&[IS-40], [Accounts].[Default].&[ASP], [Accounts].[Default].&[.], [Accounts].[Default].&[IS-5], [Accounts].[Default].&[IS-45], [Accounts].[Default].&[G01], [Accounts].[Default].&[.], [Accounts].[Default].&[H-6], [Accounts].[Default].&[IS-60].Children, [Accounts].[Default].&[IS-60], [Accounts].[Default].&[IS-6], [Accounts].[Default].&[H-70], [Accounts].[Default].&[IS-70].Children, [Accounts].[Default].&[IS-70], [Accounts].[Default].&[IS-7], [Accounts].[Default].&[H-80], [Accounts].[Default].&[IS-80].Children, [Accounts].[Default].&[IS-80], [Accounts].[Default].&[IS-4], [Accounts].[Default].&[.], [Accounts].[Default].&[CAPEX], [Accounts].[Default].&[N03] } Dimension Properties MEMBER_KEY, MEMBER_TYPE, PARENT_UNIQUE_NAME, [Accounts].[Default].[NumericFormat] ON ROWS FROM [Finance_Cube] WHERE ( [Time].[Default].&[2012], [Entity].[Default].&[HWI], [Cost Center].[Default].&[TCC], [Projects].[Default].&[TP], [Reporting Currency].[Default].&[USD], [Measures].[Value] ) CELL Properties Value
HTH
Regards,
Santoshhttp://microsoftbizintel.wordpress.com/
- Marked As Answer by Elvis LongMicrosoft Contingent Staff, Moderator Tuesday, January 08, 2013 1:34 AM
- Unmarked As Answer by SnowShine429 Tuesday, January 22, 2013 1:59 PM


