<?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 assign record numbers in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485821#M126269</link>
    <description>&lt;P&gt;data s ;&lt;BR /&gt;input name $ 15. ;&lt;BR /&gt;cards ;&lt;BR /&gt;dfsdfdas&lt;BR /&gt;dfsdfasdf&lt;BR /&gt;sdfwtrw&lt;BR /&gt;ghjghj&lt;BR /&gt;fghfdh&lt;BR /&gt;etwrt&lt;BR /&gt;rtyurtuy&lt;BR /&gt;rtrt&lt;BR /&gt;rtrysrt&lt;BR /&gt;rtrrt&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;assign record numbers like below table&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;name&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;number&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;dfsdfdas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;dfsdfasdf&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;sdfwtrw&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ghjghj&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;fghfdh&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;etwrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtyurtuy&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrysrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Fri, 10 Aug 2018 15:40:47 GMT</pubDate>
    <dc:creator>thanikondharish</dc:creator>
    <dc:date>2018-08-10T15:40:47Z</dc:date>
    <item>
      <title>assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485821#M126269</link>
      <description>&lt;P&gt;data s ;&lt;BR /&gt;input name $ 15. ;&lt;BR /&gt;cards ;&lt;BR /&gt;dfsdfdas&lt;BR /&gt;dfsdfasdf&lt;BR /&gt;sdfwtrw&lt;BR /&gt;ghjghj&lt;BR /&gt;fghfdh&lt;BR /&gt;etwrt&lt;BR /&gt;rtyurtuy&lt;BR /&gt;rtrt&lt;BR /&gt;rtrysrt&lt;BR /&gt;rtrrt&lt;BR /&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;assign record numbers like below table&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;name&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;number&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;dfsdfdas&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;dfsdfasdf&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;sdfwtrw&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;ghjghj&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;fghfdh&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;etwrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtyurtuy&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrysrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;rtrrt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;5&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 15:40:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485821#M126269</guid>
      <dc:creator>thanikondharish</dc:creator>
      <dc:date>2018-08-10T15:40:47Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485824#M126270</link>
      <description>Hi:&lt;BR /&gt;  I don't understand the logic of why the numbers restart at 1 on row for "etwrt" -- isn't that row #6?&lt;BR /&gt;Cynthia</description>
      <pubDate>Fri, 10 Aug 2018 15:51:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485824#M126270</guid>
      <dc:creator>Cynthia_sas</dc:creator>
      <dc:date>2018-08-10T15:51:03Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485825#M126271</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data s ;
input name $ 15. ;

number=mod(_N_-1,5)+1;
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 15:52:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485825#M126271</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2018-08-10T15:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485826#M126272</link>
      <description>&lt;P&gt;What is the rule that makes the record with etwrt restart the numbering at 1?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It would be poor practice to call a variable with repeated values as you show a "record number". The typical meaning would be a unique identifier.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;this accomplishes your explicit requirement but with out a rule may not work in a different context.&lt;/P&gt;
&lt;PRE&gt;data work.junk ;
input name $ 15. ;
number= mod(_n_ -1,5)+1;
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 15:52:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485826#M126272</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2018-08-10T15:52:29Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485830#M126274</link>
      <description>Half records sequence number then again half records start from one number</description>
      <pubDate>Fri, 10 Aug 2018 15:53:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485830#M126274</guid>
      <dc:creator>thanikondharish</dc:creator>
      <dc:date>2018-08-10T15:53:22Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485831#M126275</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data s ;
input name $ 15. ;

call symput("nobs",_N_);
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
;
run;

data want;
set S;
number=mod(_N_-1,floor(&amp;amp;nobs./2))+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 15:56:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485831#M126275</guid>
      <dc:creator>gamotte</dc:creator>
      <dc:date>2018-08-10T15:56:06Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485839#M126279</link>
      <description>&lt;P&gt;The following code will gave you half/half, if it is odd number, then the first half gets one more (this can be easily tweaked if you want otherwise). Assume that you already have the data as SAS table:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data s ;
input name $ 15. ;
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
dsafg
;


data want;
if _n_=1 then chunk=ceil(n/2);
retain chunk;
do rec=1 by 1 to chunk;
set s nobs=n;
output;
end;
drop chunk;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 16:09:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485839#M126279</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2018-08-10T16:09:00Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485852#M126285</link>
      <description>&lt;P&gt;Not sure, if chuck var is needed to be computed as a PDV host&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data s ;
input name $ 15. ;
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
dsafg
;
data want;
do rec= 1 to ceil(n/2);
set s nobs=n;
output;
end;
run;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 10 Aug 2018 16:38:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485852#M126285</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-08-10T16:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485872#M126289</link>
      <description>&lt;P&gt;It depends. The overhead&amp;nbsp;cost&amp;nbsp;of additional variable vs. 2 times of ceil() and n/2 is debatable, and in this case, ignorable, IMHO.&lt;/P&gt;</description>
      <pubDate>Fri, 10 Aug 2018 17:06:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/485872#M126289</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2018-08-10T17:06:18Z</dc:date>
    </item>
    <item>
      <title>Re: assign record numbers</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/486030#M126365</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data s ;
input name $ 15. ;
cards ;
dfsdfdas
dfsdfasdf
sdfwtrw
ghjghj
fghfdh
etwrt
rtyurtuy
rtrt
rtrysrt
rtrrt
;

data want;
 set s;
 if mod(_n_,5)=1 then n=0;
 n+1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 11 Aug 2018 11:23:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-record-numbers/m-p/486030#M126365</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-08-11T11:23:12Z</dc:date>
    </item>
  </channel>
</rss>

