【问题标题】:I changed columns names, but SAS PROC REPORT still uses the old names我更改了列名,但 SAS PROC REPORT 仍使用旧名称
【发布时间】:2020-12-07 09:17:49
【问题描述】:

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

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

【问题讨论】:

    标签: sas ods proc-report


    【解决方案1】:

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

    label 'סניף'n = 'סניף';
    
    DEFINE 'סניף'n / group 'סניף';
    
    options label=0;
    

    【讨论】:

    • 为了防止标签错别字,您可以暂时清除变量的标签,在这种情况下,变量名称将用作默认标签。 label 'סניף'n = ' ';(确保标签值有一个空格)
    • DEFINE 'סניף'n / group ""; 也可以。 (确保双引号之间没有空格)
    【解决方案2】:

    我猜原始数据有标签。重命名变量后,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; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 1970-01-01
      • 1970-01-01
      • 2022-07-15
      • 1970-01-01
      相关资源
      最近更新 更多