<?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 Retain observation if no value (sum as 0, instead of no observation) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626134#M184638</link>
    <description>&lt;P&gt;I will try to explain this the best I can, but I don't even really know what I'm asking for... I have account numbers, and sums of paid amounts split by quarter:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ACCOUNT_ID&lt;/TD&gt;&lt;TD&gt;Paid&lt;/TD&gt;&lt;TD&gt;Quarter&lt;/TD&gt;&lt;TD&gt;Invoice_Amount&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q1&lt;/TD&gt;&lt;TD&gt;1000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q3&lt;/TD&gt;&lt;TD&gt;1250&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q4&lt;/TD&gt;&lt;TD&gt;900&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Notice in this hypothetical, there was no invoice amount for 2019 Q2, so there is no observation... I would like to still have a row for 2019 Q2, with Invoice_amount as summed as 0, even though there aren't any Q2 claims in the dataset&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;edit: I should also mention that the Quarter date is based on the data date range pulled, so I don't want to manually enter the missing date each time&lt;/P&gt;</description>
    <pubDate>Thu, 20 Feb 2020 13:38:48 GMT</pubDate>
    <dc:creator>vanpeltm1785</dc:creator>
    <dc:date>2020-02-20T13:38:48Z</dc:date>
    <item>
      <title>Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626134#M184638</link>
      <description>&lt;P&gt;I will try to explain this the best I can, but I don't even really know what I'm asking for... I have account numbers, and sums of paid amounts split by quarter:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ACCOUNT_ID&lt;/TD&gt;&lt;TD&gt;Paid&lt;/TD&gt;&lt;TD&gt;Quarter&lt;/TD&gt;&lt;TD&gt;Invoice_Amount&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q1&lt;/TD&gt;&lt;TD&gt;1000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q3&lt;/TD&gt;&lt;TD&gt;1250&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;Y&lt;/TD&gt;&lt;TD&gt;2019 Q4&lt;/TD&gt;&lt;TD&gt;900&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Notice in this hypothetical, there was no invoice amount for 2019 Q2, so there is no observation... I would like to still have a row for 2019 Q2, with Invoice_amount as summed as 0, even though there aren't any Q2 claims in the dataset&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;edit: I should also mention that the Quarter date is based on the data date range pulled, so I don't want to manually enter the missing date each time&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:38:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626134#M184638</guid>
      <dc:creator>vanpeltm1785</dc:creator>
      <dc:date>2020-02-20T13:38:48Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626136#M184639</link>
      <description>&lt;P&gt;Is quarter a character variable?&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:38:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626136#M184639</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-02-20T13:38:25Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626140#M184640</link>
      <description>&lt;P&gt;Yes, it is created with this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;		,CASE WHEN DATEPART(C.SERVICE_DT) LE &amp;amp;PRIOR. THEN CAT(YEAR(&amp;amp;PRIOR.),' Q',QTR(&amp;amp;PRIOR.),' AND PRIOR') ELSE
		cat(YEAR(DATEPART(C.SERVICE_DT)),' Q',QTR(DATEPART(C.SERVICE_DT))) END AS QUARTER&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:40:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626140#M184640</guid>
      <dc:creator>vanpeltm1785</dc:creator>
      <dc:date>2020-02-20T13:40:38Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626142#M184641</link>
      <description>&lt;P&gt;This is a classic complete the square problem.&lt;/P&gt;
&lt;P&gt;There is an on going discussion of a similar issue on this thread. Just use one of the techniques there.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://urldefense.proofpoint.com/v2/url?u=https-3A__communities.sas.com_t5_SAS-2DProgramming_Help-2Din-2Dmy-2Dpgm-2Dlogic_m-2Dp_626057-23M184591&amp;amp;d=DwMCaQ&amp;amp;c=UE1eNsedaKncO0Yl_u8bfw&amp;amp;r=QiurnrMM0V4kByOIVof0m_6qyx57kapPHtrDTpomtjY&amp;amp;m=BW0wAZHgroN8xujITkGOJeKKtM3p-2088KcNEYZ92ns&amp;amp;s=Gi4fJezmd8JXTNUA_ujbVeLOuL_HRCEmN_1QWsgDMyo&amp;amp;e=" target="_blank"&gt;Re: Help in my pgm logic&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:45:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626142#M184641</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2020-02-20T13:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626143#M184642</link>
      <description>&lt;P&gt;How is the date range available when the code is run?&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:46:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626143#M184642</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-02-20T13:46:06Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626146#M184644</link>
      <description>&lt;P&gt;There are several ways to do this.. Here is one. I added another ACCOUNT_ID for multiple group demonstration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ACCOUNT_ID $ 1-6 Paid $ 8 Quarter $ 10-16 Invoice_Amount;
datalines;
123456 Y 2019 Q1 1000
123456 Y 2019 Q3 1250
123456 Y 2019 Q4 900
654321 Y 2019 Q2 1000
654321 Y 2019 Q4 1250
;

data want(drop=rc);
    if _N_=1 then do;
        declare hash h (dataset : 'have');
        h.definekey ('ACCOUNT_ID', 'Quarter');
        h.definedata (all : 'Y');
        h.definedone();
    end;

    set have;
    by account_id;

    if first.account_id then do Quarter = '2019 Q1', '2019 Q2', '2019 Q3', '2019 Q4';
        Invoice_Amount = 0;
        rc = h.find();
        output;
    end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;ACCOUNT_ID Paid Quarter   Invoice_Amount 
123456     Y    2019 Q1   1000 
123456     Y    2019 Q2   0 
123456     Y    2019 Q3   1250 
123456     Y    2019 Q4   900 
654321     Y    2019 Q1   0 
654321     Y    2019 Q2   1000 
654321     Y    2019 Q3   0 
654321     Y    2019 Q4   1250 &lt;/PRE&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:47:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626146#M184644</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-02-20T13:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626150#M184647</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Try this:&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile cards dlm="\";
  input ACCOUNT_ID Paid	: $ 1. Quarter : $ 7. Invoice_Amount;
cards;
123456\Y\2019 Q1\1000
123456\Y\2019 Q3\1250
123456\Y\2019 Q4\900
123457\Y\2019 Q1\3000
123457\Y\2019 Q3\3250
;
run;

proc sort data = have;
  by ACCOUNT_ID Quarter;
run;

proc sql;
  create table _tmp_ as
  select distinct ACCOUNT_ID
  from have
  ;
run;

data _tmp_;
  set _tmp_;
  start = input("2018Q04", yyq7.);
  length Quarter $ 7;
  do i = 0 to 5;
    Quarter = tranwrd(put(intnx("quarter", start, i), yyqp6.), ".", " Q");  
    output;
  end;
  keep ACCOUNT_ID Quarter;
run;

data want;
  merge _tmp_  have;
  by ACCOUNT_ID Quarter;
  Invoice_Amount = coalesce(Invoice_Amount,0);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All the best&lt;/P&gt;&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 13:59:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626150#M184647</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2020-02-20T13:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626169#M184649</link>
      <description>&lt;P&gt;Hmm, these solutions are all way above my head, to the point where I cannot apply them to my unique situation and get the output&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 15:15:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626169#M184649</guid>
      <dc:creator>vanpeltm1785</dc:creator>
      <dc:date>2020-02-20T15:15:35Z</dc:date>
    </item>
    <item>
      <title>Re: Retain observation if no value (sum as 0, instead of no observation)</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626176#M184650</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/161731"&gt;@vanpeltm1785&lt;/a&gt;&amp;nbsp;What makes your actual problem more unique than the problem you posted?&lt;/P&gt;</description>
      <pubDate>Thu, 20 Feb 2020 15:24:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Retain-observation-if-no-value-sum-as-0-instead-of-no/m-p/626176#M184650</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-02-20T15:24:58Z</dc:date>
    </item>
  </channel>
</rss>

