<?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: Main query bombs because tranpose output varies in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225252#M16519</link>
    <description>&lt;P&gt;If you want full control over the final data set structure used for the report then something like below should work:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;infile datalines truncover dlm='$';&lt;BR /&gt;input ID Gift;&lt;BR /&gt;format Gift dollar10.;&lt;BR /&gt;datalines;&lt;BR /&gt;1$50&lt;BR /&gt;1$40&lt;BR /&gt;1$30&lt;BR /&gt;1$20&lt;BR /&gt;2$50&lt;BR /&gt;2$40&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc transpose data=have out=transp(drop=_: ) prefix=Gift;&lt;BR /&gt;var gift;&lt;BR /&gt;by id;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;attrib&lt;BR /&gt;id length=8&lt;BR /&gt;Gift1-Gift6 length=8 format=dollar10.;&lt;BR /&gt;stop;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc append base=want data=transp nowarn force;&lt;BR /&gt;run;&lt;/P&gt;</description>
    <pubDate>Sat, 12 Sep 2015 04:46:33 GMT</pubDate>
    <dc:creator>Patrick</dc:creator>
    <dc:date>2015-09-12T04:46:33Z</dc:date>
    <item>
      <title>Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225216#M16514</link>
      <description>&lt;P&gt;We have been happily using the transpose in SAS Eg to collapse lines of data - or flatten data in adhoc reports.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="320"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;ID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;Gift&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$50&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$40&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$30&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$20&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$50&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$40&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;ID&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;Gift 1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;Gift 2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;Gift 3&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;Gift 4&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;1&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$50&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$40&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$30&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$20&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;
&lt;P&gt;2&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$50&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;$40&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="64"&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;This works great for adhoc reports.&amp;nbsp; But then, someone asks us to add it to the &lt;STRONG&gt;portal&lt;/STRONG&gt;.(Listing of pre-written reports).&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;DIV&gt;The problem is that the number of columns, in this case Gift 1, Gift 2 can change (either go up or down) depending on several things.&amp;nbsp; Let's say they are prompted with fiscal year.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;DIV&gt;If the original load had Gift 1 - Gift 4, but then say we prompt for the gift year and the data from that year has less data.&amp;nbsp; For example, the&amp;nbsp; transpose only produces Gift 1- Gift 3&amp;nbsp; , then our "Main" report will bomb because Gift 4 will not be defined.&lt;BR /&gt;&lt;BR /&gt;&lt;/DIV&gt;
&lt;DIV&gt;Do you know of a way to get around this?&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Fri, 11 Sep 2015 19:30:42 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225216#M16514</guid>
      <dc:creator>JSJ</dc:creator>
      <dc:date>2015-09-11T19:30:42Z</dc:date>
    </item>
    <item>
      <title>Re: Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225218#M16515</link>
      <description>A relatively straightforward solution is to ensure that the final dataset you are transposing has all possible levels of the variable, by merging them in prior to the transpose.</description>
      <pubDate>Fri, 11 Sep 2015 19:44:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225218#M16515</guid>
      <dc:creator>Fugue</dc:creator>
      <dc:date>2015-09-11T19:44:32Z</dc:date>
    </item>
    <item>
      <title>Re: Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225220#M16516</link>
      <description>&lt;P&gt;How can you force in null values into variables that don't exist in SAS EG?&lt;/P&gt;
&lt;P&gt;Not sure!&lt;/P&gt;
&lt;P&gt;Any help is appreciated. Thanks&lt;/P&gt;
&lt;P&gt;Jo&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2015 19:47:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225220#M16516</guid>
      <dc:creator>JSJ</dc:creator>
      <dc:date>2015-09-11T19:47:32Z</dc:date>
    </item>
    <item>
      <title>Re: Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225240#M16517</link>
      <description>&lt;P&gt;Here's a sample that I've adapted from SAS support examples online. It uses PROC TABULATE with the PRELOADFMT and PRINTMISS options and OUT= to create a table with all possible combinations of class variables. I'm sure you'll get the idea from this code sample.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;(In your specific case, the FORMAT you should create would be for fiscal year. Obviously, fiscal year isn't in this example. It's just to illustrate how you can solve the problem of having missing classification levels. There are other approaches that could also be used . . . .)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; energy;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; length State $&lt;STRONG&gt;2&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; input Region Division state $ Type Expenditures;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;1 1 ME 1 708&lt;/P&gt;&lt;P&gt;1 1 ME 2 379&lt;/P&gt;&lt;P&gt;1 1 NH 1 597&lt;/P&gt;&lt;P&gt;1 1 NH 2 301&lt;/P&gt;&lt;P&gt;1 1 VT 1 353&lt;/P&gt;&lt;P&gt;1 1 VT 2 188&lt;/P&gt;&lt;P&gt;1 1 MA 1 3264&lt;/P&gt;&lt;P&gt;1 1 MA 2 2498&lt;/P&gt;&lt;P&gt;1 1 RI 1 531&lt;/P&gt;&lt;P&gt;1 1 RI 2 358&lt;/P&gt;&lt;P&gt;1 1 CT 1 2024&lt;/P&gt;&lt;P&gt;1 1 CT 2 1405&lt;/P&gt;&lt;P&gt;1 2 NY 1 8786&lt;/P&gt;&lt;P&gt;1 2 NY 2 7825&lt;/P&gt;&lt;P&gt;1 2 NJ 1 4115&lt;/P&gt;&lt;P&gt;1 2 NJ 2 3558&lt;/P&gt;&lt;P&gt;1 2 PA 1 6478&lt;/P&gt;&lt;P&gt;1 2 PA 2 3695&lt;/P&gt;&lt;P&gt;4 3 MT 1 322&lt;/P&gt;&lt;P&gt;4 3 MT 2 232&lt;/P&gt;&lt;P&gt;4 3 ID 1 392&lt;/P&gt;&lt;P&gt;4 3 ID 2 298&lt;/P&gt;&lt;P&gt;4 3 WY 1 194&lt;/P&gt;&lt;P&gt;4 3 WY 2 184&lt;/P&gt;&lt;P&gt;4 3 CO 1 1215&lt;/P&gt;&lt;P&gt;4 3 CO 2 1173&lt;/P&gt;&lt;P&gt;4 3 NM 1 545&lt;/P&gt;&lt;P&gt;4 3 NM 2 578&lt;/P&gt;&lt;P&gt;4 3 AZ 1 1694&lt;/P&gt;&lt;P&gt;4 3 AZ 2 1448&lt;/P&gt;&lt;P&gt;4 3 UT 1 621&lt;/P&gt;&lt;P&gt;4 3 UT 2 438&lt;/P&gt;&lt;P&gt;4 3 NV 1 493&lt;/P&gt;&lt;P&gt;4 3 NV 2 378&lt;/P&gt;&lt;P&gt;4 4 WA 1 1680&lt;/P&gt;&lt;P&gt;4 4 WA 2 1122&lt;/P&gt;&lt;P&gt;4 4 OR 1 1014&lt;/P&gt;&lt;P&gt;4 4 OR 2 756&lt;/P&gt;&lt;P&gt;4 4 CA 1 10643&lt;/P&gt;&lt;P&gt;4 4 CA 2 10114&lt;/P&gt;&lt;P&gt;4 4 AK 1 349&lt;/P&gt;&lt;P&gt;4 4 AK 2 329&lt;/P&gt;&lt;P&gt;4 4 HI 1 273&lt;/P&gt;&lt;P&gt;4 4 HI 2 298&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;;;;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;format&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; value regfmt &lt;STRONG&gt;1&lt;/STRONG&gt;='Northeast'&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;&lt;STRONG&gt;2&lt;/STRONG&gt;='South'&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; &lt;STRONG&gt;3&lt;/STRONG&gt;='Midwest'&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; &lt;STRONG&gt;4&lt;/STRONG&gt;='West';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; value divfmt &lt;STRONG&gt;1&lt;/STRONG&gt;='New England'&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; &lt;STRONG&gt;2&lt;/STRONG&gt;='Middle Atlantic'&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; &lt;STRONG&gt;3&lt;/STRONG&gt;='Mountain'&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; &lt;STRONG&gt;4&lt;/STRONG&gt;='Pacific';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; value usetype &lt;STRONG&gt;1&lt;/STRONG&gt;='Residential Customers'&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; &lt;STRONG&gt;2&lt;/STRONG&gt;='Business Customers';&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;tabulate&lt;/STRONG&gt; data=energy format=dollar12. out=outtab;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; class region division type / preloadfmt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; var expenditures;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; table region*division,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type*expenditures / rts=&lt;STRONG&gt;25&lt;/STRONG&gt; printmiss;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; format region regfmt. division divfmt. type usetype.;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; title 'Energy Expenditures for Each Region';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; title2 '(millions of dollars)';&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;. . . . then proc transpose outtab . . . .&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Sep 2015 23:16:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225240#M16517</guid>
      <dc:creator>Fugue</dc:creator>
      <dc:date>2015-09-11T23:16:02Z</dc:date>
    </item>
    <item>
      <title>Re: Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225252#M16519</link>
      <description>&lt;P&gt;If you want full control over the final data set structure used for the report then something like below should work:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;infile datalines truncover dlm='$';&lt;BR /&gt;input ID Gift;&lt;BR /&gt;format Gift dollar10.;&lt;BR /&gt;datalines;&lt;BR /&gt;1$50&lt;BR /&gt;1$40&lt;BR /&gt;1$30&lt;BR /&gt;1$20&lt;BR /&gt;2$50&lt;BR /&gt;2$40&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc transpose data=have out=transp(drop=_: ) prefix=Gift;&lt;BR /&gt;var gift;&lt;BR /&gt;by id;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;attrib&lt;BR /&gt;id length=8&lt;BR /&gt;Gift1-Gift6 length=8 format=dollar10.;&lt;BR /&gt;stop;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc append base=want data=transp nowarn force;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Sat, 12 Sep 2015 04:46:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225252#M16519</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2015-09-12T04:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: Main query bombs because tranpose output varies</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225261#M16521</link>
      <description>&lt;P&gt;One way is to write you own transpose step instead of using the EG template. &amp;nbsp;Then you can define the number of "GIFT" columns that are defined. &amp;nbsp;So for example this code will create GIFT1 to GIFT4 and than any other gifts will be summarized in GIFT_REST.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
  set have ;
  by ID ;
  array G gift1-gift4 gift_rest ;
  if first.id then do ;
    call missing(of G(*));
    col=0;
  end;
  col+1;
  if last.id then col=5 ;
  g(col) = sum(g(col),GIFT);
  if last.id then output;
  retain gift1-gift4 gift_rest ;
  keep id gift1-gift4 gift_rest ;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 12 Sep 2015 11:30:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Main-query-bombs-because-tranpose-output-varies/m-p/225261#M16521</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-09-12T11:30:36Z</dc:date>
    </item>
  </channel>
</rss>

