<?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: Issue with proc format in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617723#M181062</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/307390"&gt;@puramsarat&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/35763"&gt;@yabwon&lt;/a&gt;&amp;nbsp;writes, you need to specify a fuzz value. It works with this value:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*fuzz =   0.000000000000001
*value = 0.88000000000001
;
proc format;
	value tempfmt (fuzz=0.000000000000001) 
		low -&amp;lt; 0.205000 = 'VL'
		0.205000 -&amp;lt; 0.410000 = 'L'
		0.410000 -&amp;lt; 0.645000 = 'M'
		0.645000 -&amp;lt; 0.880000 = 'H'
		0.880000 - high = 'VH'
		other = ' '
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 16 Jan 2020 11:24:09 GMT</pubDate>
    <dc:creator>ErikLund_Jensen</dc:creator>
    <dc:date>2020-01-16T11:24:09Z</dc:date>
    <item>
      <title>Issue with proc format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617714#M181058</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have an issue with proc format&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For .88000000000001 value format should give ‘VH’ as it is greater than 0.88 but it is giving out ‘H’.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;format&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;value tempfmt low -&amp;lt; &lt;STRONG&gt;0.205000&lt;/STRONG&gt; = 'VL'&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0.205000&lt;/STRONG&gt; -&amp;lt; &lt;STRONG&gt;0.410000&lt;/STRONG&gt; = 'L'&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0.410000&lt;/STRONG&gt; -&amp;lt; &lt;STRONG&gt;0.645000&lt;/STRONG&gt; = 'M'&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0.645000&lt;/STRONG&gt; -&amp;lt; &lt;STRONG&gt;0.880000&lt;/STRONG&gt; = 'H'&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;0.880000&lt;/STRONG&gt; - high = 'VH'&lt;/P&gt;&lt;P&gt;other = ' '&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; funny;&lt;/P&gt;&lt;P&gt;input ORIGINAL_VALUE;&lt;/P&gt;&lt;P&gt;format ORIGINAL_VALUE best32.30;&lt;/P&gt;&lt;P&gt;informat ORIGINAL_VALUE best32.30;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;.87999999999999&lt;/P&gt;&lt;P&gt;.88000000000000&lt;/P&gt;&lt;P&gt;.88000000000001&lt;/P&gt;&lt;P&gt;.88000000000002&lt;/P&gt;&lt;P&gt;.88000000000003&lt;/P&gt;&lt;P&gt;.88000000000004&lt;/P&gt;&lt;P&gt;.88000000000005&lt;/P&gt;&lt;P&gt;.88000000000006&lt;/P&gt;&lt;P&gt;.88000000000007&lt;/P&gt;&lt;P&gt;.88000000000008&lt;/P&gt;&lt;P&gt;.88000000000009&lt;/P&gt;&lt;P&gt;.88000000000010&lt;/P&gt;&lt;P&gt;.88000000000011&lt;/P&gt;&lt;P&gt;.88000000000100&lt;/P&gt;&lt;P&gt;.88000000000110&lt;/P&gt;&lt;P&gt;.88000000001000&lt;/P&gt;&lt;P&gt;.88000000001100&lt;/P&gt;&lt;P&gt;.88000000001110&lt;/P&gt;&lt;P&gt;.88000000001111&lt;/P&gt;&lt;P&gt;.88000000001110&lt;/P&gt;&lt;P&gt;.88000000011110&lt;/P&gt;&lt;P&gt;.88000000111110&lt;/P&gt;&lt;P&gt;.88000001111110&lt;/P&gt;&lt;P&gt;.88000011111110&lt;/P&gt;&lt;P&gt;.88000111111110&lt;/P&gt;&lt;P&gt;.88001111111110&lt;/P&gt;&lt;P&gt;.88011111111110&lt;/P&gt;&lt;P&gt;.88111111111110&lt;/P&gt;&lt;P&gt;.88111111111110&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; funny;&lt;/P&gt;&lt;P&gt;set funny;&lt;/P&gt;&lt;P&gt;FORMAT_VALUE= put(ORIGINAL_VALUE, tempfmt.);&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;print&lt;/STRONG&gt; data=work.funny noobs;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; format ORIGINAL_VALUE comma32.30;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ORIGINAL_VALUE&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;FORMAT_VALUE&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.879999999999990000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000000000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000010000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000020000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000030000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000040000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000050000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000060000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000070000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000080000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000090000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000000110000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000001000000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;H&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000001100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000010000000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000011000000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000011100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000011110000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000011100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000000111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000001111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000011111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880000111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880001111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880011111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.880111111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.881111111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;0.881111111111100000000000000000&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;VH&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Sarat.&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jan 2020 10:02:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617714#M181058</guid>
      <dc:creator>puramsarat</dc:creator>
      <dc:date>2020-01-16T10:02:07Z</dc:date>
    </item>
    <item>
      <title>Re: Issue with proc format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617718#M181061</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/307390"&gt;@puramsarat&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You entered the "numerical precision errors" ground.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Check out the documentation for the FUZZ= option in the proc format:&lt;/P&gt;&lt;P&gt;&lt;A href="https://documentation.sas.com/?docsetId=proc&amp;amp;docsetTarget=p1upn25lbfo6mkn1wncu4dyh9q91.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en#n0qhedcd1ls7ren1hn86ntotxrai"&gt;https://documentation.sas.com/?docsetId=proc&amp;amp;docsetTarget=p1upn25lbfo6mkn1wncu4dyh9q91.htm&amp;amp;docsetVersion=9.4&amp;amp;locale=en#n0qhedcd1ls7ren1hn86ntotxrai&lt;/A&gt;&lt;/P&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, 16 Jan 2020 10:29:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617718#M181061</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2020-01-16T10:29:52Z</dc:date>
    </item>
    <item>
      <title>Re: Issue with proc format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617723#M181062</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/307390"&gt;@puramsarat&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/35763"&gt;@yabwon&lt;/a&gt;&amp;nbsp;writes, you need to specify a fuzz value. It works with this value:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;*fuzz =   0.000000000000001
*value = 0.88000000000001
;
proc format;
	value tempfmt (fuzz=0.000000000000001) 
		low -&amp;lt; 0.205000 = 'VL'
		0.205000 -&amp;lt; 0.410000 = 'L'
		0.410000 -&amp;lt; 0.645000 = 'M'
		0.645000 -&amp;lt; 0.880000 = 'H'
		0.880000 - high = 'VH'
		other = ' '
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 16 Jan 2020 11:24:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617723#M181062</guid>
      <dc:creator>ErikLund_Jensen</dc:creator>
      <dc:date>2020-01-16T11:24:09Z</dc:date>
    </item>
    <item>
      <title>Re: Issue with proc format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617730#M181068</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/307390"&gt;@puramsarat&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would prefer &lt;FONT face="courier new,courier"&gt;fuzz=0&lt;/FONT&gt; in this situation -- following the advice in the documentation (see link in yabwon's post): "&lt;SPAN&gt;A best practice is to use FUZZ=0 when you use the &amp;lt; exclusion operator with numeric formats."&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, I guess that in practice values such as&amp;nbsp;.87999999999999 or .88000000000001 more often than not are the result of rounding errors, mostly linked to numeric representation issues. I would not rely on them being less or greater than 0.88. Here's an example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data _null_;
a=1234.88;
v=a-1234;
put v best16.;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Result (SAS 9.4 under Windows):&lt;/P&gt;
&lt;PRE&gt;0.88000000000011&lt;/PRE&gt;
&lt;P&gt;Obviously, the mathematically correct result would be 0.88 and it would be obtained by using the ROUND function appropriately, e.g.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;v=round(a-1234, 1e-9);&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With "clean" numeric values (as obtained with the ROUND function) your format would much less likely produce incorrect results, even with the default FUZZ= value (1E-12).&lt;/P&gt;</description>
      <pubDate>Thu, 16 Jan 2020 12:04:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617730#M181068</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2020-01-16T12:04:40Z</dc:date>
    </item>
    <item>
      <title>Re: Issue with proc format</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617987#M181205</link>
      <description>Thank you for&lt;BR /&gt;Bart &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/35763"&gt;@yabwon&lt;/a&gt;, ErikLund_Jensen and FreelanceReinhard for providing me the solution with quick turnaround. FUZZ option fixed the issue.</description>
      <pubDate>Fri, 17 Jan 2020 01:39:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Issue-with-proc-format/m-p/617987#M181205</guid>
      <dc:creator>puramsarat</dc:creator>
      <dc:date>2020-01-17T01:39:12Z</dc:date>
    </item>
  </channel>
</rss>

