Hi all,
I have a PROC PRINT, and the set of variables to be output is based on the value of a macro variable called tab (the print is outputting sheets to an Excel file). Basically, if tab starts with Shared_, a certain variable should be printed, but that variable should not be output for any tab that doesn't start with Shared_.
Previously, I set up something to output or not based on a specific tab name, and this worked perfectly:
PROC PRINT DATA=HAVE;
VAR V1 V2
%IF &TAB. = ABC %THEN %DO;
V3
%END;
V4 V5;
RUN;
IE, V3 would be print for the ABC tab and not any others.
However, now, instead of a specific tab name, I have tab characteristics which apply to multiple tabs (begins with shared_). I have tried setting it up similarly as above but using index, and then substr, but neither will work for me:
PROC PRINT DATA=HAVE;
VAR V1 V2
%IF %INDEX(&TAB., 'SHARED') > 0 %THEN %DO;
V3
%END;
V4 V5;
RUN;
PROC PRINT DATA=HAVE;
VAR V1 V2
%IF %SUBSTR(&TAB., 1, 7) = 'SHARED_' %THEN %DO;
V3
%END;
V4 V5;
RUN;
Any help is much appreciated.
... View more