如何创建自定义 sas 数据集
How to create a custom sas dataset
proc sql;
select *
INTO: SAGIA
From Sasoprsk.Cust_field_value, Sasoprsk.Cust_obj_7
Where Cust_field_value.BUSINESS_OBJECT_RK eq Cust_obj_7.CUST_OBJ_7_ID;
run;
data Work.Temp = &SAGIA;
run;
我想创建一个自定义数据集,其中 BUSINESS_OBJECT_RK 列值等于 CUST_OBJ_7_ID,但一个是字符串类型,一个是数字类型。所以它不起作用然后我想在我选择的字段的工作库中创建一个数据集,因为我在上面编写了代码但它没有用。
proc print data=&SAGIA
工作正常,但数据语句给我一个语法错误,表示缺少某些内容。
data Work.Temp = &SAGIA._ALL_;
没用
data Work.Temp = &SAGIA _null_;
没用
为什么不直接创建 table 而不是创建宏并将其存储到数据集中?
data abc;
input a . b;
cards;
1 20
2 30
3 40
;
run;
data pqr;
input p q;
cards;
1 1000
3 7000
;
run;
1) 使用过程 sql
proc sql;
create table sagia as
select *
From abc, pqr
Where input(abc.a,1.) eq pqr.p;
run;
2) 使用合并
data abc;
set abc;
p = a*1; /* converts character column a into numeric column p */
/*or p=input(a,1.);*/
drop a;
run;
proc sort data=abc;
by p;
run;
proc sort data=pqr;
by p;
run;
data sagia;
merge abc(in=table1) pqr(in=table2);
by p;
if table1 and table2;
run;
如果还需要什么,请告诉我。
proc sql;
select *
INTO: SAGIA
From Sasoprsk.Cust_field_value, Sasoprsk.Cust_obj_7
Where Cust_field_value.BUSINESS_OBJECT_RK eq Cust_obj_7.CUST_OBJ_7_ID;
run;
data Work.Temp = &SAGIA;
run;
我想创建一个自定义数据集,其中 BUSINESS_OBJECT_RK 列值等于 CUST_OBJ_7_ID,但一个是字符串类型,一个是数字类型。所以它不起作用然后我想在我选择的字段的工作库中创建一个数据集,因为我在上面编写了代码但它没有用。
proc print data=&SAGIA
工作正常,但数据语句给我一个语法错误,表示缺少某些内容。
data Work.Temp = &SAGIA._ALL_;
没用
data Work.Temp = &SAGIA _null_;
没用
为什么不直接创建 table 而不是创建宏并将其存储到数据集中?
data abc;
input a . b;
cards;
1 20
2 30
3 40
;
run;
data pqr;
input p q;
cards;
1 1000
3 7000
;
run;
1) 使用过程 sql
proc sql;
create table sagia as
select *
From abc, pqr
Where input(abc.a,1.) eq pqr.p;
run;
2) 使用合并
data abc;
set abc;
p = a*1; /* converts character column a into numeric column p */
/*or p=input(a,1.);*/
drop a;
run;
proc sort data=abc;
by p;
run;
proc sort data=pqr;
by p;
run;
data sagia;
merge abc(in=table1) pqr(in=table2);
by p;
if table1 and table2;
run;
如果还需要什么,请告诉我。