MACRO GET ATTR: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K |
K |
||
Zeile 23: | Zeile 23: | ||
''quit;'' | ''quit;'' | ||
%PUT &NAME._MESSAGE: Temporary SAS dataset WORK.TMP_DATA created ; | %PUT &NAME._MESSAGE: Temporary SAS dataset WORK.TMP_DATA created ; | ||
− | %PUT &NAME._MESSAGE: Field %UPCASE(&SOURCE) in dataset %UPCASE(&DSN.) has &ATTRIB. = %BQUOTE(&&&ATTRIB.). ; | + | %PUT &NAME._MESSAGE: Field %UPCASE(&SOURCE.) in dataset %UPCASE(&DSN.) has &ATTRIB. = %BQUOTE(&&&ATTRIB.). ; |
%PUT &NAME._MESSAGE: Information stored into Local Macrovariable of calling environment: ; | %PUT &NAME._MESSAGE: Information stored into Local Macrovariable of calling environment: ; | ||
%PUT &NAME._MESSAGE: &ATTRIB. = %BQUOTE(&&&ATTRIB.); | %PUT &NAME._MESSAGE: &ATTRIB. = %BQUOTE(&&&ATTRIB.); | ||
Zeile 34: | Zeile 34: | ||
%PUT &NAME._STATUS: Global Macrovariable(s) not available. ; | %PUT &NAME._STATUS: Global Macrovariable(s) not available. ; | ||
%PUT ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^; | %PUT ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^; | ||
− | %GEN_MAIL(name = &NAME.,rc=1); | + | %GEN_MAIL(name = &NAME.,rc = 1); |
'''%END;''' | '''%END;''' | ||
%MEND GET_ATTR; | %MEND GET_ATTR; |
Version vom 28. Juni 2013, 16:42 Uhr
%MACRO GET_ATTR(dsn=,source=,attrib=) / store des = "Get attribute from SAS Variable";
%LOCAL name; %LET name = GET_ATTR; %IF &DSN. ne and &SOURCE. ne and &ATTRIB. ne %THEN %DO; %IF %INDEX(&DSN.,.) eq 0 %THEN %DO; %LET dsn=WORK.&DSN.; %END; proc datasets nolist lib = %SCAN(&DSN.,1); contents noprint data = %SCAN(&DSN.,2)(keep=&SOURCE.) out = work.tmp_data(keep = &ATTRIB.); run; quit; proc sql noprint; select &ATTRIB. into :&ATTRIB. from work.tmp_data ; %IF %UPCASE(&ATTRIB.) ne LABEL %THEN %DO; %LET &ATTRIB. = &&&ATTRIB.; %END; quit; %PUT &NAME._MESSAGE: Temporary SAS dataset WORK.TMP_DATA created ; %PUT &NAME._MESSAGE: Field %UPCASE(&SOURCE.) in dataset %UPCASE(&DSN.) has &ATTRIB. = %BQUOTE(&&&ATTRIB.). ; %PUT &NAME._MESSAGE: Information stored into Local Macrovariable of calling environment: ; %PUT &NAME._MESSAGE: &ATTRIB. = %BQUOTE(&&&ATTRIB.); %PUT ; %END; %ELSE %DO; %PUT vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv; %PUT &NAME._ERROR: Missing Keyword Parameter(s).; %PUT &NAME._STATUS: Macro processing abended. ; %PUT &NAME._STATUS: Global Macrovariable(s) not available. ; %PUT ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^; %GEN_MAIL(name = &NAME.,rc = 1); %END;
%MEND GET_ATTR;