<?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: add zero for missing value in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461671#M29762</link>
    <description>&lt;P&gt;Easy-peasy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Create a table of all the possible ID/Metric/Month combinations, and then left-join it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Have;
	length ID 8 Metric $1 Month 8 Score 8;
	input ID Metric Month Score;
	cards;
1 a 1 .9
1 b 1 .9
1 c 1 .8
1 d 1 .8
1 a 2 .7
1 c 2 .8
1 d 2 .8
1 b 3 .9
1 c 3 .6
1 d 3 .6
run;

data AllRecs;
	length Metric $1;
	Score = 0;

	do ID = 1 to 10;
		do Metric = "a", "b", "c", "d";
			do Month = 1 to 12;
				output;
			end;
		end;
	end;
run;

proc sql noprint;
	create table want as
		select a.ID, a.Metric, a.Month,
			case 
				when h.Score is missing then 0 
				else h.Score 
			end
		from AllRecs a left join Have h on a.ID = h.ID and a.Metric = h.Metric and a.Month = h.Month;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 11 May 2018 19:08:21 GMT</pubDate>
    <dc:creator>TomKari</dc:creator>
    <dc:date>2018-05-11T19:08:21Z</dc:date>
    <item>
      <title>add zero for missing value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461665#M29760</link>
      <description>&lt;P&gt;I have a data set that has ID, Metric, score and month but i am noticing some the ids data for month here or there for certain metrics&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what i have:&amp;nbsp;&lt;/P&gt;&lt;P&gt;id&amp;nbsp; &amp;nbsp; Metric&amp;nbsp; month&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; score&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; b&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; a&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.7&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp;d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp;b&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp;c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .6&lt;/P&gt;&lt;P&gt;1&amp;nbsp; d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;out put i want&amp;nbsp;&lt;/P&gt;&lt;P&gt;id&amp;nbsp; &amp;nbsp; Metric&amp;nbsp; month&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; score&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; b&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;a&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.7&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;b&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .8&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp;a&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; b&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.9&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; c&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .6&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp;d&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .6&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 18:44:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461665#M29760</guid>
      <dc:creator>hk2013</dc:creator>
      <dc:date>2018-05-11T18:44:14Z</dc:date>
    </item>
    <item>
      <title>Re: add zero for missing value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461671#M29762</link>
      <description>&lt;P&gt;Easy-peasy.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Create a table of all the possible ID/Metric/Month combinations, and then left-join it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data Have;
	length ID 8 Metric $1 Month 8 Score 8;
	input ID Metric Month Score;
	cards;
1 a 1 .9
1 b 1 .9
1 c 1 .8
1 d 1 .8
1 a 2 .7
1 c 2 .8
1 d 2 .8
1 b 3 .9
1 c 3 .6
1 d 3 .6
run;

data AllRecs;
	length Metric $1;
	Score = 0;

	do ID = 1 to 10;
		do Metric = "a", "b", "c", "d";
			do Month = 1 to 12;
				output;
			end;
		end;
	end;
run;

proc sql noprint;
	create table want as
		select a.ID, a.Metric, a.Month,
			case 
				when h.Score is missing then 0 
				else h.Score 
			end
		from AllRecs a left join Have h on a.ID = h.ID and a.Metric = h.Metric and a.Month = h.Month;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 11 May 2018 19:08:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461671#M29762</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2018-05-11T19:08:21Z</dc:date>
    </item>
    <item>
      <title>Re: add zero for missing value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461682#M29764</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id    Metric $  month        score;
cards;
1       a          1               .9
1      b           1               .9
1     c            1              .8
1    d             1            .8
1    a             2             .7
1    c             2            .8
1   d             2              .8
1   b             3             .9
1   c             3              .6
1  d             3              .6
;
proc sort data=have out=temp(keep=id month) nodupkey;
by id month;

data want;
if _n_=1 then do;
   dcl hash H (dataset:'have',multidata:'y',ordered: "A") ;
   h.definekey  ("id",'month','metric') ;
   h.definedata ('score') ;
   h.definedone () ;
end;
set temp;
by id month;
do _t=97 to 100;
metric=byte(_t);
if h.find() ne 0 then score=0;
output;
end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 11 May 2018 19:49:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461682#M29764</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-05-11T19:49:52Z</dc:date>
    </item>
    <item>
      <title>Re: add zero for missing value</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461685#M29765</link>
      <description>&lt;P&gt;SQL might be the easiest way to create a shell with the complete structure in it:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc sql noprint;&lt;/P&gt;
&lt;P&gt;create table id_list as select distinct id from have;&lt;/P&gt;
&lt;P&gt;create table metric_list as select distinct metric from have;&lt;/P&gt;
&lt;P&gt;create table month_list as select distinct month from have;&lt;/P&gt;
&lt;P&gt;create table all_values as select * from id_list, metric_list month_list&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;orderby id metric month;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Then fill in the blanks:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;merge all_values have (in=have_it);&lt;/P&gt;
&lt;P&gt;by id metric month;&lt;/P&gt;
&lt;P&gt;if have_it=0 then score = 0;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;</description>
      <pubDate>Fri, 11 May 2018 20:00:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/add-zero-for-missing-value/m-p/461685#M29765</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-05-11T20:00:15Z</dc:date>
    </item>
  </channel>
</rss>

