<?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: Getting cycle number as per subject and cycle name in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837516#M331152</link>
    <description>&lt;PRE&gt;data have;
input Subject Cycle $20.;
cards;
1 Cycle 1
1 Cycle 1
1 Cycle 2
1 Com Cycle 1
1 Com Cycle 2
1 Com Cycle 3
1 Brid Cycle 1
1 Brid Cycle 1
1 Brid Cycle 1
2 Ind Cycle 1
2 Ind Cycle 1
2 Ind Cycle 2
2 Com Cycle 1
2 Com Cycle 1
2 Com Cycle 3
2 Brid Cycle 1
2 Brid Cycle 1
2 Brid Cycle 3
;

data want;
 set have;
 by Subject Cycle notsorted;
 if first.Subject then n=0;
 n+first.Cycle;
 Cycle_no=catx(' ','Cycle',n);
 drop n;
run;&lt;/PRE&gt;</description>
    <pubDate>Sat, 08 Oct 2022 12:47:41 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2022-10-08T12:47:41Z</dc:date>
    <item>
      <title>Getting cycle number as per subject and cycle name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837510#M331146</link>
      <description>&lt;P&gt;Hi Community,&lt;/P&gt;&lt;P&gt;Can anyone please help me with this logic?&lt;/P&gt;&lt;P&gt;For each subject, whenever cycle name changes I want Cycle = OldCycle+1.&lt;/P&gt;&lt;P&gt;Source Dataset:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject&lt;/TD&gt;&lt;TD&gt;Cycle&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Output Data set:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Subject&lt;/TD&gt;&lt;TD&gt;Cycle&lt;/TD&gt;&lt;TD&gt;Cycle_no&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Cycle 2&lt;/TD&gt;&lt;TD&gt;Cycle 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 2&lt;/TD&gt;&lt;TD&gt;Cycle 4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Com Cycle 3&lt;/TD&gt;&lt;TD&gt;Cycle 5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Ind Cycle 2&lt;/TD&gt;&lt;TD&gt;Cycle 2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Com Cycle 3&lt;/TD&gt;&lt;TD&gt;Cycle 4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 1&lt;/TD&gt;&lt;TD&gt;Cycle 5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Brid Cycle 3&lt;/TD&gt;&lt;TD&gt;Cycle 6&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Sat, 08 Oct 2022 09:03:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837510#M331146</guid>
      <dc:creator>gahlot1999</dc:creator>
      <dc:date>2022-10-08T09:03:28Z</dc:date>
    </item>
    <item>
      <title>Re: Getting cycle number as per subject and cycle name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837511#M331147</link>
      <description>&lt;P&gt;I have attached excel also, for source and output dataset.&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 09:38:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837511#M331147</guid>
      <dc:creator>gahlot1999</dc:creator>
      <dc:date>2022-10-08T09:38:28Z</dc:date>
    </item>
    <item>
      <title>Re: Getting cycle number as per subject and cycle name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837512#M331148</link>
      <description>&lt;P&gt;Thank you but we cannot work with Excel files, most people refuse to download any Microsoft Office files as they can be a security risk. In the future, please provide your data as working SAS data step code which you can type in yourself, or follow &lt;A href="https://blogs.sas.com/content/sastraining/2016/03/11/jedi-sas-tricks-data-to-data-step-macro/" target="_self"&gt;these instructions&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* UNTESTED CODE */


data want;
    set have;
    by subject;
    prev_cycle=lag(cycle);
    if first.subject then cycle_no=1;
    if cycle^=prev_cycle and not first.subject then cycle_no+1;
    drop prev_cycle;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 09:57:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837512#M331148</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-10-08T09:57:37Z</dc:date>
    </item>
    <item>
      <title>Re: Getting cycle number as per subject and cycle name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837513#M331149</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/424399"&gt;@gahlot1999&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Minor addition to the solution you've already received:&lt;/P&gt;
&lt;P&gt;If you really need the (actually redundant) word "Cycle" in front of each cycle number, you can create a &lt;A href="https://documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/proc/p0n990vq8gxca6n1vnsracr6jp2c.htm" target="_blank" rel="noopener"&gt;picture format&lt;/A&gt;:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc format;
picture cycle_no (default=10)
low-high='0000' (prefix='Cycle ');
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Then just insert the FORMAT statement&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;format cycle_no cycle_no.;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;into Paige Miller's DATA step (e.g., before the RUN statement) to get exactly the output shown in your post, leaving variable CYCLE_NO numeric, as it should be.&lt;/P&gt;</description>
      <pubDate>Sat, 08 Oct 2022 10:26:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837513#M331149</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2022-10-08T10:26:34Z</dc:date>
    </item>
    <item>
      <title>Re: Getting cycle number as per subject and cycle name</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837516#M331152</link>
      <description>&lt;PRE&gt;data have;
input Subject Cycle $20.;
cards;
1 Cycle 1
1 Cycle 1
1 Cycle 2
1 Com Cycle 1
1 Com Cycle 2
1 Com Cycle 3
1 Brid Cycle 1
1 Brid Cycle 1
1 Brid Cycle 1
2 Ind Cycle 1
2 Ind Cycle 1
2 Ind Cycle 2
2 Com Cycle 1
2 Com Cycle 1
2 Com Cycle 3
2 Brid Cycle 1
2 Brid Cycle 1
2 Brid Cycle 3
;

data want;
 set have;
 by Subject Cycle notsorted;
 if first.Subject then n=0;
 n+first.Cycle;
 Cycle_no=catx(' ','Cycle',n);
 drop n;
run;&lt;/PRE&gt;</description>
      <pubDate>Sat, 08 Oct 2022 12:47:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Getting-cycle-number-as-per-subject-and-cycle-name/m-p/837516#M331152</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-10-08T12:47:41Z</dc:date>
    </item>
  </channel>
</rss>

