<?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 by variable grouping in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386793#M92691</link>
    <description>&lt;P&gt;&amp;nbsp;Hi SAs Users,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Needed help in validating the below code &amp;nbsp;( group by claim and sum the dollar field &amp;amp; check for procedures by claim line level and flag them)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sort data = test; by CLM_ID ; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data&amp;nbsp;test1;&lt;BR /&gt;set&amp;nbsp;test&lt;BR /&gt;by clm_id;&lt;BR /&gt;IF sum(net_amt_pay) &amp;gt;= 100 THEN&lt;BR /&gt;DO;&lt;BR /&gt;IF trim(PROC_CD) in (&amp;amp;PROCS)&lt;BR /&gt;) THEN&lt;BR /&gt;DO; FLAG = 'A'; END;&lt;BR /&gt;ELSE DO; FLAG&amp;nbsp;='B'; END;&lt;BR /&gt;END;&lt;BR /&gt;ELSE FLAG&amp;nbsp;='B ';&lt;BR /&gt;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example - &amp;nbsp;expected result of Flag would be like this -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;clm_id &amp;nbsp; &amp;nbsp; &amp;nbsp;n&lt;SPAN&gt;et_amt_pay &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;proc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; flag&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; 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&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; &amp;nbsp;50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&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; &amp;nbsp; 40 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Ana&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;</description>
    <pubDate>Wed, 09 Aug 2017 20:09:41 GMT</pubDate>
    <dc:creator>SASAna</dc:creator>
    <dc:date>2017-08-09T20:09:41Z</dc:date>
    <item>
      <title>by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386793#M92691</link>
      <description>&lt;P&gt;&amp;nbsp;Hi SAs Users,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Needed help in validating the below code &amp;nbsp;( group by claim and sum the dollar field &amp;amp; check for procedures by claim line level and flag them)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sort data = test; by CLM_ID ; run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data&amp;nbsp;test1;&lt;BR /&gt;set&amp;nbsp;test&lt;BR /&gt;by clm_id;&lt;BR /&gt;IF sum(net_amt_pay) &amp;gt;= 100 THEN&lt;BR /&gt;DO;&lt;BR /&gt;IF trim(PROC_CD) in (&amp;amp;PROCS)&lt;BR /&gt;) THEN&lt;BR /&gt;DO; FLAG = 'A'; END;&lt;BR /&gt;ELSE DO; FLAG&amp;nbsp;='B'; END;&lt;BR /&gt;END;&lt;BR /&gt;ELSE FLAG&amp;nbsp;='B ';&lt;BR /&gt;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example - &amp;nbsp;expected result of Flag would be like this -&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;clm_id &amp;nbsp; &amp;nbsp; &amp;nbsp;n&lt;SPAN&gt;et_amt_pay &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;proc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; flag&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; 10 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A&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; &amp;nbsp;50 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; B &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&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; &amp;nbsp; 40 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;B&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Ana&lt;/P&gt;&lt;P&gt;1&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 20:09:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386793#M92691</guid>
      <dc:creator>SASAna</dc:creator>
      <dc:date>2017-08-09T20:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386795#M92692</link>
      <description>&lt;P&gt;You didn't provide a have dataset, let us know how you are setting &amp;amp;procs, or what values it would have. Also, your code talks about a PROC_CD field, but you output contains a proc field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That said,&amp;nbsp;&lt;SPAN&gt;IF sum(net_amt_pay) &amp;gt;= 100 won't do what you expect. One way to get it to work the way you want is to restructure you code using a DOW loop, first to obtain the sum, and then to assign the flags.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Art, CEO, AnalystFinder.com&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 20:25:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386795#M92692</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-08-09T20:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386804#M92696</link>
      <description>&lt;P&gt;Everything &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;said is true.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's a thought for how you could proceed.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your program doesn't work properly, not even for the four-line data set that you posted.&amp;nbsp; Come up with a program that works for that four-line data set.&amp;nbsp; Then we can talk about how you might validate it for a larger data set.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Aug 2017 21:02:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386804#M92696</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-08-09T21:02:50Z</dc:date>
    </item>
    <item>
      <title>Re: by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386809#M92697</link>
      <description>&lt;P&gt;Also it may help to post code in a code box to preserve formatting. Open a code box using the {i} menu icon at the top of the message box. The main message box will reformat code somewhat, usually removing blanks.&lt;/P&gt;
&lt;P&gt;Using a consistent indenting style will make it easier to understand the code such as:&lt;/P&gt;
&lt;PRE&gt;data test1;
   set test
   by clm_id;
   IF sum(net_amt_pay) &amp;gt;= 100 THEN   DO;
      IF trim(PROC_CD) in (&amp;amp;PROCS) THEN  DO; 
         FLAG = 'A'; 
      END;
      ELSE DO; 
         FLAG = 'B'; 
      END;
   END;
   ELSE FLAG = 'B ';

run;&lt;/PRE&gt;</description>
      <pubDate>Wed, 09 Aug 2017 21:20:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/386809#M92697</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-08-09T21:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/387113#M92787</link>
      <description>I broke the code to 3 segments -&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;create table test as&lt;BR /&gt;select&lt;BR /&gt;clm_id&lt;BR /&gt;from CLMS&lt;BR /&gt;group by clm_id&lt;BR /&gt;having sum(net_amt_pay) &amp;lt; 100;&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;proc sql noprint;&lt;BR /&gt;create table test1 as&lt;BR /&gt;select * from CLMS&lt;BR /&gt;where clm_id not in (select distinct clm_id from test);&lt;BR /&gt;quit;&lt;BR /&gt;&lt;BR /&gt;data finale;&lt;BR /&gt;set test1;&lt;BR /&gt;IF (trim(PROC_CD) in (&amp;amp;PROCS))&lt;BR /&gt;THEN DO; FLAG = 'A'; END;&lt;BR /&gt;ELSE DO; FLAG ='B '; END;&lt;BR /&gt;run;</description>
      <pubDate>Thu, 10 Aug 2017 17:59:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/387113#M92787</guid>
      <dc:creator>SASAna</dc:creator>
      <dc:date>2017-08-10T17:59:29Z</dc:date>
    </item>
    <item>
      <title>Re: by variable grouping</title>
      <link>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/387114#M92788</link>
      <description>thanks for the suggestion. I will use codebox going fwd.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;Ana</description>
      <pubDate>Thu, 10 Aug 2017 18:00:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/by-variable-grouping/m-p/387114#M92788</guid>
      <dc:creator>SASAna</dc:creator>
      <dc:date>2017-08-10T18:00:18Z</dc:date>
    </item>
  </channel>
</rss>

