,case when d.label = "" then catx(' ',coalescec(c.label, a.group),strip(a.group),"(" || %if &T2Columns. eq Y %then %do;strip(put(a.den_&episode_var._2trim,comma12.0))||" episodes reach the 2nd trimester, " || %end; %if &T3Columns. eq Y %then %do;strip(put(a.den_&episode_var._3trim,comma12.0))||" episodes reach the 3rd trimester, " || %end;strip(put(a.den_&episode_var.,comma12.0))||" total episodes)")
****************************************************************************************************
****************************************************************************************************
* PROGRAM: t4tables_createdata.sas
* Created (mm/dd/yyyy): 08/06/2021
*--------------------------------------------------------------------------------------------------
* PURPOSE: The macro produces tables for a Type 4 report
* - agg_t4nopreg.sas7bdat
* - agg_t4preggestwk.sas7bdat
* - agg_t4nopreggestwk.sas7bdat
* - final_t4moi - levelid and moiname stratification across data partners
* - final_dps_t4moi - levelid and moiname stratification by data partner
* - final_t4gestwk - moiname and gestwk stratification across data partners
* - final_dps_t4gestwk - moiname and gestwk stratification by data partner
* - dataset = suffix for input dataset indicator
* - output_suffix = suffix for output dataset name
* - episode_var: variable that holds # of pregnancy episodes
*--------------------------------------------------------------------------------------------------
* Sentinel Coordinating Center
* info@sentinelsystem.org
***************************************************************************************************;
%macro t4tables_createdata(dataset = , output_suffix = , episode_var = );
%put =====> MACRO CALLED: t4tables_createdata ;
/*********************************************************************************************************
Determine total count of variables on table and put tablecolumns information into macro variables
- For tables T1-T4, there is a 1:1 relationship between rows in TABLECOLUMNS and columns in the table
- For tables T5-T6, TABLECOLUMNS only contains 3 possible columns, this table will be expanded for
each gestational week after table information is assigned to macro variables
********************************************************************************************************/
select distinct(compress(table)) into: tables separated by '" "'
from tablefile where dataset in ("t4&dataset." "t4no&dataset.");
select count(column) into: numcolumns trimmed
from tablecolumns where table in ("&tables.");
,scan(compress(column,'()'),1,'/') as numerator
,case when index(column,'/') = 0 then ''
when index(column,'*') > 0 then cats("den_",scan(compress(scan(column,1,'*'),'()'),2,'/'))
else cats("den_",scan(column,2,'/')) end as denominator
,case when index(columnformat,'$') > 0 then columnformat