<?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: summarize data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445273#M111554</link>
    <description>&lt;P&gt;this code doesn't summarize that data correctly&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 13 Mar 2018 19:37:17 GMT</pubDate>
    <dc:creator>mona4u</dc:creator>
    <dc:date>2018-03-13T19:37:17Z</dc:date>
    <item>
      <title>summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445247#M111538</link>
      <description>&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have problem with summarizing my data. I need to count how many distinct patient_Name for&amp;nbsp;each distinct time point&amp;nbsp; if date_completed ne .&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried my code put I really missed up with it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need you to suggest an edit to my code.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sort data=readert1; by patient_name TimePoint; run;&lt;BR /&gt;data readert2;&lt;BR /&gt;set readert1;&lt;BR /&gt;by patient_name timepoint;&lt;BR /&gt;keep Patient_Name TimePoint Date_Completed ctime;&lt;BR /&gt;if date_completed ne . and first.Patient_name then do; ctime=0; end;&lt;BR /&gt;ctime+1;&lt;BR /&gt;if date_completed ne . and last.timepoint ;&lt;/P&gt;&lt;P&gt;this is the data that I need to summarize&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;Obs Patient_Name Timepoint Date_Completed1234567891011121314151617181920212223242526272829303132333435363738394041&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;W1490.1045001&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;15DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;31JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;31JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056002&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056003&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056003&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056005&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056005&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056005&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;25DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056005&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056006&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;12DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056006&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;12DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056006&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;12JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1056006&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;12DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;13DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;13DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;25DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;25DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 32&lt;/TD&gt;&lt;TD&gt;22FEB2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 32&lt;/TD&gt;&lt;TD&gt;22FEB2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068001&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;13NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068002&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1068002&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089001&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089001&lt;/TD&gt;&lt;TD&gt;Week 16&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089001&lt;/TD&gt;&lt;TD&gt;Week 24&lt;/TD&gt;&lt;TD&gt;18DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089001&lt;/TD&gt;&lt;TD&gt;Week 32&lt;/TD&gt;&lt;TD&gt;10JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089001&lt;/TD&gt;&lt;TD&gt;Week 8&lt;/TD&gt;&lt;TD&gt;15NOV2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089002&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;15DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1089003&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;28DEC2017&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1100002&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;31JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1134001&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;W1490.1134004&lt;/TD&gt;&lt;TD&gt;Baseline&lt;/TD&gt;&lt;TD&gt;30JAN2018&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 13 Mar 2018 18:08:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445247#M111538</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T18:08:25Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445249#M111539</link>
      <description>&lt;P&gt;Show us the code you've used so far, and maybe someone can suggest the necessary changes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Tom&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 17:47:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445249#M111539</guid>
      <dc:creator>TomKari</dc:creator>
      <dc:date>2018-03-13T17:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445250#M111540</link>
      <description>&lt;P&gt;You can find some examples here:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/statgeek/SAS-Tutorials/blob/master/count_distinct_by_group.sas" target="_blank"&gt;https://github.com/statgeek/SAS-Tutorials/blob/master/count_distinct_by_group.sas&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 17:49:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445250#M111540</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-03-13T17:49:13Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445252#M111541</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc freq data=have(where=(date_completed^=.));
    tables patient_name/out=_a_;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The number of observations in _a_ is the number of distinct patient_name exist in your data.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 17:52:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445252#M111541</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-03-13T17:52:21Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445253#M111542</link>
      <description>&lt;P&gt;that's not right I want the number of distinct patient_name for each distinct timepoint&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 17:53:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445253#M111542</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T17:53:43Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445255#M111544</link>
      <description>&lt;P&gt;I need to do it in the data step&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 17:56:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445255#M111544</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T17:56:42Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445257#M111546</link>
      <description>I just added the code</description>
      <pubDate>Tue, 13 Mar 2018 17:59:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445257#M111546</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T17:59:10Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445268#M111553</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/134228"&gt;@mona4u&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;I need to do it in the data step&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Why? If a proc available to basically everyone works why the restriction.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You should show what the result for your example data would be. If you want to count names within timepoint then the sort and by processing likely should be BY Timepoint patient_name;&lt;/P&gt;
&lt;P&gt;Perhaps something like this untested code.&lt;/P&gt;
&lt;PRE&gt;proc sort data=readert1; 
   by timepoint patient_name ; 
run;
data readert2;
   set readert1 (where=(date_completed ne .));
   by timepoint patient_name ; 
   keep Patient_Name TimePoint Date_Completed ctime;
   if first.timepoint then patientcount=0;
   if first.patient then patientcount+1;
   if last.timepoint;
run;
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 19:08:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445268#M111553</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-03-13T19:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445273#M111554</link>
      <description>&lt;P&gt;this code doesn't summarize that data correctly&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 19:37:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445273#M111554</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T19:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445274#M111555</link>
      <description>&lt;P&gt;this code doesn't summarize that data correctly.&amp;nbsp;&lt;/P&gt;&lt;P&gt;appreciate your try&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 19:37:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445274#M111555</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T19:37:49Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445275#M111556</link>
      <description>I just found a way by using retain statement</description>
      <pubDate>Tue, 13 Mar 2018 19:38:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445275#M111556</guid>
      <dc:creator>mona4u</dc:creator>
      <dc:date>2018-03-13T19:38:39Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445277#M111557</link>
      <description>&lt;P&gt;The SUM statement implies RETAIN.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 19:44:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445277#M111557</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-03-13T19:44:55Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445290#M111562</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/134228"&gt;@mona4u&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;this code doesn't summarize that data correctly&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Since you did not show any desired result I don't think that is very responsive.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Show the correct summary for example data.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 20:14:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445290#M111562</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-03-13T20:14:38Z</dc:date>
    </item>
    <item>
      <title>Re: summarize data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445292#M111564</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/134228"&gt;@mona4u&lt;/a&gt; wrote:&lt;BR /&gt;I just found a way by using retain statement&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Show your actual working result code in the post you marked correct so that someone searching the forum for help can see the approach taken.&lt;/P&gt;</description>
      <pubDate>Tue, 13 Mar 2018 20:15:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/summarize-data/m-p/445292#M111564</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-03-13T20:15:46Z</dc:date>
    </item>
  </channel>
</rss>

