我有一个如下所示的数据集,并且正在使用 SAS Enterprise Guide 6.3:
data have;
input id state $;
cards;
134 NC,NY,SC
145 AL,NC,NY,SC
;
run;
我有另一个数据集,其中每个州的每个 id 都有多个指标,但我只需要提取数据集第二列中列出的州的数据。
data complete;
input id state $ metric;
cards;
134 AL 5
134 NC 4.3
134 NY 4
134 SC 5.5
145 AL 1.3
145 NC 1.3
145 NY 1.5
145 SC 1.1
177 AL 10
177 NC 74
177 NY 23
177 SC 33
;
run;
我考虑使用 trnwrd 将逗号替换为 ', ' 并连接开始和结束引号以使列表成为字符列表,以便我可以使用 WHERE IN 语句。但是,我认为如果我能以某种方式将逗号分隔列表转变成这样的内容会更有帮助:
data have_mod;
input id state $;
cards;
134 NC
134 NY
134 SC
145 AL
145 NC
145 NY
145 SC
;
run;
然后我可以简单地将该表连接到完整的数据表中以获得我需要的子集(如下)。
data want;
input id state $ metric;
cards;
134 NC 4.3
134 NY 4
134 SC 5.5
145 AL 1.3
145 NC 1.3
145 NY 1.5
145 SC 1.1
;
run;
有什么想法吗?谢谢。