我更改了列名,但 SAS PROC REPORT 仍使用旧名称
I changed columns names, but SAS PROC REPORT still uses the old names
使用 PROC SQL,我将列名从英语更改为希伯来语。
当我通过 PROC REPORT 使用此类表时,SAS 使用英文列名,即使 BY 和 DEFINE 语句使用新的希伯来语命名列
PROC REPORT DATA= work.sharon ;
BY 'סניף'n ;
DEFINE 'סניף'n / group;
RUN;
我猜原始数据有标签。重命名变量后,SAS 将保留旧标签。你可以在这里看到问题:
data blah;
i = 23;
label i = "eye";
run;
data blah2;
set blah (rename = (i = a));
run;
proc report data = blah2;
run;
您可以使用 label
或 attrib
语句手动设置每个变量的标签,或者,如果您更喜欢始终使用变量名称,只需去掉数据集的所有标签,例如这个:
data blah3;
set blah2;
* remove all labels;
attrib _all_ label = " ";
run;
proc report data = blah3;
run;
如果一个变量有一个 LABEL PROC REPORT 将把它用作列 header。您可以在定义语句中更改标签或覆盖或使用 SAS 系统选项 NOLABEL;
尝试其中之一
label 'סניף'n = 'סניף';
DEFINE 'סניף'n / group 'סניף';
options label=0;
使用 PROC SQL,我将列名从英语更改为希伯来语。 当我通过 PROC REPORT 使用此类表时,SAS 使用英文列名,即使 BY 和 DEFINE 语句使用新的希伯来语命名列
PROC REPORT DATA= work.sharon ;
BY 'סניף'n ;
DEFINE 'סניף'n / group;
RUN;
我猜原始数据有标签。重命名变量后,SAS 将保留旧标签。你可以在这里看到问题:
data blah;
i = 23;
label i = "eye";
run;
data blah2;
set blah (rename = (i = a));
run;
proc report data = blah2;
run;
您可以使用 label
或 attrib
语句手动设置每个变量的标签,或者,如果您更喜欢始终使用变量名称,只需去掉数据集的所有标签,例如这个:
data blah3;
set blah2;
* remove all labels;
attrib _all_ label = " ";
run;
proc report data = blah3;
run;
如果一个变量有一个 LABEL PROC REPORT 将把它用作列 header。您可以在定义语句中更改标签或覆盖或使用 SAS 系统选项 NOLABEL; 尝试其中之一
label 'סניף'n = 'סניף';
DEFINE 'סניף'n / group 'סניף';
options label=0;