Pivot ungrouping on refresh?

  • Thread starter Thread starter Me!
  • Start date Start date
M

Me!

Hi,

I have a pivot table where the ROW field is a date that is grouped by month
& year.

However, when I change the data source to include additional rows that I
have added to the underlying data & refresh the pivot, the grouping is
ungrouped, so my aggregagation by month becomes aggregation by date.

this is a huge problem as it adds hundreds of rows to my pivot table which
then runs over another pivot table.

Does anyone know how I can retain the row grouping on updating the data
source & refreshing.

Thanks,

Jason
 
Hi Jason

You should be using a dynamic range as your data source, and not
changing it each time you add more rows to the source data. If you
change the source, the PT will always cancel any existing grouping.

If you are using XL2003
Place your cursor within your source data>Data>List>Create>tick my List
has headers. Then make your source equal to this range, which Excel
recognises as a list and it will grow as you add more data.

If you are using XL2007
Place your cursor within your source data>Insert tab>Table>click my
table has Headers.
It will create a Table name for you - Table1 by default - but you can
name it to whatever you want.
From the Design Tab>Change data source>give it the name of your Table.

For any version of XL
Insert>Name>Define
Name myData
Refers to =$A$1:INDEX($A:$A,COUNTA($A:$A),INDEX($1:$1,COUNTA$1:$1))

Make the data source for your PT =myData

For more information on creating Dynamic ranges take a look at a
tutorial I wrote at
http://www.contextures.com/xlNames03.html
 
Thanks Roger. I wasn't sure that a manual change of the data source
automatically cancelled any existing groupings.

I'm fine with how to have my range dynamic - I just hadn't got round to
changing this one report becauase it's only updated once every 6 weeks.

I tend to use OFFSET and COUNTA. What benefit in using INDEX & COUNTA
instead?

Thanks again,

Jason
---
 
Hi Jason

Offset is a volatile function, and has to be recalculated every time
there is a changed value, whereas Index isn't.

I avoid Volatile functions "like the plague" - wherever I can.
Index is a very fast and efficient function.
 
Back
Top