Bug 123638

Summary: Pivot Refresh to be included in the Recalculate Hard(CTRL+SHIFT+F9)
Product: LibreOffice Reporter: perie_gut
Component: CalcAssignee: Not Assigned <libreoffice-bugs>
Status: NEW ---    
Severity: enhancement CC: himajin100000, oliver.brinzing, raal
Priority: medium    
Version: 6.2.0.3 release   
Hardware: All   
OS: All   
See Also: https://bugs.documentfoundation.org/show_bug.cgi?id=128131
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 103381    
Attachments: sample
file with two pivot tables

Description perie_gut 2019-02-22 04:55:47 UTC
Created attachment 149502 [details]
sample

I have a Base connected in my Calc via Multiple Pivot Tables and it is too taxing updating each pivot tables. Is it possible to include the "Refresh" of all pivot tables on the Recalculated Hard process.



Version: 6.2.0.3 (x64)
Build ID: 98c6a8a1c6c7b144ce3cc729e34964b47ce25d62
CPU threads: 4; OS: Windows 10.0; UI render: default; VCL: win; 
Locale: en-PH (en_PH); UI-Language: en-US
Calc: threaded
Comment 1 raal 2019-02-22 18:17:51 UTC
Is it really regression? It worked in previous version?

I think it's valid enhancement. Now it's not possible refresh all pivot tables in one run. Similar bug 61793 PIVOTTABLE: Enhancement request: auto refresh pivot table after changes in source - but it won't work for connection to external database, so we need still some trigger for refresh all pivots.
Comment 2 raal 2019-02-22 18:18:23 UTC
Created attachment 149535 [details]
file with two pivot tables
Comment 3 Oliver Brinzing 2019-02-23 10:00:28 UTC
(In reply to raal from comment #1)
>but it won't work for connection to external database

are you sure this works with internal data?
if i open your "file with two pivot tables", change data on "Sheet1"
and do a hard recalc, the pivot table will not update.

seems every pivot table needs a refresh via menu 
"Data/Pivot Table/Refresh" or sometihng like:

oDoc = ThisComponent
oDoc.calculateAll()
For i = 0 To oDoc.getSheets().getCount()-1
  oDataPilotTables = oDoc.getSheets().getByIndex(i).getDataPilotTables()
  For j = 0 To oDataPilotTables.getCount()-1
   oDataPilotTables.getByIndex(j).refresh()
  Next j
Next i
Comment 4 raal 2019-02-23 13:23:17 UTC
(In reply to Oliver Brinzing from comment #3)
> (In reply to raal from comment #1)
> >but it won't work for connection to external database
> 
> are you sure this works with internal data?
No, it don't work. For internal data we have bug 61793.