<?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: Inserting value into rows in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759273#M239908</link>
    <description>&lt;P&gt;See here:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm="09"x;
input (ID M0 M1 M2 M3 M4 M5) ($);
datalines;
1	A	0	C	0	0	0
1	0	0	0	0	0	0
1	0	0	0	0	0	D
2	0	0	D	0	0	C
2	B	0	0	0	0	0
3	C	A	0	0	0	0
3	0	0	0	0	0	A
4	D	0	0	0	0	0
4	0	0	0	0	0	D
4	0	0	0	0	0	0
;

data want;
if 0 then set have; /* retrieves variables */
array m m0-m5;
array _m $ _m0-_m5;
do _i = 1 to dim(_m);
  _m{_i} = "0";
end;
do until (last.id);
  set have;
  by id;
  do _i = 1 to dim(m);
    if m{_i} ne "0" then _m{_i} = m{_i};
  end;
end;
do until (last.id);
  set have;
  by id;
  do _i = 1 to dim(m);
    m{_i} = _m{_i};
  end;
  output;
end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note how example data is presented as a data step with datalines, so we can quickly recreate the dataset as is with a simple copy/paste and submit. Please do so yourself in the future, as it speeds up the process of finding a solution.&lt;/P&gt;</description>
    <pubDate>Wed, 04 Aug 2021 10:47:51 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2021-08-04T10:47:51Z</dc:date>
    <item>
      <title>Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759267#M239903</link>
      <description>&lt;P&gt;Please help. I need to replace "0" with the character per individual ID. From Table 1 to Table 2. Thanks for your help.&lt;/P&gt;&lt;P&gt;Table 1:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;M0&lt;/TD&gt;&lt;TD&gt;M1&lt;/TD&gt;&lt;TD&gt;M2&lt;/TD&gt;&lt;TD&gt;M3&lt;/TD&gt;&lt;TD&gt;M4&lt;/TD&gt;&lt;TD&gt;M5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 2&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;M0&lt;/TD&gt;&lt;TD&gt;M1&lt;/TD&gt;&lt;TD&gt;M2&lt;/TD&gt;&lt;TD&gt;M3&lt;/TD&gt;&lt;TD&gt;M4&lt;/TD&gt;&lt;TD&gt;M5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Wed, 04 Aug 2021 10:26:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759267#M239903</guid>
      <dc:creator>saweheh</dc:creator>
      <dc:date>2021-08-04T10:26:18Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759273#M239908</link>
      <description>&lt;P&gt;See here:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm="09"x;
input (ID M0 M1 M2 M3 M4 M5) ($);
datalines;
1	A	0	C	0	0	0
1	0	0	0	0	0	0
1	0	0	0	0	0	D
2	0	0	D	0	0	C
2	B	0	0	0	0	0
3	C	A	0	0	0	0
3	0	0	0	0	0	A
4	D	0	0	0	0	0
4	0	0	0	0	0	D
4	0	0	0	0	0	0
;

data want;
if 0 then set have; /* retrieves variables */
array m m0-m5;
array _m $ _m0-_m5;
do _i = 1 to dim(_m);
  _m{_i} = "0";
end;
do until (last.id);
  set have;
  by id;
  do _i = 1 to dim(m);
    if m{_i} ne "0" then _m{_i} = m{_i};
  end;
end;
do until (last.id);
  set have;
  by id;
  do _i = 1 to dim(m);
    m{_i} = _m{_i};
  end;
  output;
end;
drop _:;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note how example data is presented as a data step with datalines, so we can quickly recreate the dataset as is with a simple copy/paste and submit. Please do so yourself in the future, as it speeds up the process of finding a solution.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Aug 2021 10:47:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759273#M239908</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-08-04T10:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759284#M239917</link>
      <description>&lt;P&gt;Thank you so much. It works perfectly. I'll try to implement this for my project.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately I can't use the datalines as you suggested because I'm reading the data from a big table that has thousands of rows and columns.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 04 Aug 2021 11:38:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759284#M239917</guid>
      <dc:creator>saweheh</dc:creator>
      <dc:date>2021-08-04T11:38:26Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759290#M239923</link>
      <description>&lt;P&gt;The DATALINES concerns how you present example data&amp;nbsp;&lt;EM&gt;here&lt;/EM&gt;. Nobody expects you to post a million-observation dataset in this way, just the example you use for illustration of your issue.&lt;/P&gt;
&lt;P&gt;So my first data step is not needed for your code, just replace "have" in the SET statements with the name of your dataset. Make sure that it is sorted properly.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Aug 2021 11:55:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759290#M239923</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2021-08-04T11:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759294#M239926</link>
      <description>&lt;PRE&gt;data have;
infile datalines expandtabs;
input (ID M0 M1 M2 M3 M4 M5) ($);
datalines;
1	A	0	C	0	0	0
1	0	0	0	0	0	0
1	0	0	0	0	0	D
2	0	0	D	0	0	C
2	B	0	0	0	0	0
3	C	A	0	0	0	0
3	0	0	0	0	0	A
4	D	0	0	0	0	0
4	0	0	0	0	0	D
4	0	0	0	0	0	0
;
proc sql;
create table want(drop=dummy) as
select id,max(m0) as m0,max(m1) as m1,
max(m2) as m2,max(m3) as m3,max(m4) as m4,max(m5) as m5,m5 as dummy
 from have
  group by id;
quit;&lt;/PRE&gt;</description>
      <pubDate>Wed, 04 Aug 2021 12:05:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759294#M239926</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2021-08-04T12:05:47Z</dc:date>
    </item>
    <item>
      <title>Re: Inserting value into rows</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759564#M240053</link>
      <description>&lt;P&gt;Wow. I'm so surprised with your few lines of code. It worked too. Thanks heaps.&lt;/P&gt;</description>
      <pubDate>Wed, 04 Aug 2021 23:43:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Inserting-value-into-rows/m-p/759564#M240053</guid>
      <dc:creator>saweheh</dc:creator>
      <dc:date>2021-08-04T23:43:59Z</dc:date>
    </item>
  </channel>
</rss>

