<?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 Defining conditions when two datasets are merged in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Defining-conditions-when-two-datasets-are-merged/m-p/882240#M348574</link>
    <description>&lt;P&gt;Dear Madam/Sir,&lt;/P&gt;&lt;P&gt;I would like to add conditions when two datasets are merged.&lt;/P&gt;&lt;P&gt;That is, how can we add conditions 'when cartel_byear=&amp;lt;cyear&amp;lt;=cartel_eyear then cartel_year=1; else cartel_year=0' when c2 (firm-year population) and ca3 are merged.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql undo_policy=none;&lt;BR /&gt;create table c3 as select&lt;BR /&gt;c2.*,ca3.cartel_byear, ca3.cartel_eyear&lt;BR /&gt;from c2 left join ca3 on&lt;BR /&gt;&lt;U&gt;when cartel_byear=&amp;lt;cyear&amp;lt;=cartel_eyear then cartel_year=1; else cartel_year=0;&lt;/U&gt;&lt;BR /&gt;(c2.gvkey=ca3.gvkey) ;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;dataset ca3&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV align="center"&gt;Obs gvkey cartel_byear cartel_eyear12345 &lt;TABLE cellspacing="0" cellpadding="5"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;178698&lt;/TD&gt;&lt;TD&gt;2000&lt;/TD&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;TD&gt;1987&lt;/TD&gt;&lt;TD&gt;1995&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;dataset c2 (firm-year population)&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV align="center"&gt;Obs GVKEY FYEAR12345 &lt;TABLE cellspacing="0" cellpadding="5"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1970&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1971&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1972&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1973&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1974&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help will be highly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Joon&lt;/P&gt;</description>
    <pubDate>Sat, 24 Jun 2023 00:49:29 GMT</pubDate>
    <dc:creator>joon1</dc:creator>
    <dc:date>2023-06-24T00:49:29Z</dc:date>
    <item>
      <title>Defining conditions when two datasets are merged</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-conditions-when-two-datasets-are-merged/m-p/882240#M348574</link>
      <description>&lt;P&gt;Dear Madam/Sir,&lt;/P&gt;&lt;P&gt;I would like to add conditions when two datasets are merged.&lt;/P&gt;&lt;P&gt;That is, how can we add conditions 'when cartel_byear=&amp;lt;cyear&amp;lt;=cartel_eyear then cartel_year=1; else cartel_year=0' when c2 (firm-year population) and ca3 are merged.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql undo_policy=none;&lt;BR /&gt;create table c3 as select&lt;BR /&gt;c2.*,ca3.cartel_byear, ca3.cartel_eyear&lt;BR /&gt;from c2 left join ca3 on&lt;BR /&gt;&lt;U&gt;when cartel_byear=&amp;lt;cyear&amp;lt;=cartel_eyear then cartel_year=1; else cartel_year=0;&lt;/U&gt;&lt;BR /&gt;(c2.gvkey=ca3.gvkey) ;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;dataset ca3&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV align="center"&gt;Obs gvkey cartel_byear cartel_eyear12345 &lt;TABLE cellspacing="0" cellpadding="5"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;178698&lt;/TD&gt;&lt;TD&gt;2000&lt;/TD&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2013&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21542&lt;/TD&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1004&lt;/TD&gt;&lt;TD&gt;1987&lt;/TD&gt;&lt;TD&gt;1995&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;dataset c2 (firm-year population)&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV&gt;&lt;DIV align="center"&gt;Obs GVKEY FYEAR12345 &lt;TABLE cellspacing="0" cellpadding="5"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1970&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1971&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1972&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1973&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;001000&lt;/TD&gt;&lt;TD&gt;1974&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help will be highly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sincerely,&lt;/P&gt;&lt;P&gt;Joon&lt;/P&gt;</description>
      <pubDate>Sat, 24 Jun 2023 00:49:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-conditions-when-two-datasets-are-merged/m-p/882240#M348574</guid>
      <dc:creator>joon1</dc:creator>
      <dc:date>2023-06-24T00:49:29Z</dc:date>
    </item>
    <item>
      <title>Re: Defining conditions when two datasets are merged</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Defining-conditions-when-two-datasets-are-merged/m-p/882243#M348575</link>
      <description>&lt;P&gt;If you want us to provide tested code then please provide your sample data in the form of a working SAS data step. Take the discussion &lt;A href="https://communities.sas.com/t5/SAS-Programming/Find-the-1st-and-2nd-largest-value-with-varies-window/m-p/881162#M348182" target="_self"&gt;here&lt;/A&gt; as an example how to provide such information.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If I understand right then you want to create a new variable with a value populated on some condition. That would be done in the SELECT statement via a CASE expression.&lt;BR /&gt;Docu for CASE is &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/fedsqlref/n09kux4rsaumc8n17ubglbf83r98.htm" target="_self"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below code not tested.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql undo_policy=none;
  create table c3 as 
    select
      c2.*
      ,ca3.cartel_byear 
      ,ca3.cartel_eyear
      ,case
        when ca3.cartel_byear=&amp;lt;cyear&amp;lt;=ca3.cartel_eyear then 1 
        else 0
        end as cartel_year
    from c2 left join ca3 
      on c2.gvkey=ca3.gvkey
  ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;CODE class=" language-sas"&gt;&lt;/CODE&gt;From the data provided it was unclear to me from which source table&amp;nbsp;&lt;CODE class=" language-sas"&gt;cyear&lt;/CODE&gt;&amp;nbsp;is coming. You will eventually have to add the table alias to it for things to work. If the variable only exists in one of the tables then things will also work without that alias - but it's cleaner to always add it.&amp;nbsp;&lt;BR /&gt;&lt;CODE class=" language-sas"&gt;ca3.cartel_byear=&amp;lt;cyear&amp;lt;=ca3.cartel_eyear&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 24 Jun 2023 02:52:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Defining-conditions-when-two-datasets-are-merged/m-p/882243#M348575</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-06-24T02:52:47Z</dc:date>
    </item>
  </channel>
</rss>

