else compress('$'||put(input(scan(compress(columnformat,'','a'),1,'.'),3.) + input(scan(compress(columnformat,'','a'),2,'.'),3.),8.)||".") end as columnformatchar
****************************************************************************************************
****************************************************************************************************
* PROGRAM: t4tables_createdata.sas
* Created (mm/dd/yyyy): 08/06/2021
*--------------------------------------------------------------------------------------------------
* PURPOSE: The macro produces tables for a Type 4 report
* - agg_t4nopreg.sas7bdat
* - final_t4moi - levelid and moiname stratification across data partners
* - final_dps_t4moi - levelid and moiname stratification by data partner
*--------------------------------------------------------------------------------------------------
* Sentinel Coordinating Center
* info@sentinelsystem.org
***************************************************************************************************;
%macro t4tables_createdata();
%put =====> MACRO CALLED: t4tables_createdata ;
/************************************************************************************************
************************************************************************************************/
%do ds = 1 %to %sysfunc(countw(&datasetlist,' '));
%let t4dset = %sysfunc(scan(&datasetlist,&ds.,' '));
select distinct quote(levelid1), quote(levelid2)
from tablefile where dataset = "&t4dset.";
/************************************************************************************************
Determine total count of variables on table and put tablecolumns information into macro variables
************************************************************************************************/
select count(column) into: numcolumns trimmed
,scan(compress(column,'()'),1,'/') as numerator