<?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: Merging Data Set based on specified condition in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473733#M121597</link>
    <description>&lt;P&gt;Ok, so keep in a if it exists:&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;data datac (drop=tmp:);&lt;BR /&gt; merge dataa &lt;BR /&gt;       datab (rename=(kpi_1=tmp1 kpi_2=tmp2 x=tmp3);&lt;BR /&gt; by id date;&lt;BR /&gt; if kpi_1=. then kpi_1=tmp1;&lt;BR /&gt; if kpi_2=. then kpi_2=tmp2;&lt;BR /&gt; if x="" then x=tmp3;&lt;BR /&gt;run;&lt;/PRE&gt;
&lt;P&gt;I.e. rename the variables coming in from datab, then check if the variables after merge are missing, if so use b's version.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note not tested, post test data in the form of a datastep.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Jun 2018 13:48:29 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2018-06-27T13:48:29Z</dc:date>
    <item>
      <title>Merging Data Set based on specified condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473286#M121433</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm trying to merging two data sets based on some field in common and different observations.&lt;/P&gt;&lt;P&gt;I have something like that:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;TABLE 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TABLE 2&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;KPI_1&lt;/TD&gt;&lt;TD&gt;KPI_2&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;KPI_1&lt;/TD&gt;&lt;TD&gt;KPI_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;01JAN17&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;01JAN17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;01-feb-17&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;RED&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;01-mar-17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;01-mar-17&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;TD&gt;BMW&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;01JUN17&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;01-apr-17&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;OK&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want a third table with all&amp;nbsp;obs from TABLE_1 and all obs from&amp;nbsp;TABLE_2 (if id + date&amp;nbsp;are not in TABLE_1).&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below the wanted output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;KPI_1&lt;/TD&gt;&lt;TD&gt;KPI_2&lt;/TD&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;01JAN17&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;GREEN&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;01-feb-17&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;RED&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;01-mar-17&lt;/TD&gt;&lt;TD&gt;14&lt;/TD&gt;&lt;TD&gt;56&lt;/TD&gt;&lt;TD&gt;BMW&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;01-apr-17&lt;/TD&gt;&lt;TD&gt;15&lt;/TD&gt;&lt;TD&gt;67&lt;/TD&gt;&lt;TD&gt;OK&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;01-mar-17&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&lt;/TD&gt;&lt;TD&gt;01JUN17&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I wrote&amp;nbsp;the below code, but i'm missing something:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data dataa;
	length id $1 date $7 KPI_1 $6 KPI_2 $6 x $6;
	infile datalines dlm=",";
	input id date KPI_1 KPI_2 x;
	datalines;
A,01JAN17,10,23,GREEN
B,01FEB17,12,3,RED
C,01MAR17,14,56,BMW
D,01APR17,15,67,OK
;
run;

data datab;
	length id $1 date $7 KPI_1 $6 KPI_2 $6;
	infile datalines dlm=",";
	input id date KPI_1 KPI_2;
	datalines;
A,01JAN17,1,3
B,01MAR17,1,5
F,01JUN17,5,6
;
run;

data datac;
	merge dataa(in=a) datab(in=b);
	by id date;
	if a or not b;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could anyone help&amp;nbsp;me?&lt;/P&gt;&lt;P&gt;Thanks for your assistance.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Jun 2018 09:49:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473286#M121433</guid>
      <dc:creator>Trus</dc:creator>
      <dc:date>2018-06-26T09:49:48Z</dc:date>
    </item>
    <item>
      <title>Re: Merging Data Set based on specified condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473290#M121434</link>
      <description>&lt;P&gt;Just drop the if statement?&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;data datac;&lt;BR /&gt; merge dataa datab;&lt;BR /&gt; by id date;&lt;BR /&gt;run;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Jun 2018 10:08:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473290#M121434</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-06-26T10:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Merging Data Set based on specified condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473347#M121455</link>
      <description>&lt;P&gt;Thanks for your reply RW9, but actually your solution is not correct for my use case.&lt;/P&gt;&lt;P&gt;Because in this way the KPI_1 and KPI_2&amp;nbsp;&lt;SPAN&gt; fields should have the values from table 1 for ID A.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Below the wanted Output &amp;amp; Output wthout if condition:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;A&amp;nbsp;01JAN17&amp;nbsp;10&amp;nbsp;23&amp;nbsp;GREEN&lt;/STRONG&gt;&lt;BR /&gt;B&amp;nbsp;01FEB17&amp;nbsp;12&amp;nbsp;3&amp;nbsp;RED&lt;BR /&gt;B&amp;nbsp;01MAR17&amp;nbsp;1&amp;nbsp;5&amp;nbsp;&lt;BR /&gt;C&amp;nbsp;01MAR17&amp;nbsp;14&amp;nbsp;56&amp;nbsp;BMW&lt;BR /&gt;D&amp;nbsp;01APR17&amp;nbsp;15&amp;nbsp;67&amp;nbsp;OK&lt;BR /&gt;F&amp;nbsp;01JUN17&amp;nbsp;5&amp;nbsp;6&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;A&amp;nbsp;01JAN17&amp;nbsp;1&amp;nbsp;3&amp;nbsp;GREEN&lt;/STRONG&gt;&lt;BR /&gt;B&amp;nbsp;01FEB17&amp;nbsp;12&amp;nbsp;3&amp;nbsp;RED&lt;BR /&gt;B&amp;nbsp;01MAR17&amp;nbsp;1&amp;nbsp;5&amp;nbsp;&lt;BR /&gt;C&amp;nbsp;01MAR17&amp;nbsp;14&amp;nbsp;56&amp;nbsp;BMW&lt;BR /&gt;D&amp;nbsp;01APR17&amp;nbsp;15&amp;nbsp;67&amp;nbsp;OK&lt;BR /&gt;F&amp;nbsp;01JUN17&amp;nbsp;5&amp;nbsp;6&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jun 2018 13:19:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473347#M121455</guid>
      <dc:creator>Trus</dc:creator>
      <dc:date>2018-06-27T13:19:42Z</dc:date>
    </item>
    <item>
      <title>Re: Merging Data Set based on specified condition</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473733#M121597</link>
      <description>&lt;P&gt;Ok, so keep in a if it exists:&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;data datac (drop=tmp:);&lt;BR /&gt; merge dataa &lt;BR /&gt;       datab (rename=(kpi_1=tmp1 kpi_2=tmp2 x=tmp3);&lt;BR /&gt; by id date;&lt;BR /&gt; if kpi_1=. then kpi_1=tmp1;&lt;BR /&gt; if kpi_2=. then kpi_2=tmp2;&lt;BR /&gt; if x="" then x=tmp3;&lt;BR /&gt;run;&lt;/PRE&gt;
&lt;P&gt;I.e. rename the variables coming in from datab, then check if the variables after merge are missing, if so use b's version.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note not tested, post test data in the form of a datastep.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Jun 2018 13:48:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merging-Data-Set-based-on-specified-condition/m-p/473733#M121597</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2018-06-27T13:48:29Z</dc:date>
    </item>
  </channel>
</rss>

