Die Segmentierung in dem von Ihnen bereitgestellten Kontext ist ein wenig mehrdeutig. Wenn durch, dass Sie segmentieren Datensätze, die jeweils Beobachtungen im Zusammenhang mit einem eindeutigen Wert von Prod
erstellen bedeuten zu, könnten Sie den Code aus here nutzen können:
/* define which libname.member table, and by which column */
%let TABLE=sashelp.cars;
%let COLUMN=origin;
proc sql noprint;
/* build a mini program for each value */
/* create a table with valid chars from data value */
select distinct
cat("DATA out_",compress(&COLUMN.,,'kad'),
"; set &TABLE.(where=(&COLUMN.='", &COLUMN.,
"')); run;") into :allsteps separated by ';'
from &TABLE.;
quit;
/* macro that includes the program we just generated */
%macro runSteps;
&allsteps.;
%mend;
/* and...run the macro when ready */
%runSteps;
Dies ist wahrscheinlich besser geeignet als Kommentar statt eine Antwort. – Quentin