<?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: Help with data manipulation in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670931#M36481</link>
    <description>&lt;P&gt;Two transposes do it:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm='09'x;
input person $ red	yellow 	blue 	green	orange;
datalines;
person1	1	0	0	0	0
person2	0	0	0	0	1
person3	0	1	0	1	0
person4	0	0	1	0	0
person5	1	0	0	1	1
;

proc transpose data=have out=long (where=(col1 = 1));
by person;
var _numeric_;
run;

data num;
set long;
by person;
if first.person
then num = 1;
else num + 1;
run;

proc transpose data=num out=wide (drop=_name_ _label_) prefix=fav_colour;
by person;
var _name_;
id num;
run;

data want;
merge
  have
  wide
;
by person;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 21 Jul 2020 11:23:58 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2020-07-21T11:23:58Z</dc:date>
    <item>
      <title>Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670923#M36478</link>
      <description>&lt;P&gt;Hi there, I am looking for functions or ideas on how to analysis the below example dataset:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What i would like to do it using the colour columns, create a new variable which assigns the favourite colour of each individual. So for person1 a simple IF statement would be fine as they only have 1 favourite colour, I can say 'if red = 1 then fav_colour = red'. However, the issue is when a person has more than one favourite colour i want to be able to assign 2 separate variables that have the 2 different colours in it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;red&lt;/TD&gt;&lt;TD&gt;yellow&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;blue&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;green&lt;/TD&gt;&lt;TD&gt;orange&lt;/TD&gt;&lt;TD&gt;fav_colour&lt;/TD&gt;&lt;TD&gt;fav_colour2&lt;/TD&gt;&lt;TD&gt;fav_colour3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;person1&lt;/TD&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;red&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;person2&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;1&lt;/TD&gt;&lt;TD&gt;orange&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;person3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;yellow&lt;/TD&gt;&lt;TD&gt;green&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;person4&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&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;blue&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;person5&lt;/TD&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;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;red&lt;/TD&gt;&lt;TD&gt;green&lt;/TD&gt;&lt;TD&gt;orange&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 been looking at using arrays and do loops but am struggling to figure out how best to use these, so any ideas on functions that could be useful would be very much appreciated. (I have SAS Enterprise Guide version 7.11)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jul 2020 11:16:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670923#M36478</guid>
      <dc:creator>Jenna25</dc:creator>
      <dc:date>2020-07-21T11:16:02Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670929#M36479</link>
      <description>&lt;P&gt;So, all you have now are the color columns, correct?&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jul 2020 11:23:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670929#M36479</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2020-07-21T11:23:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670930#M36480</link>
      <description>&lt;P&gt;UNTESTED CODE&lt;/P&gt;
&lt;P&gt;If you want tested code, please provide data as a SAS data step and not as a screen capture&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
    set have;
    array colors(*) red yellow blue green orange;
    array fav_color(*) $ 8 fav_color1-fav_color5;
    count=1;
    do i=1 to dim(colors);
        if colors(i)=1 then do; 
            fav_color(count)=vname(colors(i));
            count=count+1;
        end;
    end;
    drop i count;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 Jul 2020 11:27:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670930#M36480</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-07-21T11:27:04Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670931#M36481</link>
      <description>&lt;P&gt;Two transposes do it:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines dlm='09'x;
input person $ red	yellow 	blue 	green	orange;
datalines;
person1	1	0	0	0	0
person2	0	0	0	0	1
person3	0	1	0	1	0
person4	0	0	1	0	0
person5	1	0	0	1	1
;

proc transpose data=have out=long (where=(col1 = 1));
by person;
var _numeric_;
run;

data num;
set long;
by person;
if first.person
then num = 1;
else num + 1;
run;

proc transpose data=num out=wide (drop=_name_ _label_) prefix=fav_colour;
by person;
var _name_;
id num;
run;

data want;
merge
  have
  wide
;
by person;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 Jul 2020 11:23:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670931#M36481</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2020-07-21T11:23:58Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670977#M36482</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/338582"&gt;@Jenna25&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hi there, I am looking for functions or ideas on how to analysis the below example dataset:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What i would like to do it using the colour columns, create a new variable which assigns the favourite colour of each individual. So for person1 a simple IF statement would be fine as they only have 1 favourite colour, I can say 'if red = 1 then fav_colour = red'. However, the issue is when a person has more than one favourite colour i want to be able to assign 2 separate variables that have the 2 different colours in it.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;yellow&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;blue&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;orange&lt;/TD&gt;
&lt;TD&gt;fav_colour&lt;/TD&gt;
&lt;TD&gt;fav_colour2&lt;/TD&gt;
&lt;TD&gt;fav_colour3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;person1&lt;/TD&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;red&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;person2&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;1&lt;/TD&gt;
&lt;TD&gt;orange&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;person3&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;yellow&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;person4&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;0&lt;/TD&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;blue&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;person5&lt;/TD&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;1&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;red&lt;/TD&gt;
&lt;TD&gt;green&lt;/TD&gt;
&lt;TD&gt;orange&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 been looking at using arrays and do loops but am struggling to figure out how best to use these, so any ideas on functions that could be useful would be very much appreciated. (I have SAS Enterprise Guide version 7.11)&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;I question the value of doing this transformation of the data. It seems to me that any analysis you could do with the new columns could be done just as easily on the columns of 0s and 1s.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Jul 2020 13:21:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670977#M36482</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2020-07-21T13:21:13Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670980#M36483</link>
      <description>&lt;P&gt;Looks like transforming from bad to worse, but if you need it ... do you really want the fav_colour-variables added to the variable you already have, or do you want person and fav_colour only?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are happy with person and fav_colours, try this, it uses the have-dataset provided by &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/11562"&gt;@Kurt_Bremser&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data pre_want;
   set have;
   length fav_colour $ 10;
   
   array colours red--orange;
   
   do i = 1 to dim(colours);
      if colours[i] then do;
         fav_colour = vname(colours[i]);
         output;
      end;
   end;
   
   keep person fav_colour;
run;

proc transpose data=pre_want out=want(drop=_name_) prefix=fav_colour;
   by person;
   var fav_colour;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 Jul 2020 13:37:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670980#M36483</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2020-07-21T13:37:40Z</dc:date>
    </item>
    <item>
      <title>Re: Help with data manipulation</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670983#M36484</link>
      <description>Thank you so much, this has done exactly what i needed!</description>
      <pubDate>Tue, 21 Jul 2020 13:37:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Help-with-data-manipulation/m-p/670983#M36484</guid>
      <dc:creator>Jenna25</dc:creator>
      <dc:date>2020-07-21T13:37:29Z</dc:date>
    </item>
  </channel>
</rss>

