SAS : keep if exists

标签 sas selection

我有几个数据库,每个地理变量一个,我想将其添加到最后。我正在对它们执行一些数据步骤。由于我有大型数据库,因此当我第一次调用每个表时,我只选择我需要的变量。但在其中一个变量始终等于 0 的表中,该变量不在表中。

因此,当我在 for 循环中选择我的 (keep=var) 时,如果变量存在,它会正常工作,但在其他情况下会产生错误,因此这些表将被忽略。

%do i=1 to 10 ; 

data temp;
    set area_i(keep= var1 var2);
run;

proc append base=want data=temp force; 
run;

%end;

有没有简单的方法来解决这个问题?

最佳答案

事实上,我找到了一个解决方案:DKRICOND(或 DKROCOND)选项指定在处理 DROP=、KEEP 期间输入(或输出)数据集中分别缺少变量时报告的错误检测级别=,或 RENAME= 数据集选项。

选项为DKRICOND=ERROR |警告 |警告|现在警告 |没有警告,所以你只需挥手即可设置

dkricond=warn

/*your program, in my case :*/
%do i=1 to 10 ; 
data temp;
    set area_i(keep= var1 var2);
run;
proc append base=want data=temp force; 
run;
%end;

dkricond=error /* the standard value, probably better to set it back after/ */

关于SAS : keep if exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26651343/

相关文章:

sas - 列出库中的所有目录

java - 通过点击位置从 JList 中获取一个组件

c# - 不同的数组类型作为方法的参数

c++ - 从 gtk treeview 的选定行获取数据 - gtkmm,c++

java - Android - 如何在 GridView 中选择一个项目?

javascript - SAS、PHP 或 JavaScript 中的梅登黑德网格平方函数

SAS宏变量变化+数组索引

python - pandas 中的大而持久的 DataFrame

css - 使div中的文本可选择,但使父div不可选(wordpress)

sas - 抑制 SAS 中的警告语句