<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: create new column in a data set where same variables between two data sets are identified with a in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353076#M273840</link>
    <description>&lt;P&gt;A SQL Left Join is what you need, plus a CASE statement to identify the source record.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have1;
input Mid Cid;
cards;
5 36
8 46
16 65
17 69
29 78
31 85
48 90
53 99
56 115
58 123
63 142
71 151
180 160
540 169
120 173
160 181
175 190
142 200
;
run;
 
Data have2;
input Pid;
cards;
8
16
29
48
53
56
63
71
180
540
120
;
run;

proc sql;
create table want as
select h1.*, 
    case when missing(h2.pid) then 0
    else 1
    end as flag
from have1 as h1
left join have2 as h2
on h1.mid=h2.pid;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 25 Apr 2017 02:54:30 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-04-25T02:54:30Z</dc:date>
    <item>
      <title>create new column in a data set where same variables between two data sets are identified with a 1</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353072#M273839</link>
      <description>&lt;P&gt;I have this data set to deal with, its kinda complicated to explain but I will try my best. Please let me know if I need to elobrate more.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below I have pasted in what the data sets I have (this is just a small set I made up the actual data set has thousands of rows) and what the desired output needs to be. Basically the variables in Pid (data set b) match some of the variables in Mid (data set a). I need to create a column (F1) where when Mid=Pid the corresponding row is equal to 1, and if the Pid is missing the corresponding row in F1 is 0. I have tried doing this in proq sql, but proc sql is very new to me. I really appreciate any sort of guidance or help.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set a&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Mid&lt;/TD&gt;&lt;TD&gt;Cid&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;69&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;78&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;85&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;48&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;53&lt;/TD&gt;&lt;TD&gt;99&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;TD&gt;115&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;58&lt;/TD&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;63&lt;/TD&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;71&lt;/TD&gt;&lt;TD&gt;151&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;180&lt;/TD&gt;&lt;TD&gt;160&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;540&lt;/TD&gt;&lt;TD&gt;169&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;173&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;160&lt;/TD&gt;&lt;TD&gt;181&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;175&lt;/TD&gt;&lt;TD&gt;190&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set b&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Pid&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;48&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;53&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;63&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;71&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;180&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;540&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I want to get&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Mid&lt;/TD&gt;&lt;TD&gt;Cid&lt;/TD&gt;&lt;TD&gt;Fid&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;36&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;46&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;65&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;69&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;78&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;85&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;48&lt;/TD&gt;&lt;TD&gt;90&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;53&lt;/TD&gt;&lt;TD&gt;99&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;TD&gt;115&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;58&lt;/TD&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;63&lt;/TD&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;71&lt;/TD&gt;&lt;TD&gt;151&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;180&lt;/TD&gt;&lt;TD&gt;160&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;540&lt;/TD&gt;&lt;TD&gt;169&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;173&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;160&lt;/TD&gt;&lt;TD&gt;181&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;175&lt;/TD&gt;&lt;TD&gt;190&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;142&lt;/TD&gt;&lt;TD&gt;200&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 25 Apr 2017 02:34:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353072#M273839</guid>
      <dc:creator>IsoscelesKramer</dc:creator>
      <dc:date>2017-04-25T02:34:06Z</dc:date>
    </item>
    <item>
      <title>Re: create new column in a data set where same variables between two data sets are identified with a</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353076#M273840</link>
      <description>&lt;P&gt;A SQL Left Join is what you need, plus a CASE statement to identify the source record.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have1;
input Mid Cid;
cards;
5 36
8 46
16 65
17 69
29 78
31 85
48 90
53 99
56 115
58 123
63 142
71 151
180 160
540 169
120 173
160 181
175 190
142 200
;
run;
 
Data have2;
input Pid;
cards;
8
16
29
48
53
56
63
71
180
540
120
;
run;

proc sql;
create table want as
select h1.*, 
    case when missing(h2.pid) then 0
    else 1
    end as flag
from have1 as h1
left join have2 as h2
on h1.mid=h2.pid;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 25 Apr 2017 02:54:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353076#M273840</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-04-25T02:54:30Z</dc:date>
    </item>
    <item>
      <title>Re: create new column in a data set where same variables between two data sets are identified with a</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353080#M273841</link>
      <description>&lt;P&gt;You need a left join:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data a;
input Mid	Cid;
datalines;
5	36
8	46
16	65
17	69
29	78
31	85
48	90
53	99
56	115
58	123
63	142
71	151
180	160
540	169
120	173
160	181
175	190
142	200
;

data b;
input Pid;
datalines;
8
16
29
48
53
56
63
71
180
540
120
;

proc sql;
create table c as
select 
    a.*, 
    b.Pid is not missing as Fid
from
    a left join
    b on a.Mid=b.Pid;
select * from c;
quit;


&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 25 Apr 2017 03:04:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353080#M273841</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2017-04-25T03:04:11Z</dc:date>
    </item>
    <item>
      <title>Re: create new column in a data set where same variables between two data sets are identified with a</title>
      <link>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353455#M273842</link>
      <description>&lt;P&gt;Thanks so much for the help! I didn't know about the case statement for proc sql.&lt;/P&gt;</description>
      <pubDate>Tue, 25 Apr 2017 20:55:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/create-new-column-in-a-data-set-where-same-variables-between-two/m-p/353455#M273842</guid>
      <dc:creator>IsoscelesKramer</dc:creator>
      <dc:date>2017-04-25T20:55:02Z</dc:date>
    </item>
  </channel>
</rss>

