<?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: Adding records when PROC SQL doesn't give any count record = 0. in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158080#M30881</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could create a template dataset as KurtBremser has stated.&amp;nbsp; Its probably easy enough.&amp;nbsp; Alternatively you could think about it this way, create and empty results table, then using data _null_ with a do loop, generate insert statements for each year:&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YEAR num,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOI num&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do I=0 to 13;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('proc sql;&lt;/P&gt;&lt;P&gt;&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; insert into WANT&lt;/P&gt;&lt;P&gt;&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; set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YEAR='||strip(put(2000+i,best.))||',&lt;/P&gt;&lt;P&gt;&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; NOI=(select count(IND) from HAVE where YEAR='||strip(put(2000+i,best.))||' and INCOME &amp;gt; 10000);&lt;/P&gt;&lt;P&gt;&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; quit;');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 27 Jun 2014 08:09:29 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2014-06-27T08:09:29Z</dc:date>
    <item>
      <title>Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158078#M30879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Suppose I have used PROC SQL to find the number of individuals each year, in the time period 2000 - 2013, having an income .above 100000, like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql&lt;/P&gt;&lt;P&gt;create table nr_of_ind as&lt;/P&gt;&lt;P&gt;select year, count(ind) as noi&lt;/P&gt;&lt;P&gt;from my_table&lt;/P&gt;&lt;P&gt;group by year&lt;/P&gt;&lt;P&gt;having income &amp;gt; 100000;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the number of individuals is zero any year, PROC SQL doesn't give any record with thar year and the number 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What's the best way to add records with YEAR data, and NOI = 0 to the table nr_of_ind, in such cases?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 06:38:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158078#M30879</guid>
      <dc:creator>attjooo</dc:creator>
      <dc:date>2014-06-27T06:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158079#M30880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc sort data=my_table;&lt;/P&gt;&lt;P&gt;by year;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data nr_of_ind (keep=year noi);&lt;/P&gt;&lt;P&gt;set my_table;&lt;/P&gt;&lt;P&gt;by year;&lt;/P&gt;&lt;P&gt;retain noi;&lt;/P&gt;&lt;P&gt;if first.year then noi = 0;&lt;/P&gt;&lt;P&gt;if income &amp;gt; 100000 then noi + 1;&lt;/P&gt;&lt;P&gt;if last.year then output;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This would only fail to give you an output if you have no individual entry for a given year at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Another option would be to create a table with only "year" from 2000 to 2013, and merge/join that back with your initial result and set noi to zero if no record in my_table is present.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 06:55:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158079#M30880</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2014-06-27T06:55:32Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158080#M30881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You could create a template dataset as KurtBremser has stated.&amp;nbsp; Its probably easy enough.&amp;nbsp; Alternatively you could think about it this way, create and empty results table, then using data _null_ with a do loop, generate insert statements for each year:&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table WANT&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YEAR num,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOI num&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;data _null_;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do I=0 to 13;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; call execute('proc sql;&lt;/P&gt;&lt;P&gt;&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; insert into WANT&lt;/P&gt;&lt;P&gt;&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; set&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YEAR='||strip(put(2000+i,best.))||',&lt;/P&gt;&lt;P&gt;&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; NOI=(select count(IND) from HAVE where YEAR='||strip(put(2000+i,best.))||' and INCOME &amp;gt; 10000);&lt;/P&gt;&lt;P&gt;&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; quit;');&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 08:09:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158080#M30881</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2014-06-27T08:09:29Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158081#M30882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The "best" way to do this is to use the features of PROC SUMMARY COMPLETETYPES and PRELOADFMT or CLASSDATA. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 10:38:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158081#M30882</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2014-06-27T10:38:27Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158082#M30883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does these year have already been involved into your data ? What does your sample data look like ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 27 Jun 2014 12:25:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158082#M30883</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2014-06-27T12:25:56Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158083#M30884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for your answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kurt Bremser, you wrote: "Another option would be to create a table with only "year" from 2000 to 2013, and merge/join that back with your initial result and set noi to zero if no record in my_table is present."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How could I combine a join with an if, in proc sql?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2014 12:58:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158083#M30884</guid>
      <dc:creator>attjooo</dc:creator>
      <dc:date>2014-06-30T12:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: Adding records when PROC SQL doesn't give any count record = 0.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158084#M30885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You do it in a data step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data lookup;&lt;/P&gt;&lt;P&gt;do year = 2000 to 2013;&lt;/P&gt;&lt;P&gt;output;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data nr_of_ind2;&lt;/P&gt;&lt;P&gt;merge&lt;/P&gt;&lt;P&gt;&amp;nbsp; nr_of_ind (in=in_noi)&lt;/P&gt;&lt;P&gt;&amp;nbsp; lookup&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;by year;&lt;/P&gt;&lt;P&gt;if not in_noi then noi = 0;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jun 2014 13:05:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Adding-records-when-PROC-SQL-doesn-t-give-any-count-record-0/m-p/158084#M30885</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2014-06-30T13:05:58Z</dc:date>
    </item>
  </channel>
</rss>

