<?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: PROC SQL: Bug When Calculating Median By Group/ID in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933951#M367303</link>
    <description>&lt;P&gt;Thank you for all your help!&lt;/P&gt;</description>
    <pubDate>Thu, 27 Jun 2024 18:59:40 GMT</pubDate>
    <dc:creator>Fable</dc:creator>
    <dc:date>2024-06-27T18:59:40Z</dc:date>
    <item>
      <title>PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933928#M367292</link>
      <description>&lt;P&gt;Edit: Seems to be caused by this, as found by&amp;nbsp;PaigeMiller&amp;nbsp;below:&amp;nbsp;&lt;A href="https://support.sas.com/kb/66/896.html" target="_self"&gt;https://support.sas.com/kb/66/896.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hello, I am trying to get the median height of each person/ID (they all have multiple height measurements over time). I want to merge this median for each ID back into the dataset so I have the median height for each patient across their multiple records. This is my code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=""&gt;proc sql;
  create table get_median_heights as
  select *, median(height) as median_height
  from height_records
  group by ID;
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But this does not seem to be giving the median per person/ID, for example here is a toy example of one of the results I get:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;height&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;median_height&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;67&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;69&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;69&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;67&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;69&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;67&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;69&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;69&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;64&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;60&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;65&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;60&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;65&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;60&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;65&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;60&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;70&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&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;Why is ID 001 returning 69 instead of 67 and 002 is returning 60 instead of 65? And why is 003 returning as missing? I could have sworn this code used to work (I wrote it years ago), did something change with the behavior?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 19:01:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933928#M367292</guid>
      <dc:creator>Fable</dc:creator>
      <dc:date>2024-06-27T19:01:45Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933937#M367294</link>
      <description>&lt;P&gt;I cannot duplicate this behavior of PROC SQL. To me, it seems as if the medians are correct from my program below, and different than what you show. Please, from now on, provide the data not as a screen capture of a table, as you have done, but please do provide the data as working SAS data step code (&lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_self"&gt;instructions and examples&lt;/A&gt;), as I suspect your data is not really what you are showing.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
    input id $ height;
    cards;
001 67
001 .
001 67
001 67
001 .
002 64
002 65
002 65
002 65
003 .
003 70
003 70
003 70
003 .
003 70
003 70
003 .
003 70
003 .
;

proc sql;
    create table abc as select *,median(height) as median_height
    from have
    group by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:06:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933937#M367294</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2024-06-27T18:06:47Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933939#M367295</link>
      <description>&lt;P&gt;Hi, thank you for the reply and sorry about that, will note that for the future. However I tried running your code example and it again does not seem to return the correct values:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Fable_0-1719512091573.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/97936iA36EA3A0C6CB97F5/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Fable_0-1719512091573.png" alt="Fable_0-1719512091573.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;There seems to be something very wrong with my organization's SAS implementation perhaps?&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:15:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933939#M367295</guid>
      <dc:creator>Fable</dc:creator>
      <dc:date>2024-06-27T18:15:35Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933942#M367296</link>
      <description>&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PaigeMiller_0-1719512365243.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/97937i9B9DDC648353B630/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PaigeMiller_0-1719512365243.png" alt="PaigeMiller_0-1719512365243.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please run the command below and report the numbers and letters and punctuation written to the log directly below the command.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; %put &amp;amp;sysvlong4;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:22:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933942#M367296</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2024-06-27T18:22:55Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933943#M367297</link>
      <description>&lt;P&gt;Your problem might be this bug&lt;/P&gt;
&lt;P&gt;&lt;A href="https://support.sas.com/kb/66/896.html" target="_blank"&gt;https://support.sas.com/kb/66/896.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:26:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933943#M367297</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2024-06-27T18:26:22Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933948#M367301</link>
      <description>&lt;P&gt;Hello, it returns this:&amp;nbsp;&lt;SPAN&gt; 9.04.01M7P08052020, is that version impacted by this bug? I'll admit I am not so sure looking at the version listed on that page...&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Also, for some reason proc sorting by ID first seems to fix the issue? This does not seem to be listed as a fix on that page you link to.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;PRE&gt;data have;
    input id $ height;
    cards;
001 67
001 .
001 67
001 67
001 .
002 64
002 65
002 65
002 65
003 .
003 70
003 70
003 70
003 .
003 70
003 70
003 .
003 70
003 .
;

proc sort data = have; by id;
run;
 
proc sql;
    create table abc as 
    select id, height, median(height) as median_height
    from have
    group by id;
quit;&lt;/PRE&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Fable_0-1719513217893.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/97938i9EE0E06D46802132/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Fable_0-1719513217893.png" alt="Fable_0-1719513217893.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Very weird...&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:41:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933948#M367301</guid>
      <dc:creator>Fable</dc:creator>
      <dc:date>2024-06-27T18:41:04Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933949#M367302</link>
      <description>&lt;P&gt;Yes, you have the version of SAS that is impacted by the bug. You can try downloading and installing the Hot Fix mentioned there, but only if your company/university allows you to do so (my company does not allow me to do this). If you can't install the Hot Fix,&amp;nbsp;I would use PROC MEANS/PROC SUMMARY to compute medians and then the problem goes away.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a different version of SAS, so my output is not affected by the bug.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:45:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933949#M367302</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2024-06-27T18:45:18Z</dc:date>
    </item>
    <item>
      <title>Re: PROC SQL: Bug When Calculating Median By Group/ID</title>
      <link>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933951#M367303</link>
      <description>&lt;P&gt;Thank you for all your help!&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:59:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/PROC-SQL-Bug-When-Calculating-Median-By-Group-ID/m-p/933951#M367303</guid>
      <dc:creator>Fable</dc:creator>
      <dc:date>2024-06-27T18:59:40Z</dc:date>
    </item>
  </channel>
</rss>

