[Last Call] Learn how to a build a cloud-first strategyRegister Now


Pivot Table Using 1.6Gigs of RAM When Connected To Access

Posted on 2011-02-14
Medium Priority
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
  • 3
  • 3
LVL 74

Accepted Solution

Jeffrey Coachman earned 1600 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 400 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.
Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

LVL 74

Assisted Solution

by:Jeffrey Coachman
Jeffrey Coachman earned 1600 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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

This article describes a serious pitfall that can happen when deleting shapes using VBA.
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

829 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