Hi Friends,
I had a performance issue on my Query it was running about 4 min to get the result.
If I don't mention this measures.VUNStartedwithTimePeriod
it was giving result just just in 2 seconds
I thought the problem is I was cross joining with two dates though I need to do this to apply selected dates on the measure.
Can anyone guide me how can I avoid this performance issue.? thanks in advance
WITH SET dates_forVoidLetActualEndDate AS {Linkmember(StrToMember('[Dim_Date].[CalendarYearByMonth].[YYYYMMDD].&[2013-05-10T00:00:00]', constrained), [VoidProgressLETActualEndDate].[CalendarYearByMonth]):NULL } SET dates_forVoidLetActualEndDateInclNull AS NONEMPTY( {dates_forVoidLetActualEndDate ,[VoidProgressLETActualEndDate].[CalendarYearByMonth].[YYYYMMDD].&[1900-01-01T00:00:00]} ,[Measures].[VoidCount] ) SET dates_forVoidEOTStartDate AS NONEMPTY({[VoidProgressEOTStartDate].[CalendarYearByMonth].[YYYYMMDD].&[1900-01-01T00:00:00]: Linkmember(StrToMember('[Dim_Date].[CalendarYearByMonth].[YYYYMMDD].&[2013-05-10T00:00:00]', constrained), [VoidProgressEOTStartDate].[CalendarYearByMonth]) },[Measures].[VoidCount]) MEMBER Measures.VoidCountWithNoEndDateInPeriod AS AGGREGATE (dates_forVoidEOTStartDate * dates_forVoidLetActualEndDateInclNull ,[Measures].[VoidCount]) -------------------------------------------------------------- SET dates_forVoidLetActualEndDateVUN AS NONEMPTY({Linkmember(StrToMember('[Dim_Date].[CalendarYearByMonth].[YYYYMMDD].&[2013-05-10T00:00:00]', constrained), [VoidProgressLETActualEndDate].[CalendarYearByMonth]):NULL },[Measures].[CountVUNStarted]) SET dates_forVoidLetActualEndDateInclNullVUN AS NONEMPTY( {dates_forVoidLetActualEndDateVUN ,[VoidProgressLETActualEndDate].[CalendarYearByMonth].[YYYYMMDD].&[1900-01-01T00:00:00]} ,[Measures].[CountVUNStarted] ) SET dates_forVoidEOTStartDateVUN AS NONEMPTY({[VoidProgressEOTStartDate].[CalendarYearByMonth].[YYYYMMDD].&[1900-01-01T00:00:00]: Linkmember(StrToMember('[Dim_Date].[CalendarYearByMonth].[YYYYMMDD].&[2013-05-10T00:00:00]', constrained), [VoidProgressEOTStartDate].[CalendarYearByMonth]) },[Measures].[CountVUNStarted]) MEMBER measures.VUNStartedwithTimePeriod AS AGGREGATE ({dates_forVoidLetActualEndDateInclNullVUN * dates_forVoidEOTStartDateVUN } ,[Measures].[CountVUNStarted]) MEMBER measures.WithVun AS [Measures].[CountVUNStarted] ---------------------------------------------- SET VPRNsEndingInPeriod AS [VoidProgress].[VPRN].[ALL].children SET VPRNsLessThan20DaySET AS Filter ( [VoidProgress].[VPRN].[ALL].children , measures.VoidLength< 21) SET VPRNs21To30DaySET AS Filter ( [VoidProgress].[VPRN].[All].children , measures.VoidLength >= 21 AND measures.VoidLength < 31) SET VPRNs31To126DaySET AS Filter ( [VoidProgress].[VPRN].[All].children , measures.VoidLength >= 31 AND measures.VoidLength < 127) SET VPRNs126TO252DaySET AS Filter ( [VoidProgress].[VPRN].[All].children , measures.VoidLength >= 126 AND measures.VoidLength < 253) SET VPRNs253To504DaySET AS Filter ( [VoidProgress].[VPRN].[All].children , measures.VoidLength >= 253 AND measures.VoidLength <= 504) SET VPRNsGreaterThan504DaySET AS Filter ( [VoidProgress].[VPRN].[All].children , measures.VoidLength > 504) MEMBER [VoidProgress].[VPRN].[<21(In target)] AS aggregate(VPRNsLessThan20DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[21-30(6wks)] AS aggregate(VPRNs21To30DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[31-126(6wks-6mths)] AS aggregate(VPRNs31To126DaySET, measures.currentmember) //member [VoidProgress].[VPRN].[51-100] // as aggregate(VPRNs51To100DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[126-252(6-12mths)] AS aggregate(VPRNs126To252DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[253-504(1-2yrs)] AS aggregate(VPRNs253To504DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[>504(>2yrs)] AS aggregate(VPRNsGreaterThan504DaySET, measures.currentmember) MEMBER [VoidProgress].[VPRN].[Total] AS aggregate(VPRNsEndingInPeriod, measures.currentmember) MEMBER measures.PercentageDateBand AS ( ([VoidProgress].[VPRN].currentmember, measures.VoidCountWithNoEndDateInPeriod) / ([VoidProgress].[VPRN].[Total], measures.VoidCountWithNoEndDateInPeriod) ), Format_String = "Percent" MEMBER measures.VavOnly AS measures.VoidCountWithNoEndDateInPeriod - [Measures].[CountVUNStarted] SELECT { Measures.VoidCountWithNoEndDateInPeriod ,measures.WithVun --,measures.VUNStartedwithTimePeriod } DIMENSION PROPERTIES MEMBER_CAPTION ,MEMBER_UNIQUE_NAME ON 0, { [VoidProgress].[VPRN].[<21(In target)] ,[VoidProgress].[VPRN].[21-30(6wks)] ,[VoidProgress].[VPRN].[31-126(6wks-6mths)] ,[VoidProgress].[VPRN].[126-252(6-12mths)] ,[VoidProgress].[VPRN].[253-504(1-2yrs)] ,[VoidProgress].[VPRN].[>504(>2yrs)] --,[VoidProgress].[VPRN].[>500] ,[VoidProgress].[VPRN].[Total] } ON 1 FROM ( SELECT [Dim_PropertyType].[PropertyTypeDescription].&[Dwelling] ON COLUMNS FROM [Cube] )