Pivot Table Using 1.6Gigs of RAM When Connected To Access

Posted on 2011-02-14
Last Modified: 2012-08-14
I'm having performance issues with Excel Pivot Tables connected to a large Access table.

I manage two Access databases of ledger details that are used by 15 people both in the US and India. The first database processes the data (Extract, Transform, Load), and then outputs a final table to a second standalone  database for users to connect to with Excel Pivot Tables over the network. The final table currently has 508,000 records with 42 columns, and with about 50,000 records added each month, I have 2 more months to go in this fiscal year (3/31 year end).

When the Pivot Table connects to the data, it scans the entire table and loads it into the Pivot Cache. Looking at the memory usage for the Excel Instance in Task Manager, it is exceeding a whopping 1.6 gigabytes.

To reduce the size of the Pivot Cache, i'm considering:
1. Creating queries based on the Output Table so users can connect to smaller data sets, or
2. Allow users to choose dimension elements in either a Form, List Box, or Combo Box that would then use VBA to limit the data returned to the Pivot Cache.

How should I handle it?

Question by:Davisron867
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 74

Accepted Solution

Jeffrey Coachman earned 400 total points
ID: 34901085
Both of your suggestions appear to do the same thing:
Filter (limit) the records before being feed to the Pivot table.
(Although I am not quite sure what you mean by "dimension elements" in this context...)

The simpler test to try first would be the query/filter.

Can I ask why you can't do the Pivot in Access?
This may save resources involved with "Bridging" the data from Access to Excel...
Since Access 2003 Pivots in Excel and Access are just about the same. (in terms of final output)

Finally, you can also look into "Crosstab Queries" in Access.
They are what was used before Pivot Tables, and present similar outputs.

LVL 45

Assisted Solution

patrickab earned 100 total points
ID: 34901103

That is a very broad question. Perhaps you need to go back a step and ask for what purpose someone needs a Pivot Table. Having determined that then it would make sense to limit the data that is scanned to that which fits the criteria specified by the Pivot Table requester. At 1.6Gb it is massive and pretty well unusable at that size. Apart from which how does anyone make sense of so much data? Thus the need to whittle it down to only what is really needed.



Author Comment

ID: 34901590
boaq, patrick:

Thanks for your replies.

I currently use Excel pivot tables for the flexible and fast drill-down feature, essentially producing a cube that behaves like Essbase. The Pivot Tables drive all of the user's reports, which they update by refreshing each month.

So, for example, an accrual team scans ledger balances firm-wide to determine if accruals are missing or wrong. They may need to investigate the details of 20 balances in 20 minutes. This tool makes it happen.

Some people write commentary on material month-to-month variances, wherever they appear. Often, the delta can only be understood by reviewing the transaction details. Others look at only individual businesses or account areas.

If I was just managing the process for myself, I'd just filter the data as needed when creating the pivot table. An ideal fix would be to detect the parameters selected in the Pivot Table and shape the pivot cache to contain only that data. So for example, if the Pivot Table had [Region] = "US" as the page field, an event would capture that choice and cache only those records.

Another idea i had was to see if a pivot table can use an unbound recordset that uses ADO to feed the cache every time the parameters of the Pivot Table are chosen. I want to make it simple if I can for the non-techies, but, not being a professional programmer, I lack the experience to know if this or that will work well.
Creating Instructional Tutorials  

For Any Use & On Any Platform

Contextual Guidance at the moment of need helps your employees/users adopt software o& achieve even the most complex tasks instantly. Boost knowledge retention, software adoption & employee engagement with easy solution.

LVL 74

Assisted Solution

by:Jeffrey Coachman
Jeffrey Coachman earned 400 total points
ID: 34917770
Again, why not use Access Pivot tables?

Author Comment

ID: 34923129
Access pivot tables only allow up to 3 row fields which is wholly inadequate for my purposes.

Everyone uses Excel exclusively to review, manage, report, and share information. I'll use Access for its efficient query engine and data storage, but all in the service of extending Excel's abilities. We've no functional reason to use it as a front-end.  

I parsed the data into queries that return smaller, more manageable record sets and instructed people to use the queries instead. Its an easy fix. I am also going to pursue a strategy of using a control sheet in our Excel workbooks to allow users to choose parameters to filter the data on the workbook level, and I'll use code to insert the parameters into the connection string.

Author Comment

ID: 34928202
Actually I mis-spoke.

For simplicity's sake, I should always consider the existing tools in an application before developing a custom solution. I need to look at the functioning of Access pivot tables more closely.

Thanks for the tip Boaq2000.
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 34957643

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Freeze panes is an option within all variants of Excel to enable parts of a sheet to remain stationary when the cursor is in another part of the sheet. This is a very useful feature which is overlooked or under used.
You need to know the location of the Office templates folder, so that when you create new templates, they are saved to that location, and thus are available for selection when creating new documents.  The steps to find the Templates folder path are …
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question