Hi folks, Not sure if that's the right place to ask for this, but I just identified a weird behavior of the proc sql. Let's review this piece of code: proc format;
value yn
0='No'
1='Yes'
;
run;
data ds1;
attrib pt format=$2.;
attrib question format=yn.;
pt='01'; question=0; output;
pt='02'; question=1; output;
run;
proc sql noprint;
create table test as
select pt 'Patient',
question label='Yes/no'
from ds1
;
quit; The output dataset test is as expected, in particular the variable question has format yn. and label "Yes/no" Now, let's update the code to add an union: proc format;
value yn
0='No'
1='Yes'
;
run;
data ds1;
attrib pt format=$2.;
attrib question format=yn.;
pt='01'; question=0; output;
pt='02'; question=1; output;
run;
data ds2;
attrib pt format=$2.;
attrib question format=yn.;
pt='02'; question=0; output;
pt='03'; question=1; output;
run;
proc sql noprint;
create table test as
select pt 'Patient',
question label='Yes/no' /* la label fait sauter le format */
from ds1
union corr
select pt,
question
from ds2
;
quit;
The output dataset test is NOT as expected, in particular the variable question has no format anymore, but the expected "Yes/no" label. If we remove the label modifier, the format is kept Is this behavior expected?
... View more