<?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: Transpose using Arrays in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927177#M364896</link>
    <description>&lt;P&gt;Why not Proc Transpose? Below one option&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input name $ qtr amount;
datalines;
adam 1 10
adam 2 20
adam 3 30
adam 4 40
;
run;

data want(drop=_q amount);
  set have(rename=(qtr=_q));;
  by name;
  array qtr{4} 8;
  retain qtr;
  qtr[_q]=amount;
  if last.name then
    do;
      output;
      call missing(of qtr[*]);
    end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 06 May 2024 15:01:26 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2024-05-06T15:01:26Z</dc:date>
    <item>
      <title>Transpose using Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927175#M364894</link>
      <description>&lt;P&gt;data two;&lt;BR /&gt;input name $ qtr amount;&lt;BR /&gt;datalines;&lt;BR /&gt;adam 1 10&lt;BR /&gt;adam 2 20&lt;BR /&gt;adam 3 30&lt;BR /&gt;adam 4 40&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Need a code to produce below output using array and not proc transpose&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;output must be :&lt;/P&gt;
&lt;P&gt;name qtr1 qtr2 qtr3 qtr4&lt;BR /&gt;adam 10&amp;nbsp; &amp;nbsp; 20&amp;nbsp; &amp;nbsp;30&amp;nbsp; &amp;nbsp; 40&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 06 May 2024 14:53:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927175#M364894</guid>
      <dc:creator>Sathya3</dc:creator>
      <dc:date>2024-05-06T14:53:56Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose using Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927176#M364895</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data two;
input name $ qtr amount;
datalines;
adam 1 10
adam 2 20
adam 3 30
adam 4 40
bdam 1 10
bdam 2 20
bdam 4 40
cdam 1 10
cdam 2 20
cdam 3 30
;
run;


data want;
  set two;
  by name;

  array q[4] qtr1-qtr4 (4*.);

  q[qtr] = amount;

  if last.name;
  output;
  call missing(of q[*]);
  
  drop qtr amount;
run;
                         
proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;This works, but do consider transpose.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Mon, 06 May 2024 14:58:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927176#M364895</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2024-05-06T14:58:59Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose using Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927177#M364896</link>
      <description>&lt;P&gt;Why not Proc Transpose? Below one option&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input name $ qtr amount;
datalines;
adam 1 10
adam 2 20
adam 3 30
adam 4 40
;
run;

data want(drop=_q amount);
  set have(rename=(qtr=_q));;
  by name;
  array qtr{4} 8;
  retain qtr;
  qtr[_q]=amount;
  if last.name then
    do;
      output;
      call missing(of qtr[*]);
    end;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 May 2024 15:01:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927177#M364896</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2024-05-06T15:01:26Z</dc:date>
    </item>
    <item>
      <title>Re: Transpose using Arrays</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927181#M364898</link>
      <description>&lt;P&gt;Why not leave the data untransposed?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The only reason I can see you might want to have this data arranged with columns qtr1, qtr2, ... is for a report, and if that's what you want, do not transpose, use PROC REPORT which will work on untransposed data.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data two;
input name $ qtr amount;
datalines;
adam 1 10
adam 2 20
adam 3 30
adam 4 40
paul 1 23
paul 2 33
paul 3 41
paul 4 67
;

proc report data=two;
    columns ('Name' name) (' ' amount),qtr;
    define name/' ' group;
    define qtr/'Quarter' across;
    define amount/' ' sum;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 06 May 2024 16:24:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transpose-using-Arrays/m-p/927181#M364898</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2024-05-06T16:24:45Z</dc:date>
    </item>
  </channel>
</rss>

