2

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

PROC  REPORT DATA= work.sharon ;
BY 'סניף'n ;
DEFINE 'סניף'n / group;
RUN;
4

2 回答 2

1

我猜原始数据有标签。重命名变量后,SAS 将保留旧标签。你可以在这里看到问题:

data blah;
    i = 23;
    label i = "eye";
run;

data blah2;
    set blah (rename = (i = a));
run;

proc report data = blah2;
run;

label您可以使用or语句手动设置每个变量的标签,attrib或者,如果您更喜欢始终使用变量名称,只需剥离数据集的所有标签,如下所示:

data blah3;
    set blah2;
    * remove all labels;
    attrib _all_ label = " ";
run;

proc report data = blah3;
run; 
于 2020-08-18T10:43:22.837 回答
1

如果变量具有 LABEL PROC REPORT 将使用它作为列标题。您可以在定义语句中更改标签或覆盖或使用 SAS 系统选项 NOLABEL;尝试其中之一

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

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

options label=0;
于 2020-08-18T10:44:06.417 回答