Использование оператора WHERE SAME AND в шаге SAS DATA - PullRequest
0 голосов
/ 30 ноября 2018

Я новичок в изучении языка SAS.Я узнал, что в SAS мы используем пять операторов Special_where.Среди них один и тот же, где оператор.Может ли кто-нибудь помочь мне, как я буду использовать этот оператор с примером

Заранее спасибо

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете использовать оператор WHERE в шагах DATA, а также, возможно, более полезно в шагах PROC.WHERE SAME AND, который также, возможно, легче запомнить под другим именем WHERE ALSO, позволит вам использовать несколько операторов для добавления дополнительных ограничений.

Это легко увидеть на примере, подобном:

proc means data=sashelp.class ;
  where sex='M';
  where also age > 12 ;
  var height;
run;

, поскольку SAS будет выводить полученное условие поднабора в журнал.

1334  proc means data=sashelp.class ;
1335    where sex='M';
1336    where also age > 12 ;
NOTE: WHERE clause has been augmented.
1337    var height;
1338  run;

NOTE: Multiple concurrent threads will be used to summarize data.
NOTE: There were 6 observations read from the data set SASHELP.CLASS.
      WHERE (sex='M') and (age>12);

Обратите внимание, что при использовании операторов WHERE и WHERE ALSO порядок имеет значение.

1339  proc means data=sashelp.class ;
1340    where also age > 12 ;
NOTE: WHERE clause has been augmented.
1341    where sex='M';
NOTE: WHERE clause has been replaced.
1342    var height;
1343  run;

NOTE: Multiple concurrent threads will be used to summarize data.
NOTE: There were 10 observations read from the data set SASHELP.CLASS.
      WHERE sex='M';

Но вы всегда можете просто использовать WHERE ALSO для всех утверждений, и тогда порядок не имеет значения.

1344  proc means data=sashelp.class ;
1345    where also age > 12 ;
NOTE: WHERE clause has been augmented.
1346    where also sex='M';
NOTE: WHERE clause has been augmented.
1347    var height;
1348  run;

NOTE: Multiple concurrent threads will be used to summarize data.
NOTE: There were 6 observations read from the data set SASHELP.CLASS.
      WHERE (age>12) and (sex='M');
...