<?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: Writing duplicate records based on key in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489312#M127738</link>
    <description>&lt;P&gt;COUNTW - how many words in the field&lt;/P&gt;
&lt;P&gt;SCAN() to get ith element.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

nwords  = countw(string);

do i=1 to nwords;
word =scan(string, i);
output;
end;

keep var1 word name;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17207"&gt;@gandikk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an input which has 3 fields.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222,160,539,533,265&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246,187,739,563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to create an output based on the 2nd field like below. Comma is my delimiter in the 2nd field. I need to create duplicate records based on the comma separated values in the 2nd field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;160&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;539&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;533&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;265&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;187&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;739&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How I can achieve this in SAS? Thanks in advance.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 23 Aug 2018 15:33:21 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2018-08-23T15:33:21Z</dc:date>
    <item>
      <title>Writing duplicate records based on key</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489306#M127735</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an input which has 3 fields.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222,160,539,533,265&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246,187,739,563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to create an output based on the 2nd field like below. Comma is my delimiter in the 2nd field. I need to create duplicate records based on the comma separated values in the 2nd field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;160&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;539&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;533&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;265&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;187&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;739&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How I can achieve this in SAS? Thanks in advance.&lt;/P&gt;</description>
      <pubDate>Thu, 23 Aug 2018 15:23:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489306#M127735</guid>
      <dc:creator>gandikk</dc:creator>
      <dc:date>2018-08-23T15:23:22Z</dc:date>
    </item>
    <item>
      <title>Re: Writing duplicate records based on key</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489310#M127737</link>
      <description>&lt;P&gt;Straight forward scan&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input (field1-field3) (:$50.);
cards;
10011438696014	222,160,539,533,265	Richard
10011438695678	246,187,739,563	Brian
;

data want;
set have;
do _n_=1 to countw(field2,',');
_field2=scan(field2,_n_,',');
output;
end;
drop field2;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 23 Aug 2018 15:31:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489310#M127737</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-08-23T15:31:00Z</dc:date>
    </item>
    <item>
      <title>Re: Writing duplicate records based on key</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489312#M127738</link>
      <description>&lt;P&gt;COUNTW - how many words in the field&lt;/P&gt;
&lt;P&gt;SCAN() to get ith element.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;

nwords  = countw(string);

do i=1 to nwords;
word =scan(string, i);
output;
end;

keep var1 word name;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/17207"&gt;@gandikk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an input which has 3 fields.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222,160,539,533,265&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246,187,739,563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to create an output based on the 2nd field like below. Comma is my delimiter in the 2nd field. I need to create duplicate records based on the comma separated values in the 2nd field.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="355"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="109"&gt;10011438696014&lt;/TD&gt;
&lt;TD width="182"&gt;222&lt;/TD&gt;
&lt;TD width="64"&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;160&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;539&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;533&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438696014&lt;/TD&gt;
&lt;TD&gt;265&lt;/TD&gt;
&lt;TD&gt;Richard&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;246&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;187&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;739&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;10011438695678&lt;/TD&gt;
&lt;TD&gt;563&lt;/TD&gt;
&lt;TD&gt;Brian&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How I can achieve this in SAS? Thanks in advance.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 23 Aug 2018 15:33:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Writing-duplicate-records-based-on-key/m-p/489312#M127738</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-08-23T15:33:21Z</dc:date>
    </item>
  </channel>
</rss>

