<?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: Lost in arrays (and reshape?) in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129033#M35188</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;invalue mytype&lt;/P&gt;&lt;P&gt;'NORMAL'&amp;nbsp;&amp;nbsp; = 1&lt;/P&gt;&lt;P&gt;'CAMPAIGN' = 2&lt;/P&gt;&lt;P&gt;'FREE'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3 ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data foo;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;input postcode ( week1 week2 week3 week4 ) (:$32.) count_postcode;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;100 NORMAL NORMAL NORMAL NORMAL 1&lt;/P&gt;&lt;P&gt;100 CAMPAIGN CAMPAIGN NORMAL NORMAL 2&lt;/P&gt;&lt;P&gt;100 FREE FREE FREE NORMAL 3&lt;/P&gt;&lt;P&gt;100 NORMAL NORMAL NORMAL CAMPAIGN 4&lt;/P&gt;&lt;P&gt;250 NORMAL NORMAL CAMPAIGN FREE 1&lt;/P&gt;&lt;P&gt;250 CAMPAIGN CAMPAIGN CAMPAIGN CAMPAIGN 2&lt;/P&gt;&lt;P&gt;300 NORMAL NORMAL CAMPAIGN FREE 1&lt;/P&gt;&lt;P&gt;300 FREE FREE CAMPAIGN NORMAL 2&lt;/P&gt;&lt;P&gt;300 FREE FREE FREE FREE 3&lt;/P&gt;&lt;P&gt;400 NORMAL CAMPAIGN FREE FREE 1&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=foo; &lt;/P&gt;&lt;P&gt;by postcode count_postcode; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;/P&gt;&lt;P&gt;retain postcode;&lt;/P&gt;&lt;P&gt;array n [ 3 /*type*/ , 4 /*week*/ ] NORMAL_week1-NORMAL_week4 &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;CAMPAIGN_week1-CAMPAIGN_week4&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; FREE_week1-FREE_week4;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;call pokelong( repeat( put( 0 , rb8. ) , 11 /*total dim 3x4-1*/ ) , addrlong( n[1,1] ) , 96 /*8x12*/ );&lt;/P&gt;&lt;P&gt;do until(last.postcode);&lt;/P&gt;&lt;P&gt;set foo;&lt;/P&gt;&lt;P&gt;array m [ 4 ] week1-week4;&lt;/P&gt;&lt;P&gt;by postcode;&lt;/P&gt;&lt;P&gt;do _n_ = 1 to dim(m);&lt;/P&gt;&lt;P&gt;n[ input( m[_n_] , mytype. ) , _n_ ]+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop week1-week4;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Oct 2013 21:33:45 GMT</pubDate>
    <dc:creator>FriedEgg</dc:creator>
    <dc:date>2013-10-30T21:33:45Z</dc:date>
    <item>
      <title>Lost in arrays (and reshape?)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129031#M35186</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi SAS-forum gurus! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a problem which might seem straight forward, but i'm simply stuck, as how to proceed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My data looks (simplisticly) like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 539px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width="64"&gt;postcode&lt;/TD&gt;&lt;TD width="76"&gt;week1&lt;/TD&gt;&lt;TD width="76"&gt;week2&lt;/TD&gt;&lt;TD width="76"&gt;week3&lt;/TD&gt;&lt;TD width="76"&gt;week4&lt;/TD&gt;&lt;TD width="107"&gt;count_postcode&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;100&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;100&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;100&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;100&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;250&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;250&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;300&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;300&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;300&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right"&gt;400&lt;/TD&gt;&lt;TD&gt;NORMAL&lt;/TD&gt;&lt;TD&gt;CAMPAIGN&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD&gt;FREE&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Except its ~ 80000 rows, and week1 counts to week43, and postcode goes from 0-5000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What i would ideally like (only looking at week1) as an output was something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="width: 462px;"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD height="20" width="64"&gt;postcode&lt;/TD&gt;&lt;TD width="111"&gt;NORMAL_week1&lt;/TD&gt;&lt;TD width="126"&gt;CAMPAIGN_week1&lt;/TD&gt;&lt;TD width="85"&gt;FREE_week1&lt;/TD&gt;&lt;TD width="76"&gt;count_postcode_week1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="20"&gt;100&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="20"&gt;250&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="20"&gt;300&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt;&lt;TD align="right"&gt;2&lt;/TD&gt;&lt;TD align="right"&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD align="right" height="20"&gt;400&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt;&lt;TD align="right"&gt;0&lt;/TD&gt;&lt;TD align="right"&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;.. and the same for NORMAL_week2 CAMPAIGN_week2... all the way to week4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this makes sense. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Im already using arrays, but i simply cant fathom how to get the desired result - so i hope you can help &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Tobias&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Oct 2013 18:02:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129031#M35186</guid>
      <dc:creator>TMorville</dc:creator>
      <dc:date>2013-10-30T18:02:48Z</dc:date>
    </item>
    <item>
      <title>Re: Lost in arrays (and reshape?)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129032#M35187</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ugly....but here it is. I'd prefer and&amp;nbsp; one of the intermediate forms myself:&lt;/P&gt;&lt;P&gt;You'll also have to set the missing to 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input postcode&amp;nbsp;&amp;nbsp;&amp;nbsp; week1 $&amp;nbsp;&amp;nbsp;&amp;nbsp; week2 $&amp;nbsp;&amp;nbsp;&amp;nbsp; week3 $&amp;nbsp;&amp;nbsp;&amp;nbsp; week4 $&amp;nbsp;&amp;nbsp;&amp;nbsp; count_postcode;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/P&gt;&lt;P&gt;250&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;250&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;300&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;300&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/P&gt;&lt;P&gt;300&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;400&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; CAMPAIGN&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; FREE&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array flip(4) week1-week4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to 4;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; week=i;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Status=compress(flip(i))||"_Week";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Count=1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop count_postcode;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc&amp;nbsp; means data=want1 noprint;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; class postcode week status;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; types postcode*week*status postcode*week;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var count;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output out=want2 n=count;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; length status $30.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set want2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if status="" then Status="Count_Postcode_";&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=want3;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by postcode week;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc transpose data=want3 out=want4;&lt;/P&gt;&lt;P&gt;by postcode;&lt;/P&gt;&lt;P&gt;id status week;&lt;/P&gt;&lt;P&gt;var count;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Oct 2013 18:20:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129032#M35187</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2013-10-30T18:20:38Z</dc:date>
    </item>
    <item>
      <title>Re: Lost in arrays (and reshape?)</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129033#M35188</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;invalue mytype&lt;/P&gt;&lt;P&gt;'NORMAL'&amp;nbsp;&amp;nbsp; = 1&lt;/P&gt;&lt;P&gt;'CAMPAIGN' = 2&lt;/P&gt;&lt;P&gt;'FREE'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 3 ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data foo;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;input postcode ( week1 week2 week3 week4 ) (:$32.) count_postcode;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;100 NORMAL NORMAL NORMAL NORMAL 1&lt;/P&gt;&lt;P&gt;100 CAMPAIGN CAMPAIGN NORMAL NORMAL 2&lt;/P&gt;&lt;P&gt;100 FREE FREE FREE NORMAL 3&lt;/P&gt;&lt;P&gt;100 NORMAL NORMAL NORMAL CAMPAIGN 4&lt;/P&gt;&lt;P&gt;250 NORMAL NORMAL CAMPAIGN FREE 1&lt;/P&gt;&lt;P&gt;250 CAMPAIGN CAMPAIGN CAMPAIGN CAMPAIGN 2&lt;/P&gt;&lt;P&gt;300 NORMAL NORMAL CAMPAIGN FREE 1&lt;/P&gt;&lt;P&gt;300 FREE FREE CAMPAIGN NORMAL 2&lt;/P&gt;&lt;P&gt;300 FREE FREE FREE FREE 3&lt;/P&gt;&lt;P&gt;400 NORMAL CAMPAIGN FREE FREE 1&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=foo; &lt;/P&gt;&lt;P&gt;by postcode count_postcode; &lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data bar;&lt;/P&gt;&lt;P&gt;retain postcode;&lt;/P&gt;&lt;P&gt;array n [ 3 /*type*/ , 4 /*week*/ ] NORMAL_week1-NORMAL_week4 &lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;CAMPAIGN_week1-CAMPAIGN_week4&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt; FREE_week1-FREE_week4;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;call pokelong( repeat( put( 0 , rb8. ) , 11 /*total dim 3x4-1*/ ) , addrlong( n[1,1] ) , 96 /*8x12*/ );&lt;/P&gt;&lt;P&gt;do until(last.postcode);&lt;/P&gt;&lt;P&gt;set foo;&lt;/P&gt;&lt;P&gt;array m [ 4 ] week1-week4;&lt;/P&gt;&lt;P&gt;by postcode;&lt;/P&gt;&lt;P&gt;do _n_ = 1 to dim(m);&lt;/P&gt;&lt;P&gt;n[ input( m[_n_] , mytype. ) , _n_ ]+1;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;drop week1-week4;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Oct 2013 21:33:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Lost-in-arrays-and-reshape/m-p/129033#M35188</guid>
      <dc:creator>FriedEgg</dc:creator>
      <dc:date>2013-10-30T21:33:45Z</dc:date>
    </item>
  </channel>
</rss>

