<?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: Page Number counter and reset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653555#M196323</link>
    <description>&lt;P&gt;You will need to track TRACKs in an order, and unique TRACKs in a set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- A list of TRACKs in an order can be maintained in a HASH&lt;/P&gt;
&lt;P&gt;- The unique TRACKS in the set do not need to be explicitly tracked, only how many TRACKs within the set have been added to the list.&lt;/P&gt;
&lt;P&gt;- Only the rows with a track added 1st to 10th item in the list for a SET are output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;Data&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;data have;
input
Order: $4. Set: $4. Track: $7. SubGroup: $1.;
datalines;
O123	J001	456Y	A
O123	J001	456Y	B
O123	J001	456Y	C
O123	J001	3284G	A
O123	J001	3284G	B
O123	J001	5657G	A
O123	J001	490456B	B
O123	J001	490456C	C
O123	J001	490456D	A
O123	J001	490E	B
O123	J001	490F	A
O123	J001	490G	B
O123	J001	490H	C
O123	J001	490I	A
O123	J001	490J	B
O123	J002	456Y	A
O123	J002	456Y	B
O123	J002	456Y	C
O123	J002	3284G	A
O123	J002	3284G	B
O123	J002	5657G	A
O123	J002	490456B	B
O123	J002	490456C	C
O123	J002	490456D	A
O123	J002	490E	B
O123	J002	490F	A
O123	J002	490G	B
O123	J002	490H	C
O123	J002	490I	A
O123	J002	490J	B
O346	J001	456Y	A
O346	J001	456Y	B
O346	J001	456Y	C
O346	J001	3284G	A
O346	J001	3284G	B
;
&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;Program&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;data want;
  set have;
  by order set;

  attrib 
    Page format=4.
  ;

  if _n_ = 1 then do;
    FromSet = Set;
    declare hash tracks();
    tracks.defineKey('Track');
    tracks.defineData('Page');
    tracks.defineData('FromSet');
    tracks.defineDone();
  end;

  if first.order then
    tracks.Clear();

  if first.set then
    seq_TrackInSet = 0;

  if tracks.find() ne 0 then do;  /* new track in set */
    seq_TrackInSet + 1;
    if seq_TrackInSet &amp;lt;= 10 then do;
      Page = seq_TrackInSet;
      FromSet = Set;
      tracks.add();
    end;
  end;

  * for edification, flag the wanted row;
  if 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your data does not show the case of &amp;lt;10 unique tracks in the first set and your rules "&lt;SPAN&gt;Page numbering should start for the 11th unique track number starting 1 through 10"&lt;/SPAN&gt;&amp;nbsp;are a bit unclear.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the first SET of an ORDER had 8 unique tracks, would the first two unique tracks in the second SET of the same ORDER be Page 1 and 2, or Page 9 &amp;amp; 10 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 05 Jun 2020 11:50:45 GMT</pubDate>
    <dc:creator>RichardDeVen</dc:creator>
    <dc:date>2020-06-05T11:50:45Z</dc:date>
    <item>
      <title>Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653537#M196314</link>
      <description>&lt;P&gt;Hello Programming Nerds.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Help out here again with page numbers assignment.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Explanation: Input dataset has order details where the same set of Tracknumbers are repeated across SetNumbers for a given Order number.&lt;/P&gt;&lt;P&gt;The end goal is :&lt;/P&gt;&lt;P&gt;Assign page number starting 1 to 10 for a unique Tracknumber for a given order number and set number.&lt;BR /&gt;Do not assign any page number after 10 hits for the given Set Number or exclude them starting 11th tracknumber for the given order and set number.&amp;nbsp;&lt;BR /&gt;On the same Order Number a second Set number would have the same set of first 10 uniique track numbers which should be assigned no page number or excluded.&amp;nbsp;&lt;BR /&gt;Page numbering should start for the 11th unique tracknumber starting 1 through 10,which again should stop after 10 unique track numbers meaning 20th unique track number for all of the Order Number.&lt;BR /&gt;This iteration should allow 100 unique track numbers, meaning 10 page sets for 10 set numbers.&lt;/P&gt;&lt;P&gt;See sample input and output dataset below, your help is truly appreciated as always.&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Input&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;Output&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;OrderNumber&lt;/TD&gt;&lt;TD&gt;SetNumber&lt;/TD&gt;&lt;TD&gt;TrackNumber&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;SubGNumber&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;OrderNumber&lt;/TD&gt;&lt;TD&gt;SetNumber&lt;/TD&gt;&lt;TD&gt;TrackNumber&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;SubGNumber&lt;/TD&gt;&lt;TD&gt;PageNumber&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;456Y&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#000000"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;3284G&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;3284G&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;3284G&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;5657G&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;5657G&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456B&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456B&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456C&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456C&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456D&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490456D&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490E&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490E&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490F&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490F&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490G&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490G&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490H&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490H&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490I&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490I&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;O123&lt;/TD&gt;&lt;TD&gt;J001&lt;/TD&gt;&lt;TD&gt;490J&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490J&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;J003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;J003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;J003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;1&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;J003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;J003&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#800000"&gt;2&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;5657G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490456B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490456C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490456D&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490E&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490F&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490H&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490I&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;O123&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;J002&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;490J&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#008000"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;J001&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;J001&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;J001&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;456Y&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;C&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;J001&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;A&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;O346&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;J001&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;3284G&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&lt;FONT color="#993300"&gt;B&lt;/FONT&gt;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 05 Jun 2020 08:46:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653537#M196314</guid>
      <dc:creator>PROCDATARUN</dc:creator>
      <dc:date>2020-06-05T08:46:51Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653555#M196323</link>
      <description>&lt;P&gt;You will need to track TRACKs in an order, and unique TRACKs in a set.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;- A list of TRACKs in an order can be maintained in a HASH&lt;/P&gt;
&lt;P&gt;- The unique TRACKS in the set do not need to be explicitly tracked, only how many TRACKs within the set have been added to the list.&lt;/P&gt;
&lt;P&gt;- Only the rows with a track added 1st to 10th item in the list for a SET are output&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example:&lt;/P&gt;
&lt;P&gt;Data&lt;/P&gt;
&lt;LI-SPOILER&gt;
&lt;PRE&gt;data have;
input
Order: $4. Set: $4. Track: $7. SubGroup: $1.;
datalines;
O123	J001	456Y	A
O123	J001	456Y	B
O123	J001	456Y	C
O123	J001	3284G	A
O123	J001	3284G	B
O123	J001	5657G	A
O123	J001	490456B	B
O123	J001	490456C	C
O123	J001	490456D	A
O123	J001	490E	B
O123	J001	490F	A
O123	J001	490G	B
O123	J001	490H	C
O123	J001	490I	A
O123	J001	490J	B
O123	J002	456Y	A
O123	J002	456Y	B
O123	J002	456Y	C
O123	J002	3284G	A
O123	J002	3284G	B
O123	J002	5657G	A
O123	J002	490456B	B
O123	J002	490456C	C
O123	J002	490456D	A
O123	J002	490E	B
O123	J002	490F	A
O123	J002	490G	B
O123	J002	490H	C
O123	J002	490I	A
O123	J002	490J	B
O346	J001	456Y	A
O346	J001	456Y	B
O346	J001	456Y	C
O346	J001	3284G	A
O346	J001	3284G	B
;
&lt;/PRE&gt;
&lt;/LI-SPOILER&gt;
&lt;P&gt;Program&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;data want;
  set have;
  by order set;

  attrib 
    Page format=4.
  ;

  if _n_ = 1 then do;
    FromSet = Set;
    declare hash tracks();
    tracks.defineKey('Track');
    tracks.defineData('Page');
    tracks.defineData('FromSet');
    tracks.defineDone();
  end;

  if first.order then
    tracks.Clear();

  if first.set then
    seq_TrackInSet = 0;

  if tracks.find() ne 0 then do;  /* new track in set */
    seq_TrackInSet + 1;
    if seq_TrackInSet &amp;lt;= 10 then do;
      Page = seq_TrackInSet;
      FromSet = Set;
      tracks.add();
    end;
  end;

  * for edification, flag the wanted row;
  if 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';
run;&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your data does not show the case of &amp;lt;10 unique tracks in the first set and your rules "&lt;SPAN&gt;Page numbering should start for the 11th unique track number starting 1 through 10"&lt;/SPAN&gt;&amp;nbsp;are a bit unclear.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the first SET of an ORDER had 8 unique tracks, would the first two unique tracks in the second SET of the same ORDER be Page 1 and 2, or Page 9 &amp;amp; 10 ?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 11:50:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653555#M196323</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-06-05T11:50:45Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653713#M196344</link>
      <description>&lt;P&gt;Thanks a billion Richard for your help so far.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For an order number, there will only be one set number if there are 10 or less track numbers.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: inherit;"&gt;Lets say the order has 55 track numbers, there would be 6 set numbers but all 55 track numbers will be associated with all 6 set numbers.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;The need is to assign first 10 track numbers to set 1 ( page 1 - 10 ) , second set of 10 track numbers ( 11-20 ) to set 2 (page 1 - 10) and so on allowing upto 100 track numbers which turn out to 10 pages each for 10 different set numbers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Did this add any clarity or now ? Please let me know if it hasn't or still have any other question.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;__If the first SET of an ORDER had 8 unique tracks, would the first two unique tracks in the second SET of the same ORDER be Page 1 and 2, or Page 9 &amp;amp; 10 ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;If fist set has only 8 unique tracks, there wouldn't be a second set number for that Order number.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 15:52:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653713#M196344</guid>
      <dc:creator>PROCDATARUN</dc:creator>
      <dc:date>2020-06-05T15:52:51Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653732#M196349</link>
      <description>&lt;P&gt;I think you should be good with the code posted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The 'want_row' is for examining algorithm operation and can be used, after tests prove it reliable, to restrict output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Further restrict to first 100 unique tracks (in what I presume to be in &amp;gt;= 10 sets ?) with following&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;if tracks.num_items &amp;lt;= 100 and 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';

if want_row = '*';   *subsetting if;

drop want_row seq_TrackInSet;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jun 2020 16:43:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/653732#M196349</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-06-05T16:43:45Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/658462#M197350</link>
      <description>&lt;P&gt;Thanks Richard for your continued support.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Running into the below error, could you help get to the finish line here.&lt;/P&gt;&lt;P&gt;ERROR 180-322: Statement is not valid or it is used out of proper order.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&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>Mon, 15 Jun 2020 02:38:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/658462#M197350</guid>
      <dc:creator>PROCDATARUN</dc:creator>
      <dc:date>2020-06-15T02:38:44Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/659581#M197551</link>
      <description>&lt;P&gt;Ran your code and didn't get any errors.&amp;nbsp; What version of SAS are you running (%put &amp;amp;SYSVLONG4)&amp;nbsp;?&amp;nbsp; What client (PC sas, EG, Studio, other) are you using ? Can you post or attach the entire log after running the code in a fresh session ?&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2020 03:33:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/659581#M197551</guid>
      <dc:creator>RichardDeVen</dc:creator>
      <dc:date>2020-06-16T03:33:30Z</dc:date>
    </item>
    <item>
      <title>Re: Page Number counter and reset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/659622#M197568</link>
      <description>&lt;P&gt;On SAS EG 7.1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;GOPTIONS ACCESSIBLE;&lt;BR /&gt;26 data have;&lt;BR /&gt;27 input&lt;BR /&gt;28 Order: $4. Set: $4. Track: $7. SubGroup: $1.;&lt;BR /&gt;29 datalines;&lt;/P&gt;&lt;P&gt;NOTE: LOST CARD.&lt;BR /&gt;RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0&lt;BR /&gt;65 ;&lt;BR /&gt;Order=O346 Set=O346 Track=O346 J0 SubGroup= _ERROR_=1 _N_=9&lt;BR /&gt;NOTE: SAS went to a new line when INPUT statement reached past the end of a line.&lt;BR /&gt;NOTE: The data set WORK.HAVE has 8 observations and 4 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;real time 0.00 seconds&lt;BR /&gt;cpu time 0.01 seconds&lt;BR /&gt;&lt;BR /&gt;65 ;&lt;/P&gt;&lt;P&gt;66 data want;&lt;BR /&gt;67 set have;&lt;BR /&gt;68 by order set;&lt;BR /&gt;69&lt;BR /&gt;70 attrib&lt;BR /&gt;71 Page format=4.&lt;BR /&gt;72 ;&lt;BR /&gt;73&lt;BR /&gt;74 if _n_ = 1 then do;&lt;BR /&gt;75 FromSet = Set;&lt;BR /&gt;76 declare hash tracks();&lt;BR /&gt;77 tracks.defineKey('Track');&lt;BR /&gt;78 tracks.defineData('Page');&lt;BR /&gt;79 tracks.defineData('FromSet');&lt;BR /&gt;2 The SAS System Monday, June 15, 2020 11:18:00 PM&lt;/P&gt;&lt;P&gt;80 tracks.defineDone();&lt;BR /&gt;81 end;&lt;BR /&gt;82&lt;BR /&gt;83 if first.order then&lt;BR /&gt;84 tracks.Clear();&lt;BR /&gt;85&lt;BR /&gt;86 if first.set then&lt;BR /&gt;87 seq_TrackInSet = 0;&lt;BR /&gt;88&lt;BR /&gt;89 if tracks.find() ne 0 then do; /* new track in set */&lt;BR /&gt;90 seq_TrackInSet + 1;&lt;BR /&gt;91 if seq_TrackInSet &amp;lt;= 10 then do;&lt;BR /&gt;92 Page = seq_TrackInSet;&lt;BR /&gt;93 FromSet = Set;&lt;BR /&gt;94 tracks.add();&lt;BR /&gt;95 end;&lt;BR /&gt;96 end;&lt;BR /&gt;97&lt;BR /&gt;98 * for edification, flag the wanted row;&lt;BR /&gt;99 if tracks.num_items &amp;lt;= 100 and 1 &amp;lt;= seq_TrackInSet &amp;lt;= 10 and Set=FromSet then want_row = '*';&lt;BR /&gt;100&lt;BR /&gt;101 if want_row = '*'; *subsetting if;&lt;BR /&gt;102&lt;BR /&gt;103 drop want_row seq_TrackInSet;&lt;BR /&gt;104&lt;BR /&gt;105 GOPTIONS NOACCESSIBLE;&lt;BR /&gt;106 %LET _CLIENTTASKLABEL=;&lt;BR /&gt;107 %LET _CLIENTPROCESSFLOWNAME=;&lt;BR /&gt;108 %LET _CLIENTPROJECTPATH=;&lt;BR /&gt;109 %LET _CLIENTPROJECTPATHHOST=;&lt;BR /&gt;110 %LET _CLIENTPROJECTNAME=;&lt;BR /&gt;111 %LET _SASPROGRAMFILE=;&lt;BR /&gt;112 %LET _SASPROGRAMFILEHOST=;&lt;BR /&gt;113&lt;BR /&gt;114 ;*';*";*/;quit;run;&lt;BR /&gt;____&lt;BR /&gt;180&lt;/P&gt;&lt;P&gt;&lt;FONT size="5"&gt;ERROR 180-322: Statement is not valid or it is used out of proper order.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;NOTE: The SAS System stopped processing this step because of errors.&lt;BR /&gt;WARNING: The data set WORK.WANT may be incomplete. When this step was stopped there were 0 observations and 6 variables.&lt;BR /&gt;WARNING: Data set WORK.WANT was not replaced because this step was stopped.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;real time 0.00 seconds&lt;BR /&gt;cpu time 0.00 seconds&lt;/P&gt;&lt;P&gt;115 ODS _ALL_ CLOSE;&lt;BR /&gt;116&lt;BR /&gt;117&lt;BR /&gt;118 QUIT; RUN;&lt;BR /&gt;119&lt;/P&gt;</description>
      <pubDate>Tue, 16 Jun 2020 06:34:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Page-Number-counter-and-reset/m-p/659622#M197568</guid>
      <dc:creator>PROCDATARUN</dc:creator>
      <dc:date>2020-06-16T06:34:36Z</dc:date>
    </item>
  </channel>
</rss>

