小编Ram*_*amB的帖子

哪个更快,哪里声明或哪里有数据集选项

问题非常简单,哪一个更快?

考虑到我们在set语句中使用带有两个数据集的数据步骤,并且数据集中包含相同的变量.

从我听过和读过的内容来看,如果我们使用相同的条件对它们进行子集,比如说date ="10jan2014"d,那么使用上面的语句或两个数据集中的以下数据集选项(其中=(date)结果将完全相同= "10jan2014" d)).因为在任何事物进入PDV之前执行的地方.

是对的吗?

为了更好地理解这个问题,我创建了以下代码:

假设我们有这两个数据集.

data people1;
format birth date9.;
input name $ birth :date9.;
datalines;
John 18jan1980
Mary 20feb1980
;
run;

data people2;
format birth date9.;
input name $ birth :date9.;
datalines;
Peter 18mar1980
Judas 18jan1980
;
run;
Run Code Online (Sandbox Code Playgroud)

我想用这两个创建一个新数据集,但仅适用于出生日期等于18jan1980的人.现在我可以使用where语句或where数据集选项.

使用where(数据集选项):

data everybody1;
set people1 (where=(birth="18jan1980"d))
    people2 (where=(birth="18jan1980"d));
run;
Run Code Online (Sandbox Code Playgroud)

使用where语句:

data everybody2;
set people1
    people2;
where birth="18jan1980"d;
run;
Run Code Online (Sandbox Code Playgroud)

现在,新数据集具有完全相同的输出.但是哪一个更快?

谢谢.

sas

5
推荐指数
1
解决办法
2744
查看次数

标签 统计

sas ×1