<?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: Transposing data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/572282#M161498</link>
    <description>&lt;P&gt;Sorry for the confusion, here is my updated desired outcome;&lt;/P&gt;&lt;P&gt;Strata&amp;nbsp;&amp;nbsp; id&amp;nbsp;&amp;nbsp; Pen&amp;nbsp;&amp;nbsp;&amp;nbsp; Pencil&amp;nbsp;&amp;nbsp; Printer&amp;nbsp;&amp;nbsp;&amp;nbsp; Paper&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp; &amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp;&amp;nbsp; 104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;101A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;</description>
    <pubDate>Wed, 10 Jul 2019 01:55:20 GMT</pubDate>
    <dc:creator>Abimal_Zippi</dc:creator>
    <dc:date>2019-07-10T01:55:20Z</dc:date>
    <item>
      <title>Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571307#M161160</link>
      <description>&lt;P&gt;I have tried the following program but not working as desired:&lt;/P&gt;&lt;P&gt;Sample data&amp;nbsp;structure and desired form&amp;nbsp;attached&lt;/P&gt;&lt;P&gt;Proc transpose data=X out Y;&lt;/P&gt;&lt;P&gt;By STRATA ID;&lt;/P&gt;&lt;P&gt;Id ITEM_CODE;&lt;/P&gt;&lt;P&gt;VAR ITEM_NAME;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2019 04:52:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571307#M161160</guid>
      <dc:creator>Abimal_Zippi</dc:creator>
      <dc:date>2019-07-05T04:52:20Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571310#M161161</link>
      <description>&lt;P&gt;You're missing an equals sign.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Proc transpose data=X out=Y; /* out also needs a = */
By STRATA ID;
Id ITEM_CODE;
VAR ITEM_NAME;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Please provide example data in a data step with datalines; post the code into a window opened with the "little running man".&lt;/P&gt;
&lt;P&gt;No need for attaching Office documents, which are blocked from downloading at many corporate sites.&lt;/P&gt;</description>
      <pubDate>Fri, 05 Jul 2019 05:07:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571310#M161161</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-05T05:07:54Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571682#M161289</link>
      <description>&lt;P&gt;Thanks, I missed "equals" sign, while posting the code.&lt;/P&gt;&lt;P&gt;Here is the data step with data lines,&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Data X;

Input ID STRATA ITEM_NAME $ ITEM_CDE $;

Datalines;

 

1 1 Pen 101A

1 1 Paper 102A

1 1 Printer 103A

1 3 Pen 101A

1 3 Paper 102A

1 3 Printer 103A

1 4 Pencil 104A

2 2 Pen 101A

2 2 Paper 102A

2 2 Printer 103A

2 9 Pencil 104A

;

*Here is the data structure desired;

data desired;

Input ID STRATA ITEM_NAME $ ITEM_CDE $;

Datalines;

1 1 1 0 1 1

1 3 1 0 1 1

1 4 0 1 0 0

2 2 1 0 1 1

2 9 0 1 0 0

;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jul 2019 02:01:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571682#M161289</guid>
      <dc:creator>Abimal_Zippi</dc:creator>
      <dc:date>2019-07-08T02:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571709#M161305</link>
      <description>&lt;P&gt;I can't make sense of your "desired" dataset, you don't have any variable names that could be the result of a transpose.&lt;/P&gt;
&lt;P&gt;See this code for a basic transpose:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id strata item_name $ item_cde $;
item = 1;
datalines;
1 1 Pen 101A
1 1 Paper 102A
1 1 Printer 103A
1 3 Pen 101A
1 3 Paper 102A
1 3 Printer 103A
1 4 Pencil 104A
2 2 Pen 101A
2 2 Paper 102A
2 2 Printer 103A
2 9 Pencil 104A
;

proc transpose
  data=have
  out=trans (drop=_name_)
  prefix=_
;
by id strata;
id item_cde;
var item;
run;

data want;
set trans;
array nums {*} _:;
do i = 1 to dim(nums);
  nums{i} = max(0,nums{i});
end;
drop i;

proc print data=want noobs;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Note that I added a numeric variable to get the numeric values in the result.&lt;/P&gt;
&lt;P&gt;The intermediate step is for replacing missings with zeroes.&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;PRE&gt;id    strata    _101A    _102A    _103A    _104A

 1       1        1        1        1        0  
 1       3        1        1        1        0  
 1       4        0        0        0        1  
 2       2        1        1        1        0  
 2       9        0        0        0        1  
&lt;/PRE&gt;</description>
      <pubDate>Mon, 08 Jul 2019 08:04:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/571709#M161305</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-08T08:04:40Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/572282#M161498</link>
      <description>&lt;P&gt;Sorry for the confusion, here is my updated desired outcome;&lt;/P&gt;&lt;P&gt;Strata&amp;nbsp;&amp;nbsp; id&amp;nbsp;&amp;nbsp; Pen&amp;nbsp;&amp;nbsp;&amp;nbsp; Pencil&amp;nbsp;&amp;nbsp; Printer&amp;nbsp;&amp;nbsp;&amp;nbsp; Paper&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp; &amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 101A&amp;nbsp;&amp;nbsp;&amp;nbsp; 104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; .&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;101A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 104A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 103A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;102A&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jul 2019 01:55:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/572282#M161498</guid>
      <dc:creator>Abimal_Zippi</dc:creator>
      <dc:date>2019-07-10T01:55:20Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/572295#M161503</link>
      <description>&lt;P&gt;I guess you mistakenly changed id and strata. This should do it:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc transpose data=x out=y;
by id strata;
id item_name;
var item_cde;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 10 Jul 2019 05:32:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-data/m-p/572295#M161503</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-07-10T05:32:58Z</dc:date>
    </item>
  </channel>
</rss>

