使用proc sql,其中至少有一列是一个值

Jes*_*ren 3 sas where-clause proc-sql

我怎么写sas:

proc sql; 
create table THIS as 
        select * 
        from MAIN(keep=id col1 -- col34)
    where (AT LEAST ONE OF THE COLUMNS contains 1) ;
    ; 
Run Code Online (Sandbox Code Playgroud)

我有一个问题,弄清楚如何写最后一行bc我想保留所有列,所以我不只是检查一列,我想检查所有列.

Tom*_*Tom 5

如果使用DATA步骤而不是PROC SQL,则可以获得更大的灵活性,因为您无法在PROC SQL代码中使用变量列表.

假设列表中的所有变量都是数字变量,您可以执行类似的操作.

data this;
   set main ;
   keep id col1 -- col34;
   if whichn(1,of col1 -- col34);
run;
Run Code Online (Sandbox Code Playgroud)