【问题标题】:Base SAS programming基础 SAS 编程
【发布时间】:2017-02-01 06:18:15
【问题描述】:

我的数据集包含一个名为“REPORTING_ENTITY”的字符串形式的变量。现在,我想从该变量创建一个新数据集,其中包含一个观察结果,其中包含来自“REPORTING_ENTITY”的关键字为('Bank'、'Loan'、'Cooperative'、'SBI'、'Insurance')的观察结果,还希望从原始数据集。我做了类似的事情:

data class.sample;
set work.sample;
where REPORTING_ENTITY contains ('Bank','Loan','Cooperative','SBI','Insurance');
run;

这将使用提到的关键字创建一个新数据集,但不会从原始数据集中删除..

【问题讨论】:

  • 您能发布一些示例数据以及您希望结果的样子吗?您希望搜索和替换区分大小写吗?你想匹配整个单词还是部分单词?例如“Citibank”是否应该转换为“Citi”?
  • 不...我希望将整个花旗银行从数据集中删除
  • 您错过了第一部分,发布了反映您问题的示例数据。

标签: sas analytics


【解决方案1】:

一种方法是覆盖输入数据集,同时创建一个新的输出数据集:

data class.sample
     work.sample;
set work.sample;
if REPORTING_ENTITY in ('Bank','Loan','Cooperative','SBI','Insurance') 
  then output class.sample;
  else output work.sample;
run;

【讨论】: