<?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: How to Split a Table to Create Multiple Excel Reports in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578254#M163963</link>
    <description>&lt;P&gt;We do format all our reports but it is not that important...&lt;/P&gt;</description>
    <pubDate>Thu, 01 Aug 2019 02:33:29 GMT</pubDate>
    <dc:creator>SASMom2</dc:creator>
    <dc:date>2019-08-01T02:33:29Z</dc:date>
    <item>
      <title>How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578245#M163956</link>
      <description>&lt;P&gt;I have one dataset in SAS that will be used to create a final table to export out into Excel using ODS. This table has more than 20 customers. I need to create separate excel reports for each of these customers through ODS.&amp;nbsp; Below is sample data from the table that has data for all 20 plus customers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to create three reports. One for ABC, one for DEF and one for GHI. I know I can use Data step to split out the tables but I need to do this dynamically since new customers are added all the time..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Customer&lt;/TD&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Transaction ID&lt;/TD&gt;&lt;TD&gt;Transaction_Date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;123456&lt;/TD&gt;&lt;TD&gt;1/1/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;123&lt;/TD&gt;&lt;TD&gt;2/3/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;3456&lt;/TD&gt;&lt;TD&gt;4/3/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;ABC&lt;/TD&gt;&lt;TD&gt;104&lt;/TD&gt;&lt;TD&gt;23456&lt;/TD&gt;&lt;TD&gt;5/6/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEF&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;345678&lt;/TD&gt;&lt;TD&gt;3/2/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEF&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;4567&lt;/TD&gt;&lt;TD&gt;5/2/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEF&lt;/TD&gt;&lt;TD&gt;102&lt;/TD&gt;&lt;TD&gt;5432&lt;/TD&gt;&lt;TD&gt;7/20/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEF&lt;/TD&gt;&lt;TD&gt;103&lt;/TD&gt;&lt;TD&gt;445454&lt;/TD&gt;&lt;TD&gt;1/6/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GHI&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;789898&lt;/TD&gt;&lt;TD&gt;8/1/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GHI&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;6576577&lt;/TD&gt;&lt;TD&gt;5/20/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GHI&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;4533&lt;/TD&gt;&lt;TD&gt;4/20/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GHI&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;4354&lt;/TD&gt;&lt;TD&gt;6/6/2019&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GHI&lt;/TD&gt;&lt;TD&gt;101&lt;/TD&gt;&lt;TD&gt;5676&lt;/TD&gt;&lt;TD&gt;5/8/2019&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 01 Aug 2019 01:15:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578245#M163956</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T01:15:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578246#M163957</link>
      <description>&lt;P&gt;Just use a BY statement.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 01:19:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578246#M163957</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2019-08-01T01:19:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578247#M163958</link>
      <description>&lt;P&gt;Do you need a new workbook for each group, or a new worksheet? If it's a new worksheet this is really easy. If it's a new workbook it's harder.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's a tutorial on how this can be done though, which requires that you start with a working program that does it for one group.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md" target="_blank"&gt;https://github.com/statgeek/SAS-Tutorials/blob/master/Turning%20a%20program%20into%20a%20macro.md&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/283628"&gt;@SASMom2&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I have one dataset in SAS that will be used to create a final table to export out into Excel using ODS. This table has more than 20 customers. I need to create separate excel reports for each of these customers through ODS.&amp;nbsp; Below is sample data from the table that has data for all 20 plus customers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I would like to create three reports. One for ABC, one for DEF and one for GHI. I know I can use Data step to split out the tables but I need to do this dynamically since new customers are added all the time..&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;Customer&lt;/TD&gt;
&lt;TD&gt;ID&lt;/TD&gt;
&lt;TD&gt;Transaction ID&lt;/TD&gt;
&lt;TD&gt;Transaction_Date&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;1/1/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;123&lt;/TD&gt;
&lt;TD&gt;2/3/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;103&lt;/TD&gt;
&lt;TD&gt;3456&lt;/TD&gt;
&lt;TD&gt;4/3/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;ABC&lt;/TD&gt;
&lt;TD&gt;104&lt;/TD&gt;
&lt;TD&gt;23456&lt;/TD&gt;
&lt;TD&gt;5/6/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;345678&lt;/TD&gt;
&lt;TD&gt;3/2/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;4567&lt;/TD&gt;
&lt;TD&gt;5/2/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;102&lt;/TD&gt;
&lt;TD&gt;5432&lt;/TD&gt;
&lt;TD&gt;7/20/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;DEF&lt;/TD&gt;
&lt;TD&gt;103&lt;/TD&gt;
&lt;TD&gt;445454&lt;/TD&gt;
&lt;TD&gt;1/6/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;GHI&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;789898&lt;/TD&gt;
&lt;TD&gt;8/1/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;GHI&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;6576577&lt;/TD&gt;
&lt;TD&gt;5/20/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;GHI&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;4533&lt;/TD&gt;
&lt;TD&gt;4/20/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;GHI&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;4354&lt;/TD&gt;
&lt;TD&gt;6/6/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;GHI&lt;/TD&gt;
&lt;TD&gt;101&lt;/TD&gt;
&lt;TD&gt;5676&lt;/TD&gt;
&lt;TD&gt;5/8/2019&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 01:23:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578247#M163958</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-01T01:23:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578248#M163959</link>
      <description>&lt;P&gt;I need to create a separate excel report for each customer. So, for the sample data, I will have three different excel files.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 01:51:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578248#M163959</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T01:51:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578249#M163960</link>
      <description>&lt;P&gt;can you please give me an example of the 'by' statement?&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 01:56:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578249#M163960</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T01:56:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578253#M163962</link>
      <description>&lt;P&gt;Unfortunately if you want a new file you need a macro or dynamic approach, BY group processing will not work, AFAIK. You can do that for other destinations, such as PDF but then you still don't have control over the file name, so you'll likely end up either writing a macro or using DOSUBL/CALL EXECUTE(). If you need to write and maintain this code, I will recommend the same solution I previously posted. At the same time, I'm very happy to be proven wrong, if there's an easier way to do this, it's always great to know &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does your excel file need any formatting as well, or just a raw data dump?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/283628"&gt;@SASMom2&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;I need to create a separate excel report for each customer. So, for the sample data, I will have three different excel files.&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 02:15:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578253#M163962</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2019-08-01T02:15:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578254#M163963</link>
      <description>&lt;P&gt;We do format all our reports but it is not that important...&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 02:33:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578254#M163963</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T02:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578262#M163966</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/283628"&gt;@SASMom2&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;You need to split the file dynamically and write it out to separate excel files dynamically, too. One approach of doing this may look like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have ;                                                                           
  input Customer $ ID Transaction_ID Transaction_Date :mmddyy10. ;                    
  format transaction_date mmddyy10. ;                                                 
  cards ;                                                                             
ABC  101   123456    1/1/2019                                                         
ABC  101      123    2/3/2019                                                         
ABC  103     3456    4/3/2019                                                         
ABC  104    23456    5/6/2019                                                         
DEF  101   345678    3/2/2019                                                         
DEF  101     4567    5/2/2019                                                         
DEF  102     5432    7/20/2019                                                        
DEF  103   445454    1/6/2019                                                         
GHI  101   789898    8/1/2019                                                         
GHI  101  6576577    5/20/2019                                                        
GHI  101     4533    4/20/2019                                                        
GHI  101     4354    6/6/2019                                                         
GHI  101     5676    5/8/2019                                                         
run ;                                                                                 
                                                                                      
%let r = c:\temp ;                                                                    
data _null_ ;                                                                         
  if _n_ = 1 then do ;                                                                
    dcl hash h () ;                                                                   
    h.definekey ("_n_") ;                                                               
    h.definedata ("Customer", "ID", "Transaction_ID", "Transaction_Date") ;           
    h.definedone () ;                                                                 
  end ;                                                                               
  h.clear() ;                                                                        
  do _n_ = 1 by 1 until (last.customer) ;                                               
    set have ;                                                                        
    by customer ;                                                                     
    h.add() ;                                                                         
  end ;                                                                               
  h.output (dataset: catx ("_", "x", customer)) ;                                     
  call execute (cats ("ods excel file='&amp;amp;r\", customer, ".xlsx';")) ;                  
  call execute (cats ("proc print noobs data=", catx ("_", "x", customer), ";run;")) ;
  call execute ("ods excel close;") ;                                                 
run ;                                                                                 
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;There're 3 assumptions:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Your customer values don't contain characters disallowed in SAS data set names&lt;/LI&gt;
&lt;LI&gt;They contain no characters disallowed in the file path names of the operating system you're using&lt;/LI&gt;
&lt;LI&gt;The path used for R (i.e. the root) exists in your system and you're allowed to write there; change as needed&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;On my Windows laptop (where the path c:\temp exists) the code above works perfectly fine. You may want to turn your HTML and listing ODS destinations off before running this and turn them back on when it's finished.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 03:51:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578262#M163966</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-01T03:51:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578270#M163974</link>
      <description>&lt;P&gt;Impressive &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/21262"&gt;@hashman&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Because i am bone-idle, i would use h.defineData(all: 'yes'), to avoid listing all vars.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 05:13:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578270#M163974</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2019-08-01T05:13:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578277#M163977</link>
      <description>&lt;P&gt;&lt;FONT size="3"&gt;Thanks Paul. It worked perfectly!&amp;nbsp;I had to use ' &lt;STRONG&gt;&lt;FONT color="#0000ff" face="Courier New"&gt;goptions&lt;/FONT&gt; &lt;FONT color="#0000ff" face="Courier New"&gt;device&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;=png;' statement as I was getting some errors.&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;Not to be too&amp;nbsp;greedy but do you think I can use couple of other tables to create two more tabs in each of these files?&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;I can't believe that it worked without changing much. I am not very advanced SAS programmer so I will have to understand how it works but for now, I am super excited!&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT size="3"&gt;&lt;STRONG&gt;&lt;FONT face="Courier New"&gt;Thanks&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 06:09:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578277#M163977</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T06:09:54Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578278#M163978</link>
      <description>&lt;P&gt;Good idea. I will try that.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 06:11:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578278#M163978</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T06:11:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578279#M163979</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/15475"&gt;@andreas_lds&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;Thanks. Using ALL:"Y" is possible, but then your bone-idleness may be still disturbed by the need to alter the code quite a bit to accommodate it . This is because it will work only if:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;you specify the DATASET argument tag to the constructor (with OBS=0 to avoid unneeded hash table loading)&lt;/LI&gt;
&lt;LI&gt;also MULTIDATA:"Y" because now you can't use _N_ as a key (it's not on the input file)&lt;/LI&gt;
&lt;LI&gt;specify CUSTOMER (or any other field from HAVE) as the hash key instead&amp;nbsp;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In other words, you'd have to code something like:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;...
data _null_ ;                                          
  if _n_ = 1 then do ;                                 
    dcl hash h (&lt;FONT color="#800000"&gt;dataset:"have(obs=0)", multidata:"y"&lt;/FONT&gt;) ;
    h.definekey ("&lt;FONT color="#800000"&gt;customer&lt;/FONT&gt;") ;                         
    h.definedata (&lt;FONT color="#800000"&gt;all:"y"&lt;/FONT&gt;) ;                           
    h.definedone () ;                                  
  end ;                                                
  h.clear () ;                                         
  do &lt;FONT color="#800000"&gt;/*_n_ = 1 by 1*/&lt;/FONT&gt; until (last.customer) ;          
    set have ;                                         
    by customer ;                                      
    h.add() ;                                          
  end ;    
...                                            
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;I agree that listing all the input data set variables as hash data variables is off-putting since it's hard coding. However, besides using ALL:"Y" argument tag and the associated subterfuges notes above, that can be also dealt with by using the compiler symbol table to call DEFINEDATA to add one variable at a time:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;...
  if _n_ = 1 then do ;                                                            
    dcl hash h () ;                                                               
    h.definekey ("_n_") ;                                                         
    if 0 then set have ;                                                          
    length _v $ 32 ;                                                              
    do until (cmiss (_v)) ;                                                       
      call vnext (_v) ;                                                           
      if lowcase (_v) notin: ("_", "first.", "last.", "") then h.definedata (_v) ;
    end ;                                                                         
    h.definedone () ;                                                             
  end ;                                                                           
  h.clear () ;                                                                    
  do _n_ = 1 by 1 until (last.customer) ;                                         
    set have ;                                                                    
    by customer ;                                                                 
    h.add() ;                                                                     
  end ;                                                                           
...&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Kind regards&lt;/P&gt;
&lt;P&gt;Paul D.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 06:15:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578279#M163979</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-01T06:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578280#M163980</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/283628"&gt;@SASMom2&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;It's possible. But you'll have to encode the appropriate ODS EXCEL options - most likely, SHEET_INTERVAL='TABLE' - into CALL EXECUTE.&lt;/P&gt;
&lt;P&gt;The main thing is, first think of the SAS code you want to generate. Then think of how to write CALL EXECUTE (or any other code generation method) to generate it.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;/P&gt;
&lt;P&gt;Paul D.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 06:26:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578280#M163980</guid>
      <dc:creator>hashman</dc:creator>
      <dc:date>2019-08-01T06:26:08Z</dc:date>
    </item>
    <item>
      <title>Re: How to Split a Table to Create Multiple Excel Reports</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578398#M164034</link>
      <description>&lt;P&gt;I am not very familiar with the hash objects so I need more help adding two more tables. So, I have tables A, B and C with common fields Customer and ID. How should I add tables B and C in your original code?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Thu, 01 Aug 2019 13:41:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-Split-a-Table-to-Create-Multiple-Excel-Reports/m-p/578398#M164034</guid>
      <dc:creator>SASMom2</dc:creator>
      <dc:date>2019-08-01T13:41:39Z</dc:date>
    </item>
  </channel>
</rss>

