Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


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
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 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.
Nothing ever in the clear!

This technical paper will help you implement VMware’s VM encryption as well as implement Veeam encryption which together will achieve the nothing ever in the clear goal. If a bad guy steals VMs, backups or traffic they get nothing.

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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

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.
After seeing numerous questions for Dynamic Data Validation I notice that most have used Visual Basic to solve the problem. This suggestion is purely formula based and can be used in multiple rows.
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

636 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