Is it true, that your just want to swith column titles on channging "subsys"?
Try:
%let NumOfPairs = 8;
options mprint;
%macro NameValuePairs;
%local i;
%do i = 1 %to &NumOfPairs;
Name&i Value&i
%end;
%mend;
data work.have;
length
subsys month date time no_blades 8
Name1-Name&NumOfPairs $ 3
Value1-Value&NumOfPairs 8
;
informat date date11. time time6.;
format month z2. date date11. time time6.;
infile datalines delimiter=",";
input subsys month date time no_blades
%NameValuePairs;
;
datalines;
53809,09,01-SEP-2015,0:15,8,1MA,1,1MB,1,1ME,2,1MF,1,2MC,1,2MD,1,2MG,1,2MH,2
53809,09,01-SEP-2015,0:30,8,1MA,1,1MB,1,1ME,2,1MF,1,2MC,1,2MD,1,2MG,1,2MH,2
53809,09,01-SEP-2015,0:45,8,1MA,1,1MB,1,1ME,3,1MF,1,2MC,1,2MD,1,2MG,1,2MH,3
53809,09,01-SEP-2015,1:00,8,1MA,1,1MB,1,1ME,3,1MF,1,2MC,1,2MD,1,2MG,1,2MH,2
98909,09,01-SEP-2015,0:15,4,2MA,1,2MB,1,3ME,3,3MF,1,3MC,1,4MD,1,4MG,1,5MH,2
;
run;
data _null_;
set work.have;
by subsys;
length line $ 250;
file "PATH-TO-FILE" delimiter=",";
if first.subsys then do;
line = catx(",", "SUBSYS,Month,Date,Time,#Blades", of name:);
put line;
end;
put subsys month date time no_blades value1-value&NumOfPairs;
run;
Removes useless array definitions.
... View more