【发布时间】:2020-02-20 03:51:04
【问题描述】:
在 SAS 中,Proc HPBIN,OUTPUT 选项不保留原始变量,如下所述
OUTPUT=SAS 数据集 以单机模式创建输出 SAS 数据集或以分布式模式与分布式数据库一起保存的数据库表。输出数据集或表包含分箱变量。 为避免大型数据集的数据重复,输入数据集中的变量不包含在输出数据集中。
--> 如何保留原始变量和 bin 编号?
【问题讨论】:
标签: sas
在 SAS 中,Proc HPBIN,OUTPUT 选项不保留原始变量,如下所述
OUTPUT=SAS 数据集 以单机模式创建输出 SAS 数据集或以分布式模式与分布式数据库一起保存的数据库表。输出数据集或表包含分箱变量。 为避免大型数据集的数据重复,输入数据集中的变量不包含在输出数据集中。
--> 如何保留原始变量和 bin 编号?
【问题讨论】:
标签: sas
将输出数据集与输入数据集进行 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;
【讨论】: