<?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 Statement is not valid or it is used out of proper order in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Statement-is-not-valid-or-it-is-used-out-of-proper-order/m-p/663316#M197979</link>
    <description>&lt;P&gt;Thanks a ton to&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12477"&gt;@RichardDeVen&lt;/a&gt;&amp;nbsp; for helping with the set up of code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am running into the following error for the below code, any help is appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653732#M196349" target="_blank" rel="noopener"&gt;More Background Here&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Statement is not valid or it is used out of proper order.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;**CODEBELOW*******&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input&lt;BR /&gt;Order: $4. Set: $4. Track: $7. SubGroup: $1.;&lt;BR /&gt;datalines;&lt;BR /&gt;O123 J001 456Y A&lt;BR /&gt;O123 J001 456Y B&lt;BR /&gt;O123 J001 456Y C&lt;BR /&gt;O123 J001 3284G A&lt;BR /&gt;O123 J001 3284G B&lt;BR /&gt;O123 J001 5657G A&lt;BR /&gt;O123 J001 490456B B&lt;BR /&gt;O123 J001 490456C C&lt;BR /&gt;O123 J001 490456D A&lt;BR /&gt;O123 J001 490E B&lt;BR /&gt;O123 J001 490F A&lt;BR /&gt;O123 J001 490G B&lt;BR /&gt;O123 J001 490H C&lt;BR /&gt;O123 J001 490I A&lt;BR /&gt;O123 J001 490J B&lt;BR /&gt;O123 J002 456Y A&lt;BR /&gt;O123 J002 456Y B&lt;BR /&gt;O123 J002 456Y C&lt;BR /&gt;O123 J002 3284G A&lt;BR /&gt;O123 J002 3284G B&lt;BR /&gt;O123 J002 5657G A&lt;BR /&gt;O123 J002 490456B B&lt;BR /&gt;O123 J002 490456C C&lt;BR /&gt;O123 J002 490456D A&lt;BR /&gt;O123 J002 490E B&lt;BR /&gt;O123 J002 490F A&lt;BR /&gt;O123 J002 490G B&lt;BR /&gt;O123 J002 490H C&lt;BR /&gt;O123 J002 490I A&lt;BR /&gt;O123 J002 490J B&lt;BR /&gt;O346 J001 456Y A&lt;BR /&gt;O346 J001 456Y B&lt;BR /&gt;O346 J001 456Y C&lt;BR /&gt;O346 J001 3284G A&lt;BR /&gt;O346 J001 3284G B&lt;BR /&gt;;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by order set;&lt;/P&gt;&lt;P&gt;attrib&lt;BR /&gt;Page format=4.&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;if _n_ = 1 then do;&lt;BR /&gt;FromSet = Set;&lt;BR /&gt;declare hash tracks();&lt;BR /&gt;tracks.defineKey('Track');&lt;BR /&gt;tracks.defineData('Page');&lt;BR /&gt;tracks.defineData('FromSet');&lt;BR /&gt;tracks.defineDone();&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;if first.order then&lt;BR /&gt;tracks.Clear();&lt;/P&gt;&lt;P&gt;if first.set then&lt;BR /&gt;seq_TrackInSet = 0;&lt;/P&gt;&lt;P&gt;if tracks.find() ne 0 then do; /* new track in set */&lt;BR /&gt;seq_TrackInSet + 1;&lt;BR /&gt;if seq_TrackInSet &amp;lt;= 10 then do;&lt;BR /&gt;Page = seq_TrackInSet;&lt;BR /&gt;FromSet = Set;&lt;BR /&gt;tracks.add();&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;* for edification, flag the wanted row;&lt;BR /&gt;if tracks.num_items &amp;lt;= 100 and 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';&lt;/P&gt;&lt;P&gt;if want_row = '*'; *subsetting if;&lt;/P&gt;&lt;P&gt;drop want_row seq_TrackInSet;&lt;/P&gt;</description>
    <pubDate>Thu, 18 Jun 2020 20:49:01 GMT</pubDate>
    <dc:creator>PROCDATARUN</dc:creator>
    <dc:date>2020-06-18T20:49:01Z</dc:date>
    <item>
      <title>Statement is not valid or it is used out of proper order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Statement-is-not-valid-or-it-is-used-out-of-proper-order/m-p/663316#M197979</link>
      <description>&lt;P&gt;Thanks a ton to&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/12477"&gt;@RichardDeVen&lt;/a&gt;&amp;nbsp; for helping with the set up of code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Am running into the following error for the below code, any help is appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653732#M196349" target="_blank" rel="noopener"&gt;More Background Here&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Statement is not valid or it is used out of proper order.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;**CODEBELOW*******&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input&lt;BR /&gt;Order: $4. Set: $4. Track: $7. SubGroup: $1.;&lt;BR /&gt;datalines;&lt;BR /&gt;O123 J001 456Y A&lt;BR /&gt;O123 J001 456Y B&lt;BR /&gt;O123 J001 456Y C&lt;BR /&gt;O123 J001 3284G A&lt;BR /&gt;O123 J001 3284G B&lt;BR /&gt;O123 J001 5657G A&lt;BR /&gt;O123 J001 490456B B&lt;BR /&gt;O123 J001 490456C C&lt;BR /&gt;O123 J001 490456D A&lt;BR /&gt;O123 J001 490E B&lt;BR /&gt;O123 J001 490F A&lt;BR /&gt;O123 J001 490G B&lt;BR /&gt;O123 J001 490H C&lt;BR /&gt;O123 J001 490I A&lt;BR /&gt;O123 J001 490J B&lt;BR /&gt;O123 J002 456Y A&lt;BR /&gt;O123 J002 456Y B&lt;BR /&gt;O123 J002 456Y C&lt;BR /&gt;O123 J002 3284G A&lt;BR /&gt;O123 J002 3284G B&lt;BR /&gt;O123 J002 5657G A&lt;BR /&gt;O123 J002 490456B B&lt;BR /&gt;O123 J002 490456C C&lt;BR /&gt;O123 J002 490456D A&lt;BR /&gt;O123 J002 490E B&lt;BR /&gt;O123 J002 490F A&lt;BR /&gt;O123 J002 490G B&lt;BR /&gt;O123 J002 490H C&lt;BR /&gt;O123 J002 490I A&lt;BR /&gt;O123 J002 490J B&lt;BR /&gt;O346 J001 456Y A&lt;BR /&gt;O346 J001 456Y B&lt;BR /&gt;O346 J001 456Y C&lt;BR /&gt;O346 J001 3284G A&lt;BR /&gt;O346 J001 3284G B&lt;BR /&gt;;&lt;BR /&gt;data want;&lt;BR /&gt;set have;&lt;BR /&gt;by order set;&lt;/P&gt;&lt;P&gt;attrib&lt;BR /&gt;Page format=4.&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;if _n_ = 1 then do;&lt;BR /&gt;FromSet = Set;&lt;BR /&gt;declare hash tracks();&lt;BR /&gt;tracks.defineKey('Track');&lt;BR /&gt;tracks.defineData('Page');&lt;BR /&gt;tracks.defineData('FromSet');&lt;BR /&gt;tracks.defineDone();&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;if first.order then&lt;BR /&gt;tracks.Clear();&lt;/P&gt;&lt;P&gt;if first.set then&lt;BR /&gt;seq_TrackInSet = 0;&lt;/P&gt;&lt;P&gt;if tracks.find() ne 0 then do; /* new track in set */&lt;BR /&gt;seq_TrackInSet + 1;&lt;BR /&gt;if seq_TrackInSet &amp;lt;= 10 then do;&lt;BR /&gt;Page = seq_TrackInSet;&lt;BR /&gt;FromSet = Set;&lt;BR /&gt;tracks.add();&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;/P&gt;&lt;P&gt;* for edification, flag the wanted row;&lt;BR /&gt;if tracks.num_items &amp;lt;= 100 and 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';&lt;/P&gt;&lt;P&gt;if want_row = '*'; *subsetting if;&lt;/P&gt;&lt;P&gt;drop want_row seq_TrackInSet;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 20:49:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Statement-is-not-valid-or-it-is-used-out-of-proper-order/m-p/663316#M197979</guid>
      <dc:creator>PROCDATARUN</dc:creator>
      <dc:date>2020-06-18T20:49:01Z</dc:date>
    </item>
    <item>
      <title>Re: Statement is not valid or it is used out of proper order</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Statement-is-not-valid-or-it-is-used-out-of-proper-order/m-p/663318#M197981</link>
      <description>&lt;P&gt;Try adding&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;at the end.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And for consistency, also add it&amp;nbsp;after your input data (before DATA WANT;). It is used to close out each datastep.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2020 21:04:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Statement-is-not-valid-or-it-is-used-out-of-proper-order/m-p/663318#M197981</guid>
      <dc:creator>mklangley</dc:creator>
      <dc:date>2020-06-18T21:04:35Z</dc:date>
    </item>
  </channel>
</rss>

