SAS Datastep- Create a table dynamically with the column name values available in a different table.
Example: My Source_Table would look like |Field No|Field Name| |1| A| |3| B| |2| C|
/*Dynamic table creation*/
%let s1=;
/*Column lenght should be 30 characters so I am creating a dummy variable*/
%let Dummy= 'Dummy_Dummy_Dummy_Dummy_Dummy_Dummy_Dummy';
proc sql;
create table TEMP as
select 'Hi' as Work from Temp_table where 1=2
;
quit;
proc sort data = Source_table
by Field_No;
run;
proc sql;
select Dummy||" as "||fld into :s1 seperated by "," from
(select "&Dummy" as Dummy,substr(strip(upcase(field_name)),1,30)) as FLD
from Source_table)
;
quit;
proc sql;
create table target_table as
select "&Dummy." as value_1,&s1 from TEMP where 1=2;
quit;
Target table should be |A|B|C|