I've correct the code for the subscripts 1, and 2.
options symbolgen mlogic mlogicnest mprint;
%let input_string =%nrbquote([{"MEMBERID1": "A12345687", "DOB1": "unknown", "MEMBERID2": "A12345677", "DOB2": "2022-01-03"}]);
filename json temp;
data json_str;
file json;
length string $32767;
string=symget('input_string');
put string ;
run;
libname json json fileref=json;
proc print data=json.root (drop=ordinal:) noobs;
run;
data _null_;
set json_str;
call symputx('memberid1',quote(trim(memberid1),"'"));
call symputx('dob1',dob1);
if strip(dob1) in (' ' '.') then dob1_ind=0;
else if not missing(input(dob1,??yymmdd10.)) then dob1_ind=1;
else dob1_ind=2;
call symputx('dob1_ind',dob1_ind);
call symputx('memberid2',quote(trim(memberid2),"'"));
call symputx('dob2',dob2);
if strip(dob2) in (' ' '.') then dob2_ind=0;
else if not missing(input(dob2,??yymmdd10.)) then dob2_ind=1;
else dob2_ind=2;
call symputx('dob2_ind',dob2_ind);
run;
%put &=memberid1;
%put &=dob1;
%put &=dob1_ind;
%put &=memberid2;
%put &=dob2;
%put &=dob2_ind;
here is the log,
SYMBOLGEN: Macro variable MEMBERID1 resolves to ' .'
59
60
61 %put &=memberid1;
MEMBERID1=' .'
62 %put &=dob1;
SYMBOLGEN: Macro variable DOB1 resolves to .
DOB1=.
63 %put &=dob1_ind;
SYMBOLGEN: Macro variable DOB1_IND resolves to 0
DOB1_IND=0
64 %put &=memberid2;
3 The SAS System 09:32 Monday, March 7, 2022
SYMBOLGEN: Macro variable MEMBERID2 resolves to ' .'
MEMBERID2=' .'
65 %put &=dob2;
SYMBOLGEN: Macro variable DOB2 resolves to .
DOB2=.
66 %put &=dob2_ind;
SYMBOLGEN: Macro variable DOB2_IND resolves to 0
DOB2_IND=0
how can I capture the values for these inputs?
The Macro variable DOB1, Macro variable DOB2 , Macro variable DOB1_IND , Macro variable DOB2_IND do not resolve correctly here.
... View more