【问题标题】:(SAS) Proc HPBIN output with original variables(SAS) 带有原始变量的 Proc HPBIN 输出
【发布时间】:2020-02-20 03:51:04
【问题描述】:

在 SAS 中,Proc HPBIN,OUTPUT 选项不保留原始变量,如下所述

OUTPUT=SAS 数据集 以单机模式创建输出 SAS 数据集或以分布式模式与分布式数据库一起保存的数据库表。输出数据集或表包含分箱变量。 为避免大型数据集的数据重复,输入数据集中的变量不包含在输出数据集中

--> 如何保留原始变量和 bin 编号?

【问题讨论】:

    标签: sas


    【解决方案1】:

    将输出数据集与输入数据集进行 1:1 合并。

    例如:

    proc hpbin data=sashelp.orsales noprint out=profitbinned;
      var profit;
    run;
    
    data want;
      merge sashelp.orsales profitbinned;
      * 1:1 merge does not have a BY statement;
    run;
    

    如果输入数据具有主键或唯一键,您可以在 ID 语句中指定这些键变量,以确保更可靠的合并后合并:

    proc hpbin data=sashelp.citiday noprint out=dowcmp_binned;
      var SNYDJCM;
      id date;
    run;
    
    proc sql;
      create table want as 
      select bin.date, ticker.SNYDJCM, bin.bin_SNYDJCM
      from sashelp.citiday as ticker
      join work.dowcmp_binned as bin
      on ticker.date = bin.date
      order by bin.date;
    

    【讨论】:

    • 感谢理查德。我发现 ID 声明帮助最多
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2020-07-19
    • 2023-04-08
    相关资源
    最近更新 更多