<?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>Punxsutawney Tracker</title>
    <link>https://communities.sas.com/kntur85557/tracker</link>
    <description>Punxsutawney Tracker</description>
    <pubDate>Sat, 16 May 2026 21:49:58 GMT</pubDate>
    <dc:date>2026-05-16T21:49:58Z</dc:date>
    <item>
      <title>Re: Hash object's replace method doesn't seem to be working.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Hash-object-s-replace-method-doesn-t-seem-to-be-working/m-p/199212#M37291</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;WOW. That fixed it. I only had to change the key to prov_id. Thanks very much. I really appreciate this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Aug 2015 18:46:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Hash-object-s-replace-method-doesn-t-seem-to-be-working/m-p/199212#M37291</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-14T18:46:41Z</dc:date>
    </item>
    <item>
      <title>Hash object's replace method doesn't seem to be working.</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Hash-object-s-replace-method-doesn-t-seem-to-be-working/m-p/199209#M37288</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Hello Everyone,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;In the code below, the replace method isn't doing what it should be doing. In fact, when I take that statement out of the code it returns the same results. Can someone please look at this and help me out? Thanks.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;Note: there are no errors of any kind returned. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;data final;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; if 0 then set mbr prov;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; declare hash h_prov (dataset: 'prov');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; declare hiter i_prov ('h_prov');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.definekey (all: 'yes');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.definedata (all: 'yes');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.definedone();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do until (eof);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; set mbr end = eof;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; rc = i_prov.first();&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do while (rc = 0);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; if mbr_ped_ind eq 'Y' then &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; if prov_ped_ind eq 'Y' and members lt &amp;amp;capacity then &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; gdist = geodist(mbr_lat, mbr_lon, prov_lat, prov_lon, 'M');&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; if gdist le &amp;amp;dist_limit1 then&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; members + 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.replace();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; mbr_id = dw_mbr_key;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; pcp_id = npi_id;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; leave;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; else if gdist le &amp;amp;dist_limit2 then&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; members + 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.replace();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; mbr_id = dw_mbr_key;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; pcp_id = npi_id;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; leave;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; else if gdist le &amp;amp;dist_limit3 then&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; do;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; members + 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="font-size: 12pt;"&gt;&amp;nbsp; h_prov.replace();&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; mbr_id = dw_mbr_key;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; pcp_id = npi_id;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; output;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; leave;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;&amp;nbsp; end;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 12pt;"&gt;run;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Aug 2015 16:08:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Hash-object-s-replace-method-doesn-t-seem-to-be-working/m-p/199209#M37288</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-14T16:08:09Z</dc:date>
    </item>
    <item>
      <title>Re: Macro resolution and %IF-%Then %Else statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198553#M37187</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Aug 2015 15:49:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198553#M37187</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-14T15:49:42Z</dc:date>
    </item>
    <item>
      <title>Re: Macro resolution and %IF-%Then %Else statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198550#M37184</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I figured it out myself. I only needed to put the condition inside the function %sysevalf. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 18:10:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198550#M37184</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-13T18:10:49Z</dc:date>
    </item>
    <item>
      <title>Macro resolution and %IF-%Then %Else statements</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198549#M37183</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable MBR_PED_IND resolves to N&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;mbr_ped_ind eq Y is FALSE&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable GDIST resolves to 319.6732&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable DIST_LIMIT1 resolves to 10&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;gdist le &amp;amp;dist_limit1 is FALSE&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable GDIST resolves to 319.6732&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable DIST_LIMIT2 resolves to 20&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;gdist le &amp;amp;dist_limit2 is FALSE&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable GDIST resolves to 319.6732&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable DIST_LIMIT3 resolves to 30&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;gdist le &amp;amp;dist_limit3 is FALSE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable MBR_PED_IND resolves to Y&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;mbr_ped_ind eq Y is TRUE&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable GDIST resolves to&amp;nbsp; 171.732&lt;/P&gt;&lt;P&gt;SYMBOLGEN:&amp;nbsp; Macro variable DIST_LIMIT1 resolves to 10&lt;/P&gt;&lt;P&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;gdist le &amp;amp;dist_limit1 is FALSE&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;&lt;STRONG&gt;SYMBOLGEN:&amp;nbsp; Macro variable GDIST resolves to&amp;nbsp; 171.732&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;&lt;STRONG&gt;SYMBOLGEN:&amp;nbsp; Macro variable DIST_LIMIT2 resolves to 20&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000;"&gt;&lt;STRONG&gt;MLOGIC(RUNNER):&amp;nbsp; %IF condition &amp;amp;gdist le &amp;amp;dist_limit2 is TRUE&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The first block worked fined. However, in the second block especially in the colored portion, the condition evaluates to TRUE instead of FALSE. Clearly 171.20 is NOT less than 20. Can someone help with what's going on here? Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 17:25:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Macro-resolution-and-IF-Then-Else-statements/m-p/198549#M37183</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-13T17:25:55Z</dc:date>
    </item>
    <item>
      <title>Re: (Proc SQL or Data step) with macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-or-Data-step-with-macros/m-p/198362#M37152</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the reply. I meant library as a place that stores books, etc. Sorry about the confusion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Member list&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;mbr_id&amp;nbsp;&amp;nbsp;&amp;nbsp; zipcode&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12134&amp;nbsp; &lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12315&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14235&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Library list&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;lib_id&amp;nbsp;&amp;nbsp; zipcode&amp;nbsp;&amp;nbsp; capacity&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12541&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 40&lt;/P&gt;&lt;P&gt;18&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 14521&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 45&lt;/P&gt;&lt;P&gt;21&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 13214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 43&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't worry about optimization. So what I want to do is assign a library ID to each of these members based on first capacity of the library (max capacity is 46) and distance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 17:13:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-or-Data-step-with-macros/m-p/198362#M37152</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-13T17:13:22Z</dc:date>
    </item>
    <item>
      <title>(Proc SQL or Data step) with macros</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-or-Data-step-with-macros/m-p/198360#M37150</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have 2 sets of data with no common variable. One is a list of library members while the other is a list of libraries. Now, for each member, I want to assign the member to a library (and only one library) based on conditions like library capacity, calculated distance between the library and member, etc. The library capacity should be updated (as in reduced by 1) for the particular library after each assignment of a member to it. I am currently stuck at this and will appreciate any help or ideas. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 13:17:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Proc-SQL-or-Data-step-with-macros/m-p/198360#M37150</guid>
      <dc:creator>Punxsutawney</dc:creator>
      <dc:date>2015-08-13T13:17:47Z</dc:date>
    </item>
  </channel>
</rss>

