我更改了列名称,但SAS PROC REPORT仍使用旧名称

问题描述

使用PROC sql,我将列名从英语更改为希伯来语。 当我通过PROC REPORT使用此类表时,即使BY和DEFINE语句使用新的希伯来命名列,SAS仍使用英文列名

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,则将其用作列标题。您可以在define语句中更改标签或覆盖,也可以使用SAS系统选项NOLABEL。 尝试其中之一

label 'סניף'n = 'סניף';

DEFINE 'סניף'n / group 'סניף';

options label=0;