Hi, I have a sql query written by a previous programmer - PROC SQL; CREATE TABLE WORK.BASE_PGM AS SELECT DISTINCT (COUNT (DISTINCT MEMBER_KEY_CHAR )) AS DEMO_PARTICIPATING_USERS ,PRCHSR_CD AS DEMO_PRCHSR_CODE ,CASE WHEN GDR IS NOT MISSING THEN GDR ELSE 'UNKNOWN' END AS DEMO_GDR_GROUPING ,CASE WHEN ETHNICITY IS NOT MISSING THEN ETHNICITY ELSE 'UNKNOWN' END AS DEMO_ETHN_GROUPING ,((TODAY()-DATEPART(DOB_DT))/365.25) AS DEMO_AGE ,CASE WHEN CALCULATED DEMO_AGE BETWEEN 18 AND 34.99 THEN '18 - 34' WHEN CALCULATED DEMO_AGE BETWEEN 35 AND 44.99 THEN '35 - 44' WHEN CALCULATED DEMO_AGE BETWEEN 45 AND 54.99 THEN '45 - 55' WHEN CALCULATED DEMO_AGE >= 55 AND 44.99 THEN 'OVER 55' ELSE 'UNKNOWN' END AS DEMO_AGE_GROUPING ,PGM_NM AS PGM_NM ,OPPORTUNITY_COMPLETED AS DETAIL_OPPORTUNITY_COMPLETED ,ACTION_ITEM_RESPONSE_COMPLETED AS DETAIL_ACTION_ITEM_COMPLETED FROM F_MEMBER_PROGRAM_BASE_PGM AS F_MEMBER_PROGRAM_BASE WHERE F_MEMBER_PROGRAM_BASE.PROGRAM_ENROLLED > 0 GROUP BY PRCHSR_CD,DOB_DT,GDR; QUIT; Does anyone know if there could be performance issues with calculating the age and using it again in a case statement? The report is taking excess time and my hunch is this query is taking more time than necessary. Any thoughts/feedback will be helpful. Thanks, saspert.
... View more