我更改了列名,但 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;

您可以使用 labelattrib 语句手动设置每个变量的标签,或者,如果您更喜欢始终使用变量名称,只需去掉数据集的所有标签,例如这个:

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;