<?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: Insert rows into table with sequences in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371565#M24256</link>
    <description>&lt;P&gt;Hi, the code doesn't work fine. Lines are duplicated and there is no added monthID. I tried to transform CODE to numeric variable but the problem persists. Should we define somewhere that the new added line should have the same CODE as previous?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, my data shoudl be like (bolded lines must be added to the original dataset):&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;monthID&lt;/TD&gt;&lt;TD&gt;CODE&lt;/TD&gt;&lt;TD&gt;AMOUNT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;9500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;105&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;105&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;8000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;4000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;51&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;52&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;53&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;54&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;55&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;56&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;1500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;42&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;19000&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
    <pubDate>Thu, 29 Jun 2017 09:09:27 GMT</pubDate>
    <dc:creator>D-e-e</dc:creator>
    <dc:date>2017-06-29T09:09:27Z</dc:date>
    <item>
      <title>Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371461#M24241</link>
      <description>&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;monthID&lt;/TD&gt;&lt;TD&gt;CODE&lt;/TD&gt;&lt;TD&gt;AMOUNT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;9500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;8000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;4000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;52&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;1500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;42&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;19000&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have to insert rows between monthIDs to have, in example, also monthID 3 and 4 for CODE 105. When inserting monthIDs in order, the CODE must be the same as previous (105 for this example) and the AMONUT must be 0. There is a lot of data so I cannot write which data to insert, it must be somehow automatically managed.&lt;/P&gt;&lt;P&gt;Thx!&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2017 21:10:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371461#M24241</guid>
      <dc:creator>D-e-e</dc:creator>
      <dc:date>2017-06-28T21:10:09Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371465#M24242</link>
      <description>&lt;P&gt;Here are a couple of assumptions.&amp;nbsp; Your data should be sorted by CODE.&amp;nbsp; And MONTHID should be a numeric variable.&amp;nbsp; In that case:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set have;&lt;/P&gt;
&lt;P&gt;by CODE;&lt;/P&gt;
&lt;P&gt;output;&lt;/P&gt;
&lt;P&gt;if last.CODE=0;&lt;/P&gt;
&lt;P&gt;_n_ = _n_ + 1;&lt;/P&gt;
&lt;P&gt;set have (keep=monthID rename=(monthID = next_month)) point=_n_;&lt;/P&gt;
&lt;P&gt;if next_month - monthID &amp;gt; 1;&lt;/P&gt;
&lt;P&gt;amount=0;&lt;/P&gt;
&lt;P&gt;do &lt;FONT color="#FF0000"&gt;monthID&lt;/FONT&gt; = monthID + 1 to next_month - 1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;drop next_month;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code is untested, but we can clean it up pretty easily if you run into any problems with it.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 11:08:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371465#M24242</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-29T11:08:12Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371471#M24243</link>
      <description>Thank you very much for the answer. Your assumptions are correct. I will be able to test the code tomorrow, but since I am new in this, could you please explain the line&lt;BR /&gt;'if last.CODE=0;'?</description>
      <pubDate>Wed, 28 Jun 2017 21:45:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371471#M24243</guid>
      <dc:creator>D-e-e</dc:creator>
      <dc:date>2017-06-28T21:45:08Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371478#M24244</link>
      <description>&lt;P&gt;When you use a BY statement in a data step SAS creates automatic variables that indicate whether the current value of a variable is associated with the first or last of that value. The value is 1 if it is true (either the first or the last) and 0 otherwise. You access that value with the First. and Last.&amp;nbsp; (the dot is important!) notation.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So 'if last.CODE=0;' is equivalent to "if not the last of the current Code value group";&lt;/P&gt;
&lt;P&gt;A simple IF with no 'then' after it is a subsetting if. So only records where that statement is true are written to the output data set.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2017 22:25:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371478#M24244</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-06-28T22:25:45Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371487#M24245</link>
      <description>&lt;P&gt;What he said, except for one key feature.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that there is an OUTPUT statement (two in fact) before the subsetting IF. &amp;nbsp;So every observation will be part of your output ... nothing gets deleted. &amp;nbsp;Try it and see whether it does what you want.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2017 23:06:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371487#M24245</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-28T23:06:16Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371565#M24256</link>
      <description>&lt;P&gt;Hi, the code doesn't work fine. Lines are duplicated and there is no added monthID. I tried to transform CODE to numeric variable but the problem persists. Should we define somewhere that the new added line should have the same CODE as previous?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, my data shoudl be like (bolded lines must be added to the original dataset):&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;monthID&lt;/TD&gt;&lt;TD&gt;CODE&lt;/TD&gt;&lt;TD&gt;AMOUNT&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;10000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;9500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;105&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;105&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;105&lt;/TD&gt;&lt;TD&gt;8000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;4000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;51&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;52&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;3000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;53&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;54&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;55&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;56&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;202&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;202&lt;/TD&gt;&lt;TD&gt;1500&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;42&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;20000&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;43&lt;/TD&gt;&lt;TD&gt;203&lt;/TD&gt;&lt;TD&gt;19000&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 29 Jun 2017 09:09:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371565#M24256</guid>
      <dc:creator>D-e-e</dc:creator>
      <dc:date>2017-06-29T09:09:27Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371613#M24259</link>
      <description>&lt;P&gt;I made one &lt;FONT color="#FF0000"&gt;change&lt;/FONT&gt; in the original program ... see if that does the trick.&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jun 2017 11:09:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371613#M24259</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-06-29T11:09:27Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371651#M24260</link>
      <description>This is it! Thanks a lot!</description>
      <pubDate>Thu, 29 Jun 2017 12:31:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371651#M24260</guid>
      <dc:creator>D-e-e</dc:creator>
      <dc:date>2017-06-29T12:31:05Z</dc:date>
    </item>
    <item>
      <title>Re: Insert rows into table with sequences</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371677#M24261</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards expandtabs truncover;
input monthID	CODE	AMOUNT;
cards;
1	105	10000
2	105	9500
5	105	8000
50	202	4000
52	202	3000
57	202	1500
42	203	20000
43	203	19000
;
run;

data want;
 merge have have(keep=monthid code rename=(monthid=month code=_code) firstobs=2);
 output;
if code=_code then do;
 do i=monthid+1 to month-1;
  monthid=i; amount=0;output;
 end;
end;
drop month i _code;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 29 Jun 2017 13:22:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Insert-rows-into-table-with-sequences/m-p/371677#M24261</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-06-29T13:22:53Z</dc:date>
    </item>
  </channel>
</rss>

