Simple MDX performing very poor

Team , This seems to be a very simple Query and not sure why is it taking too much of time for a single day's date range , any pointers would highly be appreciated !

WITH MEMBER [Measures].[Active Census] AS 
[Measures].[Active Patient Count]

MEMBER [Measures].[Sum Active Patient Days] AS 
SUM(
                [Patient].[Patient].[Patient].MEMBERS,
        IIF( ([Measures].[Death Count]>0 OR [Measures].[Discharge Count]>0 )
                                                , [Measures].[Active Patient Days]
                                                , NULL
                                                )
   )           

MEMBER [Measures].[Active Medicare Census] AS 
SUM(
                [Patient].[Patient].[Patient].MEMBERS * [Insurance].[Insurance Type].&[Medicare],
        IIF( [Measures].[Active Patient Count] >0 , 1, NULL )
   )  

MEMBER [Measures].[Medicare Admits] AS 
SUM(
                [Patient].[Patient].[Patient].MEMBERS * [Insurance].[Insurance Type].&[Medicare],
        IIF( [Measures].[Admission Count] >0 , 1, NULL )
   )  
   
MEMBER [Measures].[Medicare Discharges] AS 
SUM(
                [Patient].[Patient].[Patient].MEMBERS * [Insurance].[Insurance Type].&[Medicare],
        IIF( [Measures].[Discharge Count]>0 , 1, NULL )
    )  
      

MEMBER [Measures].[Medicare Referral Count]  AS
SUM(
                [Patient].[Patient].[Patient].MEMBERS * [Insurance].[Insurance Type].&[Medicare],
        IIF( [Measures].[Referral Count]>0 , 1, NULL )
   )  
      
      
MEMBER [Measures].[Medicare Admits to Referral Ratio]  AS
IIF([Measures].[Medicare Referral Count]=0 OR
	 ISEMPTY([Measures].[Medicare Referral Count]) , NULL ,[Measures].[Medicare Admits]/[Measures].[Medicare Referral Count])

MEMBER [Measures].[Medicare Admits Discharge Ratio] AS
IIF([Measures].[Medicare Discharges]=0 OR
	 ISEMPTY([Measures].[Medicare Discharges]) , NULL ,[Measures].[Medicare Admits]/[Measures].[Medicare Discharges])



SELECT  
		 { 
			  [Measures].[Active Census]		  -- Census
			 ,[Measures].[Active Medicare Census] -- Census #M/C
			 ,[Measures].[Death Count]  		  -- Deaths
			 , [Measures].[Referral Count]		  -- # Referrals
			 ,[Measures].[Admission Count]         -- #Admits
			 ,[Measures].[Medicare Admits]		   -- #Medicare Admits
			 ,[Measures].[Medicare Discharges]     -- Medicare Discharges 
			 ,[Measures].[Medicare Referral Count] -- #Medicare Referral Count
			 ,[Measures].[Medicare Admits Discharge Ratio] --#Medicare Admits to M/C Discharges Ratio
			 ,[Measures].[Medicare Admits to Referral Ratio] -- #Medicare Admits to M/C Referral Ratio 
			 
			 
			
		 } ON COLUMNS,
		 
		NON EMPTY  (
						[Business Unit].[Business Unit].[Business Unit].Members * 
						[Patient Branch].[Patient Branch].[Patient Branch]
					) ON ROWS 


FROM 
(

SELECT 
( STRTOSET(@BusinessUnit), STRTOSET(@PatientBranch) ) ON COLUMNS
FROM [Patient Admissions]  

)
WHERE
IIF ( CDate(@StartDate)>TAIL([Time].[Date].members,1).item(0).member_value, 
{ null : TAIL([Time].[Date].members,1).item(0) }
, 
{ STRTOMEMBER("[Time].[DIM TIME].&[" + Format( CDate( @StartDate ) , "yyyyMMdd") + "]"):
STRTOMEMBER("[Time].[DIM TIME].&[" + Format( CDate( @EndDate ) , "yyyyMMdd") + "]") }
)

Thank You !

February 10th, 2014 4:07am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics