<?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: How to code a missing value in YTD data ? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/281602#M57134</link>
    <description>&lt;P&gt;If you summarise using proc means instead of proc sql,&amp;nbsp;you can load a CLASSDATA table to ensure all the crossings you want are created.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data HAVE;
  length PERIOD $3;
  retain VOLUME VAR0 1 ;
  do LOCATION='A','B';
    do i='01jan2016'd to '01sep2016'd;
      PERIOD='Q'||put(I,qtr.);
      output; 
    end; 
  end;
run;

data QTR;
  length PERIOD $3;
  do LOCATION='A','B';
    do I=1 to 4;
      PERIOD=cats('Q',I);
      output; 
    end; 
  end;
run;

proc means data=HAVE classdata=QTR noprint;
  class LOCATION PERIOD ;
  types LOCATION LOCATION*PERIOD;
  var VOLUME VAR0;
  output out=SUM sum=;
run;

data SUM2; 
  set SUM(where=(_TYPE_=3)) 
      SUM(where=(_TYPE_=2)) ;
  by LOCATION  ;
  if _TYPE_=2 then PERIOD='YTD';
run;

    
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 01 Jul 2016 02:05:49 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2016-07-01T02:05:49Z</dc:date>
    <item>
      <title>How to code a missing value in YTD data ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/281584#M57128</link>
      <description>&lt;P&gt;Dear sas user community,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;I develop codes to sum year to date data, the code as follows:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; proc sql; &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;create table ytd_data&amp;nbsp; as &lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;select location, &lt;BR /&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; qtr as period,&amp;nbsp;&amp;nbsp; /* qtr in Q1,Q2,Q3,Q4 */&lt;BR /&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; sum(volume) as volume, &lt;BR /&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; sum(var0) as var0&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;BR /&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; from (quarterly data)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&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; group by location , qtr&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;UNION&lt;BR /&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; select location, &lt;BR /&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; YTD as period,&amp;nbsp; &amp;nbsp;&lt;BR /&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; sum(volume) as volume, &lt;BR /&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; sum(var0) as var0&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;BR /&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; from (quarterly data)&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&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; group by location &lt;BR /&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; ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quit;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;As a result, I get the output :&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; location&amp;nbsp;&amp;nbsp; period volume var0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q1&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; (not exist this line if missing)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q2&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q3&amp;nbsp;&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Q4&amp;nbsp;&amp;nbsp;&amp;nbsp; 50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YTD&amp;nbsp;&amp;nbsp; 90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 29&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Then I transpose it to horizontal line :&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YTD&amp;nbsp; YTD_var0&amp;nbsp;&amp;nbsp;&amp;nbsp; Q1 Q1_var0&amp;nbsp; ... &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 90&amp;nbsp;&amp;nbsp;&amp;nbsp; 29&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Now if I have missing data on quarter (for example Q1) , I assign "." to it such as&lt;BR /&gt;&amp;nbsp;&amp;nbsp; Location&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; YTD&amp;nbsp; YTD_var0&amp;nbsp;&amp;nbsp;&amp;nbsp; Q1 Q1_var0 &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 90&amp;nbsp; 29&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; other quarters values&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; How can I code the missing quarter values for all locations (about 80) ?&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; I appreciate your support.&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; Regards,&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; WT196838&lt;/P&gt;</description>
      <pubDate>Thu, 30 Jun 2016 23:49:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/281584#M57128</guid>
      <dc:creator>wtien196838</dc:creator>
      <dc:date>2016-06-30T23:49:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to code a missing value in YTD data ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/281602#M57134</link>
      <description>&lt;P&gt;If you summarise using proc means instead of proc sql,&amp;nbsp;you can load a CLASSDATA table to ensure all the crossings you want are created.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;

data HAVE;
  length PERIOD $3;
  retain VOLUME VAR0 1 ;
  do LOCATION='A','B';
    do i='01jan2016'd to '01sep2016'd;
      PERIOD='Q'||put(I,qtr.);
      output; 
    end; 
  end;
run;

data QTR;
  length PERIOD $3;
  do LOCATION='A','B';
    do I=1 to 4;
      PERIOD=cats('Q',I);
      output; 
    end; 
  end;
run;

proc means data=HAVE classdata=QTR noprint;
  class LOCATION PERIOD ;
  types LOCATION LOCATION*PERIOD;
  var VOLUME VAR0;
  output out=SUM sum=;
run;

data SUM2; 
  set SUM(where=(_TYPE_=3)) 
      SUM(where=(_TYPE_=2)) ;
  by LOCATION  ;
  if _TYPE_=2 then PERIOD='YTD';
run;

    
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 01 Jul 2016 02:05:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/281602#M57134</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-07-01T02:05:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to code a missing value in YTD data ?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/282401#M57391</link>
      <description>&lt;P&gt;Thanks for ChrisNz. Based on your codes, I developed my program and resolved my issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best of all to sas user community.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;wtien196838&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Jul 2016 12:48:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-code-a-missing-value-in-YTD-data/m-p/282401#M57391</guid>
      <dc:creator>wtien196838</dc:creator>
      <dc:date>2016-07-06T12:48:05Z</dc:date>
    </item>
  </channel>
</rss>

