<?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/Moving Data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419627#M280490</link>
    <description>&lt;P&gt;You have a couple of options, which, if you had&amp;nbsp;&lt;U&gt;&lt;STRONG&gt;provided some test data in the form of a datastep using the {i} above the post area&lt;/STRONG&gt;&lt;/U&gt; I would provide code against.&amp;nbsp; As such I will just say:&lt;/P&gt;
&lt;P&gt;1)&amp;nbsp; Proc transpose twice, once for fee, once for amt, then merge the two resulting datasets&lt;/P&gt;
&lt;P&gt;2)&amp;nbsp; Array the two sets of data in a datastep by the given variables, output on last of the by group.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are any number of posts and resources on this type of thing out there, a good term is re-shaping data.&amp;nbsp; E.g&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings13/082-2013.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings13/082-2013.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that programming with such a structure will make your coding harder, transposed is really only useful in output documents.&lt;/P&gt;</description>
    <pubDate>Fri, 08 Dec 2017 16:59:26 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2017-12-08T16:59:26Z</dc:date>
    <item>
      <title>Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419625#M280488</link>
      <description>&lt;P&gt;Hi all, I have an issue with adjusting the look of my data. I am using EG but can also program reasonably&amp;nbsp;well.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have data ordered as:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invoice_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chrg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Amt&lt;/P&gt;&lt;P&gt;1121&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&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;&amp;nbsp; Bank1&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;&amp;nbsp;&amp;nbsp;Fee1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;&lt;P&gt;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Fee2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;2&lt;/P&gt;&lt;P&gt;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fee3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;1122&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;&amp;nbsp;&amp;nbsp;Bank 2&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; Fee4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fee7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And so on. There are up to 9 Fee Chrgs. (fee is a description of the fee type)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to flatten this so I get&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invoice_num&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Chrg1 Chrg2&amp;nbsp;Chrg3&amp;nbsp;Chrg4 (up to 9)&amp;nbsp; Amt1 Amt2 Amt3 (up to 9) and a total&lt;/P&gt;&lt;P&gt;1121&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;&amp;nbsp;&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;&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; Bank1&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; Fee1&amp;nbsp; Fee2&amp;nbsp;&amp;nbsp; Fee3&amp;nbsp; Fee4&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;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1122&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6&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;&amp;nbsp; Bank2&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; Fee1&amp;nbsp; Fee2&amp;nbsp;&amp;nbsp; Fee3&amp;nbsp; Fee4&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;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All Fee description types (9) must be listed horizontally, if a client does not have that fee type on their invoice, it would be 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am a bit stuck with this.&amp;nbsp; Thanks&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 16:49:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419625#M280488</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T16:49:55Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419626#M280489</link>
      <description>&lt;P&gt;Please pos the data as datastep and explain the logic. I don't understand why Invoice_num is "6" for Customer_ID "1122".&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 16:58:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419626#M280489</guid>
      <dc:creator>error_prone</dc:creator>
      <dc:date>2017-12-08T16:58:35Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419627#M280490</link>
      <description>&lt;P&gt;You have a couple of options, which, if you had&amp;nbsp;&lt;U&gt;&lt;STRONG&gt;provided some test data in the form of a datastep using the {i} above the post area&lt;/STRONG&gt;&lt;/U&gt; I would provide code against.&amp;nbsp; As such I will just say:&lt;/P&gt;
&lt;P&gt;1)&amp;nbsp; Proc transpose twice, once for fee, once for amt, then merge the two resulting datasets&lt;/P&gt;
&lt;P&gt;2)&amp;nbsp; Array the two sets of data in a datastep by the given variables, output on last of the by group.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are any number of posts and resources on this type of thing out there, a good term is re-shaping data.&amp;nbsp; E.g&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings13/082-2013.pdf" target="_blank"&gt;http://support.sas.com/resources/papers/proceedings13/082-2013.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note that programming with such a structure will make your coding harder, transposed is really only useful in output documents.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 16:59:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419627#M280490</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-12-08T16:59:26Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419631#M280491</link>
      <description>&lt;P&gt;It helps to have example data in the form of data step code. Instructions here: &lt;A href="https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712" target="_blank"&gt;https://communities.sas.com/t5/SAS-Communities-Library/How-to-create-a-data-step-version-of-your-data-AKA-generate/ta-p/258712&lt;/A&gt; will show how to turn an existing SAS data set into data step code that can be pasted into a forum code box using the {i} icon or attached as text to show exactly what you have and that we can test code against.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you actual data does not have Customer_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Invoice_num&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Customer_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;on each record as implied by the data example then likely the first thing to do would be to make sure those variables are populated for each row.&lt;/P&gt;
&lt;P&gt;The data would be better structured to have a variable Fee with values of 1, 2, 3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's one example. The id variables end up on the right but that could addressed in any output or by adding length statements for them prior to the array in the last data step.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
   input id $ inv $ cust $ Fee Amt;
datalines;
1121 1   Bank1  1 1
1121 1   Bank1  2 2
1121 1   Bank1  4 3
1121 1   Bank1  5 4
1121 2   Bank2  3 10
1121 2   Bank2  7 15
;
run;

/* following step will use BY
   processing requiring sort if not already
*/
proc sort data=have;
   by id inv cust;
run;

proc transpose data=have out=temp
  prefix=amt;
   by id inv cust;
   id fee;
   var amt;
run;

data want;
   array chrg {9} $4 ;
   array amt {9}  ;
   set temp;
   do i=1 to dim(chrg);
      chrg[i] = cats('Fee',i);
      if missing(amt[i]) then amt[i]=0;
   end;
   drop i;
run;
&lt;/PRE&gt;</description>
      <pubDate>Fri, 08 Dec 2017 17:17:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419631#M280491</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-12-08T17:17:17Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419635#M280492</link>
      <description>&lt;P&gt;If you download and run the %transpose macro (&lt;A href="http://www.sascommunity.org/wiki/A_Better_Way_to_Flip_(Transpose)_a_SAS_Dataset" target="_blank"&gt;http://www.sascommunity.org/wiki/A_Better_Way_to_Flip_(Transpose)_a_SAS_Dataset&lt;/A&gt;), the task requires minimal coding:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data have;
  input Customer_ID Invoice_num Customer_name $ Chrg $ Amt;
  cards;
1121                      1          Bank1     Fee1     1
1121                      1          Bank1     Fee2     2
1121                      1          Bank1     Fee3     3
1122                      2          Bank2     Fee4    12
1122                      2          Bank2     Fee7    15
;

%transpose(data=have, out=want, by=Customer_ID, var=Chrg Amt, sort=YES)
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 17:25:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419635#M280492</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-08T17:25:49Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419669#M280493</link>
      <description>&lt;P&gt;I have been trying to upload data, but when I run the data2datastep macro I get:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: Insufficient authorization to access C:\WINDOWS\system32\create_EGTASK_HOLD_data.sas&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I direct output?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 18:53:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419669#M280493</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T18:53:33Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419671#M280494</link>
      <description>&lt;P&gt;Sorry, I didn't realize that the data macro needed a full filename&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;here is datastep data&lt;/P&gt;&lt;PRE&gt;data EGTASK.HOLD;
  infile datalines dsd truncover;
  input Customer_Number:$6. Invoice_Number:BEST12. Customer_Name:$8. Description:$23. Total_Amt:BEST12.;
datalines4;
N00006,300002,Airline1,Enroute/En route,31
,,,Terminal/Terminaux,22
,,,NAT/Atlantique Nord,16
,,,Overflight/Survol,21
,,,I.Comm./Comm.int.,34
,,,GST / TPS (#897815452),12
,,,HST / TVH (#897815452),0
,,,QST / TVQ (#1018137751),0
N00008,300003,Airline2,Enroute/En route,-21
,,,Terminal/Terminaux,16
,,,NAT/Atlantique Nord,21
,,,Overflight/Survol,500
,,,I.Comm./Comm.int.,25
,,,GST / TPS (#897815452),16
,,,HST / TVH (#897815452),0
,,,QST / TVQ (#1018137751),0
N00012,300004,Airline3,Enroute/En route,0
,,,Terminal/Terminaux,0
,,,NAT/Atlantique Nord,12
,,,Overflight/Survol,14
,,,I.Comm./Comm.int.,21
,,,GST / TPS (#897815452),0
,,,HST / TVH (#897815452),0
,,,QST / TVQ (#1018137751),0
N00017,300005,Airline4,Daily/Quotidienne,-66
,,,Enroute/En route,-25
,,,Terminal/Terminaux,16
,,,I.Comm./Comm.int.,14
,,,GST / TPS (#897815452),13
,,,HST / TVH (#897815452),-15
,,,QST / TVQ (#1018137751),0
N00021,300006,Airline5,NAT/Atlantique Nord,2.24
,,,Overflight/Survol,-6.27
,,,I.Comm./Comm.int.,1.24
,,,GST / TPS (#897815452),0
,,,HST / TVH (#897815452),0
,,,QST / TVQ (#1018137751),11
;;;;&lt;/PRE&gt;&lt;P&gt;thanks for your patience&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 19:00:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419671#M280494</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T19:00:38Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419673#M280495</link>
      <description>&lt;P&gt;The output should be one line per customer number (not multiple lines):&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer_Number&amp;nbsp;&amp;nbsp; Invoice_Number&amp;nbsp; Customer_Name&amp;nbsp; Line1_Descr (9 in total for the charge description) Line1 (to 9) for the $ amounts relating to the respective descriptions and a total&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 19:07:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419673#M280495</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T19:07:33Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419694#M280496</link>
      <description>&lt;P&gt;Why do most of your records have missing CUSTOMER_NUMBER?&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 20:19:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419694#M280496</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-12-08T20:19:23Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419695#M280497</link>
      <description>&lt;P&gt;This is how it is supplied to us from billing. We get one customer number, then a bunch of charges...then a new customer number, then more charges related to that customer. They can't provide:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer_number&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description&amp;nbsp;&amp;nbsp;&amp;nbsp; Amount&lt;/P&gt;&lt;P&gt;121&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;&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; Fee1&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; 6&lt;/P&gt;&lt;P&gt;121&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;&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; Fee3&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; 9&lt;/P&gt;&lt;P&gt;121&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;&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; Fee7&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; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Instead they can do:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Customer_number&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description&amp;nbsp;&amp;nbsp;&amp;nbsp; Amount&lt;/P&gt;&lt;P&gt;121&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;&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; Fee1&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; 6&lt;/P&gt;&lt;P&gt;&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;&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;&amp;nbsp; Fee3&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; 9&lt;/P&gt;&lt;P&gt;&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;&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;&amp;nbsp; Fee7&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; 1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Do you think it is an easier issue to solve with the customer_number filled in?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 20:23:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419695#M280497</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T20:23:47Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419696#M280498</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/142314"&gt;@BCNAV&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;The output should be one line per customer number (not multiple lines):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Customer_Number&amp;nbsp;&amp;nbsp; Invoice_Number&amp;nbsp; Customer_Name&amp;nbsp; Line1_Descr (9 in total for the charge description) Line1 (to 9) for the $ amounts relating to the respective descriptions and a total&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Is something like this what the above refers to? Note I used different libraries as I do not feel like creating a local library just to match your code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data work.temp;
   set work.hold;
   length TCustomer_Number $ 6 TCustomer_Name $ 8;
   retain TCustomer_Number  TInvoice_Number  TCustomer_Name;
   if not missing(Customer_Number) then do;
      TCustomer_Number =  Customer_Number;
      TInvoice_Number  =  Invoice_Number;
      TCustomer_Name   =  Customer_Name;
   end;
   else do;
      Customer_Number = TCustomer_Number  ;
      Invoice_Number  = TInvoice_Number   ;   
      Customer_Name   = TCustomer_Name    ;
   end;
   drop TCustomer_Number  TInvoice_Number  TCustomer_Name;
run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And since "description" looks much different in content than the "chrg" in your initial question, which value corresponds to "fee1" "fee2" and such?&lt;/P&gt;
&lt;P&gt;If this were my project I would likely have a custom informat to read the text of description into a numeric 1 to 9 value so I could control order for later bits, and have a custom format to display the text of the description values.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 20:29:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419696#M280498</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-12-08T20:29:31Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419698#M280499</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13884"&gt;@ballardw&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks...your output is almost there.&amp;nbsp; It provides:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;Enroute/En route&amp;nbsp;31&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;Terminal/Terminaux&amp;nbsp;22&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;NAT/Atlantique Nord&amp;nbsp;16&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;Overflight/Survol&amp;nbsp;21&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;I.Comm./Comm.int.&amp;nbsp;34&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;GST / TPS (#897815452)&amp;nbsp;12&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;HST / TVH (#897815452)&amp;nbsp;0&lt;BR /&gt;N00006&amp;nbsp;300002&amp;nbsp;Airline1&amp;nbsp;QST / TVQ (#1018137751)&amp;nbsp;0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As you can see, there are multiple rows with the same client ID. I need to get it so there are multiple description&amp;nbsp;columns and multiple amount&amp;nbsp;columns so that each customer_number only occupies one row.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 20:37:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419698#M280499</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T20:37:25Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419700#M280500</link>
      <description>&lt;P&gt;I provided one that works better with a numeric value in the "description" place.&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;&amp;nbsp;provided another that I think requires the data as just modified to work.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 20:39:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419700#M280500</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-12-08T20:39:23Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419704#M280501</link>
      <description>&lt;P&gt;The only thing missing now is the descriptions. I need to be able to get, in one line, the amounts and the descriptions of the amounts.&amp;nbsp; I think this is pretty close, but I am not sure if I can use art297's to do both amount AND description to get all in one row.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 21:12:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419704#M280501</guid>
      <dc:creator>BCNAV</dc:creator>
      <dc:date>2017-12-08T21:12:38Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419719#M280502</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/142314"&gt;@BCNAV&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;The only thing missing now is the descriptions. I need to be able to get, in one line, the amounts and the descriptions of the amounts.&amp;nbsp; I think this is pretty close, but I am not sure if I can use art297's to do both amount AND description to get all in one row.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Try it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's one way to put the pieces together that I provided. Note the use of the informat/format pair to control order. You have not mentioned that anything related to the original&amp;nbsp;order of appearance was to be maintained.&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 22:05:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419719#M280502</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-12-08T22:05:21Z</dc:date>
    </item>
    <item>
      <title>Re: Transposing/Moving Data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419721#M280503</link>
      <description>&lt;P&gt;Same code as I suggested before .. just the variables have changed:&lt;/P&gt;
&lt;PRE&gt;%transpose(data=temp, out=want, by=Customer_Number Invoice_Number Customer_Name,
  var=Description Total_Amt, sort=YES)&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 08 Dec 2017 22:13:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Transposing-Moving-Data/m-p/419721#M280503</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-08T22:13:46Z</dc:date>
    </item>
  </channel>
</rss>

