<?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: Need to separate id from 3,000 plus record to do simple analysis per each i in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908382#M358487</link>
    <description>This is what i want to do. each dx_level has a unique record, i created a rownum at the end. So i have 1,2,3&lt;BR /&gt;Below is the code i ma trying to get to for esch rownum to be used in the proc cluster data. example, rownum1, create table, use that table in the cluster take the output table from the cluster and start to create a final data using the proc append.&lt;BR /&gt;data wanta;&lt;BR /&gt;set work.want;&lt;BR /&gt;count = 1;&lt;BR /&gt;do while (rownum=count);&lt;BR /&gt;if rownum = rownum then count + 1;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc fastclus data=work.wanta maxclusters=7 out=test_904 noprint;&lt;BR /&gt;var Dx_lvl;&lt;BR /&gt;id allwd_pay;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc append;&lt;BR /&gt;base=work.final;&lt;BR /&gt;data=work.test_904;&lt;BR /&gt;run;</description>
    <pubDate>Fri, 15 Dec 2023 20:14:45 GMT</pubDate>
    <dc:creator>nickbuon01</dc:creator>
    <dc:date>2023-12-15T20:14:45Z</dc:date>
    <item>
      <title>Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908342#M358465</link>
      <description>&lt;P&gt;need some help. in the process of writing a short macro. I have a dataset of about 3,000 records. I need to separate each ID, then do some analysis then create a table. I need to go back and get the next id records and do the same and so on. I have the beginning but i do not know how to count the each record set. I have created a rownum for each set&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;of records. any ideas would be useful. Below is an example. and some Do-loop code. I know i will need to figure how to go down the record listof rownum's. Thank you in adavnce.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dx_Level,Dx_Condition,Dx_level,Count,Countpermonth,allwd pay,allwd expected,Rownum&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,51,1715,2366,159617812.6,67463.15,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,31,18873,41249,177850913.8,4311.64,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,33,3088,3597,76769181.5,21342.56,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,52,672,737,63219340.64,85779.3,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,32,9185,12286,113050036.7,9201.53,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,42,4264,4949,305570930.4,61743.97,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,53,1124,1147,301700925,263034.81,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,43,3366,3629,459381125.8,126586.15,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,41,8770,14542,421131055.4,28959.64,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,12,247,260,533137.16,2050.53,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,13,81,84,164342.09,1956.45,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,23,247,265,2178525.94,8220.85,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,21,1819,3739,4042923.97,1081.28,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,22,333,371,1864851.64,5026.55,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,0,18859,67472,0,0,1&lt;/P&gt;&lt;P&gt;904,Ischemic heart diseases,11,1396,2434,1367565.15,561.86,1&lt;/P&gt;&lt;P&gt;201,Malignant neoplasm of lip,13,1,1,81202.74,81202.74,2&lt;/P&gt;&lt;P&gt;201,Malignant neoplasm of lip,11,38,54,564851.15,10460.21,2&lt;/P&gt;&lt;P&gt;201,Malignant neoplasm of lip,12,16,18,611165.65,33953.65,2&lt;/P&gt;&lt;P&gt;201,Malignant neoplasm of lip,0,11,38,0,0,2&lt;/P&gt;&lt;P&gt;303,Malignant neoplasm of base of tongue,13,44,49,5139455.73,104886.85,3&lt;/P&gt;&lt;P&gt;303,Malignant neoplasm of base of tongue,0,164,414,0,0,3&lt;/P&gt;&lt;P&gt;303,Malignant neoplasm of base of tongue,12,232,338,8651302.77,25595.57,3&lt;/P&gt;&lt;P&gt;303,Malignant neoplasm of base of tongue,11,498,1059,25156595.02,23755.05,3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; want;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set work.HJICLter;&lt;/P&gt;&lt;P&gt;&amp;nbsp; count = &lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do while (rownum=count);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if rownum = rownum then count + &lt;STRONG&gt;1&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have more to do. but the above with a counter to go thru separately each rownum and just create one sas table and understand how to move the rownum to the next record would be helpful.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 18:52:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908342#M358465</guid>
      <dc:creator>nickbuon01</dc:creator>
      <dc:date>2023-12-15T18:52:38Z</dc:date>
    </item>
    <item>
      <title>Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908226#M358485</link>
      <description>&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Dx_Level&lt;/TD&gt;&lt;TD&gt;Dx_Condition&lt;/TD&gt;&lt;TD&gt;Dx_level&lt;/TD&gt;&lt;TD&gt;Count&lt;/TD&gt;&lt;TD&gt;Countpermonth&lt;/TD&gt;&lt;TD&gt;allwd pay&lt;/TD&gt;&lt;TD&gt;allwd expected&lt;/TD&gt;&lt;TD&gt;Rownum&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;51&lt;/TD&gt;&lt;TD&gt;1715&lt;/TD&gt;&lt;TD&gt;2366&lt;/TD&gt;&lt;TD&gt;159617812.6&lt;/TD&gt;&lt;TD&gt;67463.15&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;31&lt;/TD&gt;&lt;TD&gt;18873&lt;/TD&gt;&lt;TD&gt;41249&lt;/TD&gt;&lt;TD&gt;177850913.8&lt;/TD&gt;&lt;TD&gt;4311.64&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;33&lt;/TD&gt;&lt;TD&gt;3088&lt;/TD&gt;&lt;TD&gt;3597&lt;/TD&gt;&lt;TD&gt;76769181.5&lt;/TD&gt;&lt;TD&gt;21342.56&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;52&lt;/TD&gt;&lt;TD&gt;672&lt;/TD&gt;&lt;TD&gt;737&lt;/TD&gt;&lt;TD&gt;63219340.64&lt;/TD&gt;&lt;TD&gt;85779.3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;32&lt;/TD&gt;&lt;TD&gt;9185&lt;/TD&gt;&lt;TD&gt;12286&lt;/TD&gt;&lt;TD&gt;113050036.7&lt;/TD&gt;&lt;TD&gt;9201.53&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;42&lt;/TD&gt;&lt;TD&gt;4264&lt;/TD&gt;&lt;TD&gt;4949&lt;/TD&gt;&lt;TD&gt;305570930.4&lt;/TD&gt;&lt;TD&gt;61743.97&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;53&lt;/TD&gt;&lt;TD&gt;1124&lt;/TD&gt;&lt;TD&gt;1147&lt;/TD&gt;&lt;TD&gt;301700925&lt;/TD&gt;&lt;TD&gt;263034.81&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;3366&lt;/TD&gt;&lt;TD&gt;3629&lt;/TD&gt;&lt;TD&gt;459381125.8&lt;/TD&gt;&lt;TD&gt;126586.15&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;41&lt;/TD&gt;&lt;TD&gt;8770&lt;/TD&gt;&lt;TD&gt;14542&lt;/TD&gt;&lt;TD&gt;421131055.4&lt;/TD&gt;&lt;TD&gt;28959.64&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;247&lt;/TD&gt;&lt;TD&gt;260&lt;/TD&gt;&lt;TD&gt;533137.16&lt;/TD&gt;&lt;TD&gt;2050.53&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;81&lt;/TD&gt;&lt;TD&gt;84&lt;/TD&gt;&lt;TD&gt;164342.09&lt;/TD&gt;&lt;TD&gt;1956.45&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;23&lt;/TD&gt;&lt;TD&gt;247&lt;/TD&gt;&lt;TD&gt;265&lt;/TD&gt;&lt;TD&gt;2178525.94&lt;/TD&gt;&lt;TD&gt;8220.85&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;21&lt;/TD&gt;&lt;TD&gt;1819&lt;/TD&gt;&lt;TD&gt;3739&lt;/TD&gt;&lt;TD&gt;4042923.97&lt;/TD&gt;&lt;TD&gt;1081.28&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;333&lt;/TD&gt;&lt;TD&gt;371&lt;/TD&gt;&lt;TD&gt;1864851.64&lt;/TD&gt;&lt;TD&gt;5026.55&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;18859&lt;/TD&gt;&lt;TD&gt;67472&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;904&lt;/TD&gt;&lt;TD&gt;Ischemic heart diseases&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;1396&lt;/TD&gt;&lt;TD&gt;2434&lt;/TD&gt;&lt;TD&gt;1367565.15&lt;/TD&gt;&lt;TD&gt;561.86&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of lip&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;81202.74&lt;/TD&gt;&lt;TD&gt;81202.74&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of lip&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;54&lt;/TD&gt;&lt;TD&gt;564851.15&lt;/TD&gt;&lt;TD&gt;10460.21&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of lip&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;16&lt;/TD&gt;&lt;TD&gt;18&lt;/TD&gt;&lt;TD&gt;611165.65&lt;/TD&gt;&lt;TD&gt;33953.65&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;201&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of lip&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;38&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of base of tongue&lt;/TD&gt;&lt;TD&gt;13&lt;/TD&gt;&lt;TD&gt;44&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;TD&gt;5139455.73&lt;/TD&gt;&lt;TD&gt;104886.85&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of base of tongue&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;164&lt;/TD&gt;&lt;TD&gt;414&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of base of tongue&lt;/TD&gt;&lt;TD&gt;12&lt;/TD&gt;&lt;TD&gt;232&lt;/TD&gt;&lt;TD&gt;338&lt;/TD&gt;&lt;TD&gt;8651302.77&lt;/TD&gt;&lt;TD&gt;25595.57&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;303&lt;/TD&gt;&lt;TD&gt;Malignant neoplasm of base of tongue&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;498&lt;/TD&gt;&lt;TD&gt;1059&lt;/TD&gt;&lt;TD&gt;25156595.02&lt;/TD&gt;&lt;TD&gt;23755.05&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Above is an example. I have so far been able to create a do-loop :&lt;/P&gt;&lt;P&gt;but it only separates one rownum example. I have a count for the rownum to be added next. But i am missing how to keep the added count to get to the next rownum .&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;set work.HJICLter;&lt;BR /&gt;count = 1;&lt;BR /&gt;do while (rownum=count);&lt;BR /&gt;if rownum = rownum then count + 1;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I just need to go back thru and separate each rownum and do separate analysis and then have a final dataset of each rownum appended to a final dataset.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help would be appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 15:52:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908226#M358485</guid>
      <dc:creator>nickbuon01</dc:creator>
      <dc:date>2023-12-15T15:52:55Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908363#M358467</link>
      <description>&lt;P&gt;So, I don't see how a macro would help here. First, the looping in SAS to create rownum can be made much simpler than your code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    by dx_level notsorted;
    if first.dx_level then rownum+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As far as performing some "analysis", it would really help if you told us what analysis you want to do. Many analyses can be done without a macro in the appropriate PROC using a BY statement. And so no looping is needed, and no macro is needed. In fact, in that case, you don't even need to compute ROWNUM. Example using PROC MEANS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data=have;
    by dx_level notsorted;
    var count countpermonth allwd;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;By the way, you say "&lt;SPAN&gt;I need to separate each ID" but there is no variable named ID, so its not clear what you mean here.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 19:47:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908363#M358467</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2023-12-15T19:47:26Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908364#M358468</link>
      <description>Paige,&lt;BR /&gt;Here is the code example:&lt;BR /&gt;data want;&lt;BR /&gt;set work.HJICLter;&lt;BR /&gt;count = 1;&lt;BR /&gt;do while (rownum=count);&lt;BR /&gt;if rownum = rownum then count + 1;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc fastclus data=work.test maxclusters=7 out=test_904 noprint;&lt;BR /&gt;var Dx_lvl;&lt;BR /&gt;id allwd_pay;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc append;&lt;BR /&gt;base=work.final;&lt;BR /&gt;data=work.test_904;&lt;BR /&gt;run;</description>
      <pubDate>Fri, 15 Dec 2023 19:48:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908364#M358468</guid>
      <dc:creator>nickbuon01</dc:creator>
      <dc:date>2023-12-15T19:48:56Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908371#M358469</link>
      <description>ID is Dx_Level. Also, the rownum separates all Dx_Level as one rownum</description>
      <pubDate>Fri, 15 Dec 2023 19:54:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908371#M358469</guid>
      <dc:creator>nickbuon01</dc:creator>
      <dc:date>2023-12-15T19:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908378#M358486</link>
      <description>&lt;P&gt;I have no idea what you want and because you have no other responses my guess is no one else does either.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want a count of records by rownum, that is a simple:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
select
rownum, 
count(rownum)

from 
have

group by
rownum
;
quit; 
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But like I say, I have no idea what you want based on what you wrote.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You have two dx_level fields, allwd pay with a space isn't a valid filed name, etc.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Edit:&amp;nbsp; Plus I see you have two threads with the same question(s)?&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 20:11:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908378#M358486</guid>
      <dc:creator>HB</dc:creator>
      <dc:date>2023-12-15T20:11:54Z</dc:date>
    </item>
    <item>
      <title>Re: Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908382#M358487</link>
      <description>This is what i want to do. each dx_level has a unique record, i created a rownum at the end. So i have 1,2,3&lt;BR /&gt;Below is the code i ma trying to get to for esch rownum to be used in the proc cluster data. example, rownum1, create table, use that table in the cluster take the output table from the cluster and start to create a final data using the proc append.&lt;BR /&gt;data wanta;&lt;BR /&gt;set work.want;&lt;BR /&gt;count = 1;&lt;BR /&gt;do while (rownum=count);&lt;BR /&gt;if rownum = rownum then count + 1;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc fastclus data=work.wanta maxclusters=7 out=test_904 noprint;&lt;BR /&gt;var Dx_lvl;&lt;BR /&gt;id allwd_pay;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc append;&lt;BR /&gt;base=work.final;&lt;BR /&gt;data=work.test_904;&lt;BR /&gt;run;</description>
      <pubDate>Fri, 15 Dec 2023 20:14:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908382#M358487</guid>
      <dc:creator>nickbuon01</dc:creator>
      <dc:date>2023-12-15T20:14:45Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908387#M358473</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc fastclus data=work.test maxclusters=7 out=test_out noprint;
    by dx_level notsorted;
    id allwd_pay;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;No looping needed, no macros needed, no PROC APPEND needed. All the output will go into data set TEST_OUT, identified by dx_level number.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 20:21:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908387#M358473</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2023-12-15T20:21:17Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908389#M358475</link>
      <description>&lt;P&gt;PS:&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/428190"&gt;@nickbuon01&lt;/a&gt;&amp;nbsp;please don't submit the same question in two different threads.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 20:22:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908389#M358475</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2023-12-15T20:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908390#M358488</link>
      <description>&lt;P&gt;Please see my answer in your other thread&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908371" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908371&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please do not submit the same question in multiple threads. One thread is sufficient.&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2023 20:28:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908390#M358488</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2023-12-15T20:28:11Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908391#M358477</link>
      <description>&lt;P&gt;This&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;if rownum = rownum then count + 1;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;makes no sense. The condition will always be true, so this is equivalent to&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;count + 1;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 15 Dec 2023 20:24:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908391#M358477</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2023-12-15T20:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Continuous do-loop with counter</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908459#M358483</link>
      <description>&lt;P&gt;Just as a side note because the code you shared makes me think you haven't fully grasped yet how a data step works in SAS9.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set work.HJICLter;
  count = 1;
  do while (rownum=count);
    if rownum = rownum then
      count + 1;
    output;
  end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The SET statement will already cause the data step to iterate over the source table (sequential single threaded read, one data step iteration/loop per row in the source table).&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There is an automatic variable _n_ available during data step processing (not saved to the output table) that gets automatically incremented with +1 for each row read from source.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want an output table with a row number variable then simply assign _n_ to this variable. Here an example:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
  set work.HJICLter;
  rownum=_n_;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2023 02:30:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908459#M358483</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2023-12-16T02:30:01Z</dc:date>
    </item>
    <item>
      <title>Re: Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908463#M358489</link>
      <description>&lt;P&gt;I merged the threads.&lt;/P&gt;</description>
      <pubDate>Sat, 16 Dec 2023 06:48:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908463#M358489</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2023-12-16T06:48:05Z</dc:date>
    </item>
    <item>
      <title>Re: Need to separate id from 3,000 plus record to do simple analysis per each i</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908486#M358507</link>
      <description>&lt;P&gt;You don't have an ID number variable.&lt;/P&gt;
&lt;P&gt;You appear to have DX_LEVEL and ROWNUM that both identify the same groups of observations.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to do the same analysis for all groups then just add a BY statement to you procedure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Since ROWNUM is sorted in ascending order you could use it:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc means data=have;
  by rownum;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;But I suspect that DX_LEVEL is going to be more meaningful in the output.&amp;nbsp; So you could perhaps just include both:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;by rownum dx_level;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Or you could use just dx_level, but add the NOTSORTED keyword to let SAS know they are not in ascending order.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;by dx_level notsorted;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Dec 2023 16:10:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Continuous-do-loop-with-counter/m-p/908486#M358507</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-12-16T16:10:27Z</dc:date>
    </item>
  </channel>
</rss>

