07-20-2015 11:22 AM
I have a few SAS datasets created in SAS EG that I want to feed into excel pivot table. Each SAS dataset contains about 2.8 MM rows (the model being built requires high granularity and hence the large number of rows). I started with the following code:
Challenge with this code is that it copies data into a spreadsheet and Excel 2010 limits the number of rows to 1.05 MM therefore data exported is not complete.
Another option is to use export function in EG to save data as mdb file that can then be imported into Excel pivot without having to show the raw data in Excel. This method works fine but it is manual and I am hoping to eliminate manual intervention as much as possible.
3rd option I thought about is to modify the data source identifier (dbms =) in the above code so that it outputs mdb file instead of xlsx. However the "access" option for mdb file is only available under 32 bit operation system and I am on Win 7 64 bit.
Based on the circumstances, what is my best option?
07-20-2015 11:40 AM
You're actually Pivoting that many records in Excel?
I would think another option would be to create any summary tables in SAS and export those.
07-20-2015 11:55 AM
The tool being built has many dimensions and multiple key performance metrics to report on. The large number of records is primarily a result of the permutation/combination of segment variable that is desired from user standpoint.
The suggested method makes sense but I need to anticipate the views preferred by user and it will have to change from time to time whenever there is new view requested and not included.
I am sure there are other ways to slim down the data set as well which I will put more effort into. Right now, I am testing the "balance" between granularity and maintenance effort, and seeking alternative so that the end solution can be robust.
07-20-2015 12:16 PM
You should look into the SAS Microsoft Add-In.
Are you using PowerPivot? You might be able to connect directly to a DB via powerpivot that will update automatically as well.