<?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: Data Step with BY and first.AAAA and last.BBBB not updating in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450512#M283710</link>
    <description>Kurt - i am confused about your reply regarding rev_cntr. rev_cntr is a column in etl.inp_revenuej_lds2013. The value in the column is different for each value read in the SET statement. Please explain</description>
    <pubDate>Tue, 03 Apr 2018 03:38:31 GMT</pubDate>
    <dc:creator>fpascal</dc:creator>
    <dc:date>2018-04-03T03:38:31Z</dc:date>
    <item>
      <title>Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450298#M283704</link>
      <description>&lt;P&gt;Objective:&amp;nbsp; accumulate emergency department (ed_ct) visits ('0450', '0451', '0452', '0456', '0459', '0981')&amp;nbsp; by desy_sort_key and claim_no and write the columns in edtl.inp_ed_ct_lds2013.&amp;nbsp; Zero out ed_ct accumulator when a new desy_sort_key and claim_no is read.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Problem:&amp;nbsp; ed_ct not accumulating, rev_cntr only shows '0001'.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;Code&lt;/U&gt;&lt;/P&gt;&lt;P&gt;proc sort data=etl.inp_revenuej_lds2013;&lt;BR /&gt;by desy_sort_key claim_no clm_line_num;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data etl.inp_ed_ct_lds2013 (drop=HCPCS_CD REV_CNTR_UNIT_CNT clm_thru_dt nch_clm_type_cd&lt;BR /&gt;REV_CNTR_RATE_AMT REV_CNTR_TOT_CHRG_AMT REV_CNTR_NCVRD_CHRG_AMT&lt;BR /&gt;REV_CNTR_DDCTBL_COINSRNC_CD REV_CNTR_APC_HIPPS_CD);&lt;BR /&gt;set etl.inp_revenuej_lds2013;&lt;BR /&gt;by desy_sort_key claim_no;&lt;/P&gt;&lt;P&gt;if first.desy_sort_key and first.claim_no then&lt;BR /&gt;ed_ct=0;&lt;/P&gt;&lt;P&gt;if rev_cntr in ('0450', '0451', '0452', '0456', '0459', '0981') then&lt;BR /&gt;ed_ct=ed_ct + 1;&lt;/P&gt;&lt;P&gt;if last.desy_sort_key and last.claim_no then output etl.inp_ed_ct_lds2013;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;U&gt;LOG&lt;/U&gt;&lt;/P&gt;&lt;DIV class="dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter dijitContentPaneSingleChild"&gt;&lt;DIV class="dijitBorderContainer dijitContainer row-fluid dijitLayoutContainer"&gt;&lt;DIV class="dijitContentPane dijitAlignCenter dijitContentPaneSingleChild dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane"&gt;&lt;DIV class="tabs dijitBorderContainer dijitContainer dijitLayoutContainer dojoDndSource dojoDndTarget sasStudioTabsParentContainer dojoDndContainerOver"&gt;&lt;DIV class="dijitTabContainer dijitTabContainerTop dijitContainer dijitLayoutContainer tabStrip-disabled sasStudioTabsTabContainer sasStudioTabsTabContainerVertical sasStudioTabsTop dijitBorderContainer-child dijitBorderContainer-dijitTabContainerTop dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV class="dijitTabPaneWrapper dijitTabContainerTop-container dijitAlignCenter"&gt;&lt;DIV class="dijitTabContainerTopChildWrapper dijitVisible"&gt;&lt;DIV class="dijitBorderContainer dijitContainer sasStudioTabsTabContainerChild dijitTabPane dijitTabContainerTop-child dijitTabContainerTop-dijitBorderContainer dijitLayoutContainer"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dojoDndTarget dijitBorderContainer-child dijitBorderContainer-dijitBorderContainer dijitBorderContainerPane dijitAlignCenter dijitLayoutContainer dojoDndContainerOver"&gt;&lt;DIV class="dijitTabContainer dijitTabContainerTop dijitContainer dijitLayoutContainer tabStrip-disabled sasSuiteTabs dijitBorderContainer-child dijitBorderContainer-dijitTabContainerTop dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV class="dijitTabPaneWrapper dijitTabContainerTop-container dijitAlignCenter"&gt;&lt;DIV class="dijitTabContainerTopChildWrapper dijitVisible"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dijitTabPane dijitTabContainerTop-child dijitTabContainerTop-dijitBorderContainer dijitLayoutContainer"&gt;&lt;DIV class="dijitBorderContainer dijitContainer dijitBorderContainer-child dijitBorderContainer-dijitBorderContainer dijitBorderContainerPane dijitAlignCenter dijitLayoutContainer"&gt;&lt;DIV class="dijitContentPane dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignCenter"&gt;&lt;DIV&gt;&lt;DIV class="sasSource"&gt;1 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;61&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;62 proc sort data=etl.inp_revenuej_lds2013;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;63 by desy_sort_key claim_no clm_line_num;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;64 run;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Input data set is already sorted, no sorting done.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: PROCEDURE SORT used (Total process time):&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;real time 0.00 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;cpu time 0.00 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;65&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;66 data etl.inp_ed_ct_lds2013 (drop=HCPCS_CD REV_CNTR_UNIT_CNT clm_thru_dt nch_clm_type_cd&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;67 REV_CNTR_RATE_AMT REV_CNTR_TOT_CHRG_AMT REV_CNTR_NCVRD_CHRG_AMT&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;68 REV_CNTR_DDCTBL_COINSRNC_CD REV_CNTR_APC_HIPPS_CD);&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;69 set etl.inp_revenuej_lds2013;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;70 by desy_sort_key claim_no;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;71&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;72 if first.desy_sort_key and first.claim_no then&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;73 ed_ct=0;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;74&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;75 if rev_cntr in ('0450', '0451', '0452', '0456', '0459', '0981') then&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;76 ed_ct=ed_ct + 1;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;77&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;78 if last.desy_sort_key and last.claim_no then output etl.inp_ed_ct_lds2013;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;79 run;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: Missing values were generated as a result of performing an operation on missing values.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;Each place is given by: (Number of times) at (Line):(Column).&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;382770 at 76:15&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: There were 9856834 observations read from the data set ETL.INP_REVENUEJ_LDS2013.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: The data set ETL.INP_ED_CT_LDS2013 has 340765 observations and 5 variables.&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;NOTE: DATA statement used (Total process time):&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;real time 3.73 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;cpu time 3.71 seconds&lt;/DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV class="sasNote"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;80&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;81 OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;&lt;/DIV&gt;&lt;DIV class="sasSource"&gt;94&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class="dijitContentPane statusBar dijitBorderContainer-child dijitBorderContainer-dijitContentPane dijitBorderContainerPane dijitAlignBottom"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 02 Apr 2018 04:55:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450298#M283704</guid>
      <dc:creator>fpascal</dc:creator>
      <dc:date>2018-04-02T04:55:52Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450299#M283705</link>
      <description>&lt;P&gt;You are only missing the statement&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;retain ed_ct;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;otherwise ed_ct is reset to missing on every datastep iteration.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You could also simplify to&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if first.claim_no then ed_ct=0;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if rev_cntr in ('0450', '0451', '0452', '0456', '0459', '0981') then ed_ct = ed_ct + 1;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;if last.claim_no then output;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Revise the way by-processing and output works.&lt;/P&gt;</description>
      <pubDate>Mon, 02 Apr 2018 05:30:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450299#M283705</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2018-04-02T05:30:13Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450324#M283706</link>
      <description>&lt;P&gt;If instead of&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ed_ct = ed_ct + 1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;you would use&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;ed_ct + 1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;then SAS would automatically retain ed_ct.&lt;/P&gt;</description>
      <pubDate>Mon, 02 Apr 2018 11:59:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450324#M283706</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-04-02T11:59:10Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450350#M283707</link>
      <description>&lt;P&gt;This solution worked and I will accept it.&amp;nbsp; Can you please advise on the second part?&amp;nbsp; The variable rev_cntr does not change.&amp;nbsp; It stays at '0001'&lt;/P&gt;</description>
      <pubDate>Mon, 02 Apr 2018 14:00:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450350#M283707</guid>
      <dc:creator>fpascal</dc:creator>
      <dc:date>2018-04-02T14:00:51Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450351#M283708</link>
      <description>The simplified code did not work as written. Also there was a second part. The variable rev_cntr does not change. It stays at '0001'</description>
      <pubDate>Mon, 02 Apr 2018 14:02:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450351#M283708</guid>
      <dc:creator>fpascal</dc:creator>
      <dc:date>2018-04-02T14:02:15Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450358#M283709</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/75405"&gt;@fpascal&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;This solution worked and I will accept it.&amp;nbsp; Can you please advise on the second part?&amp;nbsp; The variable rev_cntr does not change.&amp;nbsp; It stays at '0001'&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Why should rev_cntr change?&lt;/P&gt;
&lt;P&gt;See your log example:&lt;/P&gt;
&lt;PRE&gt;66 data etl.inp_ed_ct_lds2013 (drop=HCPCS_CD REV_CNTR_UNIT_CNT clm_thru_dt nch_clm_type_cd
67 REV_CNTR_RATE_AMT REV_CNTR_TOT_CHRG_AMT REV_CNTR_NCVRD_CHRG_AMT
68 REV_CNTR_DDCTBL_COINSRNC_CD REV_CNTR_APC_HIPPS_CD);
69 set etl.inp_revenuej_lds2013;
70 by desy_sort_key claim_no;
71
72 if first.desy_sort_key and first.claim_no then
73 ed_ct=0;
74
75 if rev_cntr in ('0450', '0451', '0452', '0456', '0459', '0981') then
76 ed_ct=ed_ct + 1;
77
78 if last.desy_sort_key and last.claim_no then output etl.inp_ed_ct_lds2013;
79 run;&lt;/PRE&gt;
&lt;P&gt;rev_cnt is never set to a new value, so it stays as it came in from the input dataset. Inspect your dataset (&lt;SPAN&gt;etl.inp_revenuej_lds2013)&lt;/SPAN&gt; see Maxim 3.&lt;/P&gt;
&lt;DIV class="sasSource"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 02 Apr 2018 14:17:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450358#M283709</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-04-02T14:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450512#M283710</link>
      <description>Kurt - i am confused about your reply regarding rev_cntr. rev_cntr is a column in etl.inp_revenuej_lds2013. The value in the column is different for each value read in the SET statement. Please explain</description>
      <pubDate>Tue, 03 Apr 2018 03:38:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450512#M283710</guid>
      <dc:creator>fpascal</dc:creator>
      <dc:date>2018-04-03T03:38:31Z</dc:date>
    </item>
    <item>
      <title>Re: Data Step with BY and first.AAAA and last.BBBB not updating</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450526#M283711</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/75405"&gt;@fpascal&lt;/a&gt; wrote:&lt;BR /&gt;Kurt - i am confused about your reply regarding rev_cntr. rev_cntr is a column in etl.inp_revenuej_lds2013. The value in the column is different for each value read in the SET statement. Please explain&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;For this to verify and test, we need data. Use the macro provided in&amp;nbsp;&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; to convert a reasonable part of your dataset to a data step and post that here, as described in &lt;A href="https://communities.sas.com/t5/Getting-Started/How-to-add-SAS-syntax-to-your-post/ta-p/224394" target="_blank"&gt;https://communities.sas.com/t5/Getting-Started/How-to-add-SAS-syntax-to-your-post/ta-p/224394&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 03 Apr 2018 06:48:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Data-Step-with-BY-and-first-AAAA-and-last-BBBB-not-updating/m-p/450526#M283711</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2018-04-03T06:48:05Z</dc:date>
    </item>
  </channel>
</rss>

