I would like to set the reason change to "ABC", may I know how to put _reason_change_ into the audit trail dataset? Thanks.
LIBNAME test 'D:\TEST';
DATA ACURA test.AUDI;
SET SASHELP.CARS;
IF MAKE EQ 'Acura' THEN OUTPUT ACURA;
IF MAKE EQ 'Audi' THEN OUTPUT test.AUDI;
RUN;
proc datasets lib=test;
audit Audi;
initiate;
USER_VAR _REASON_CHANGE_ $30;
quit;
PROC APPEND BASE=test.AUDI DATA=ACURA;
RUN;
DATA AUDITCHK;
SET test.AUDI(type=audit);
RUN;
DATA CHK;
SET test.AUDI;
RUN;
Did you see this message in your log?
WARNING: Variable _REASON_CHANGE_ was not found on DATA file.
This works:
data ACURA
TEST.AUDI(drop=_REASON_CHANGE_);
set SASHELP.CARS;
_REASON_CHANGE_='ABC';
if MAKE = 'Acura' then output ACURA;
if MAKE = 'Audi' then output TEST.AUDI;
run;
proc datasets lib=TEST;
audit AUDI;
initiate;
user_var _REASON_CHANGE_ $30;
quit;
proc append base=TEST.AUDI data=ACURA;
run;
data AUDITCHK;
set TEST.AUDI(type=audit);
run;
data DATACHK;
set TEST.AUDI;
run;
Did you see this message in your log?
WARNING: Variable _REASON_CHANGE_ was not found on DATA file.
This works:
data ACURA
TEST.AUDI(drop=_REASON_CHANGE_);
set SASHELP.CARS;
_REASON_CHANGE_='ABC';
if MAKE = 'Acura' then output ACURA;
if MAKE = 'Audi' then output TEST.AUDI;
run;
proc datasets lib=TEST;
audit AUDI;
initiate;
user_var _REASON_CHANGE_ $30;
quit;
proc append base=TEST.AUDI data=ACURA;
run;
data AUDITCHK;
set TEST.AUDI(type=audit);
run;
data DATACHK;
set TEST.AUDI;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.