Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing
|Summary:||Double-click in Datapilot cell should provide calculation data of that cell|
|Status:||CLOSED FIXED||QA Contact:||issues@sc <issues>|
|Priority:||P3||CC:||eva-email, issues, kpalagin, niklas.nebel, pagalmes.lists, rb.henschel|
|Issue Type:||ENHANCEMENT||Latest Confirmation in:||---|
Description tboerkel 2005-10-31 12:46:13 UTC
When I double-click a Pivot table cell in Excel, I get a list of data, out of which this cell was calculated. This is an extremely useful feature and I would like to see that in OO Calc as well. Thanks!
Comment 1 frank 2005-11-25 10:02:56 UTC
requirements have to decide
Comment 2 niederbayern 2006-03-12 16:25:01 UTC
The feature requested by tboerkel is named "Drilldown" in Excel. When selecting the "More" button after launching CalcÂ´s Datapilot there is an option "Allow Drilldown". But selecting this option does not enable this feature.
Comment 3 kpalagin 2007-03-12 22:24:06 UTC
Dear developers, any progress with this RFE?
Comment 4 Regina Henschel 2007-08-19 17:29:43 UTC
Please try the newest OOo version. As far as I have tested, it works now. (WinXP, OOGm1)
Comment 5 tboerkel 2007-08-19 17:46:11 UTC
What version is "OOGm1"? It does not work in 2.2.1.
Comment 6 Regina Henschel 2007-08-19 19:00:02 UTC
The actual developer snapshot, see http://download.openoffice.org/680/index.html Besides the fact that Excel can show a + button and OOo only nows the double-click, I see no difference between OOo and Excel. But perhaps I don't understand you right, when you say "list of data"?
Comment 7 niederbayern 2007-08-19 19:45:05 UTC
Created attachment 47627 [details] Excel-Screenshot #1: Data source for pivot table
Comment 8 niederbayern 2007-08-19 19:45:55 UTC
Created attachment 47628 [details] Excel-Screenshot #2: New sheet contains result of pivot table.
Comment 9 niederbayern 2007-08-19 19:47:08 UTC
Created attachment 47629 [details] Excel-Screenshot #3: New sheet shows result of double-click drilldown.
Comment 10 niederbayern 2007-08-19 19:49:29 UTC
Regina, I am afraid you didnÂ´t get the point. Please have a look at the three screenshots from Excel. Step 1 (screenshot1.png): Data source for pivot table Step 2 (screenshot2.png): New sheet contains result of pivot table. Step 3 (screenshot2.png): Doubleclick on cell C6 ("Drilldown") Step 4 (screenshot3.png): New sheet shows result of drilldown. The result of the double-click shows a copy of those lines from the data source, that go into the result value in cell C6.
Comment 11 Regina Henschel 2007-08-19 21:45:41 UTC
OK, now I see. So Excels "drill down" is entirely different from what is called "drill down" in the (German) OOo. Of cause you can get such table by using a filter. But you are right, getting it with a simple double-click in the DataPilot table, would be nice.
Comment 12 kyoshida 2007-09-12 18:02:46 UTC
I'm taking this.
Comment 13 kyoshida 2007-09-12 18:03:36 UTC
accepting the issue, since I'm working on this halfway (?) already.
Comment 14 kyoshida 2007-09-12 18:04:37 UTC
*** Issue 81531 has been marked as a duplicate of this issue. ***
Comment 15 kyoshida 2007-09-14 04:41:34 UTC
An experimental patch in ooo-build is available here. http://svn.gnome.org/viewcvs/ooo-build/trunk/patches/test/dp-drilldown-data-field-sc.diff?view=markup
Comment 16 kyoshida 2007-09-14 13:58:03 UTC
adding nn to CC. This is his area of expertise, so he needs to be in the loop.
Comment 17 kyoshida 2007-09-25 20:05:03 UTC
Here is some progress with screenshots. http://kohei.us/2007/09/25/drilling-down-data-in-data-pilot/
Comment 18 kpalagin 2007-09-26 07:33:23 UTC
kohei, thank you very much for your effort! Please attach patch to this issue and change issue type to patch so that it shows up when Tracker is queried for patches and developers will easily see it.
Comment 19 niklas.nebel 2007-09-26 14:01:20 UTC
May I mention the dreaded word "specification"? If only to define the conditions that are considered to select the rows. Manually hidden items should probably be considered. Auto-hidden items (Top 10) are a different issue - handling them would require status information from the result implementation, but one might argue that they can be left included, because their values are used to select the visible items (a bit of a stretch, I know). An external implementation of the existing DataPilotSource UNO service doesn't supply the information to support this feature. We might add an optional interface to the service, but of course an external implementation doesn't necessarily have tabular data to start with (think of the DevGuide example).
Comment 20 kyoshida 2007-09-27 16:19:05 UTC
@kpalagin: Thanks for your encouragement. :-) There is no need to attach a patch since it's not really ready yet. I'll probably end up creating a CWS for this instead of submitting the code as a single patch, since the change will likely involve more than just the sc module. @nn thanks for your comments. I will start working on writing a specification when the time comes. Right now, I'm still investigating the criteria of how to pick rows, based on what the current code does as well as what Excel does. But I'll write up a summary in the spec at some point. I also agree with introducing a new UNO interface for this functionality. I'm already hacking around this by explicitly calling Reference.get() to expose the implementation class (which is ugly), so in the end a new UNO interface is really needed.
Comment 21 niklas.nebel 2007-10-22 14:15:30 UTC
What's the current state of this? If we want to include it into 2.4, it has to be finished soon (see http://wiki.services.openoffice.org/wiki/OOoRelease24).
Comment 22 kyoshida 2007-10-22 14:22:46 UTC
@nn: functionality-wise, it works with the in-sheet data source as well as the external database source. And I'm working on the UNO API at the moment. I'm also working to refactor the existing code as a result of my code change, to simplify it a bit & remove redundant data access. November 15 deadline seems like a tight schedule but I might be able to make it if everything goes smoothly. PS I'm just back from a 4-day vacation so there was no progress last week.
Comment 23 frank 2007-10-22 14:27:57 UTC
Hi Kohei, please keep in mind that you have just 1 week less time because the cws has to pass the QA before the Feature freeze occurs. So November 15 is the latest day a feature cws can be approved by QA for integration into 2.4. Frank
Comment 24 kyoshida 2007-10-22 14:36:42 UTC
Ah, that makes it even tighter! Well, I'll do my best.
Comment 25 kyoshida 2007-10-22 18:31:08 UTC
Niklas, one question. Under what circumstances does the ScDPGroupTableData class get used? I'm trying to make a test case for the ScDPGroupTableData code, but can't figure out how to get the code executed. TIA.
Comment 26 kyoshida 2007-10-22 20:55:30 UTC
The location of the latest patch has been changed. http://svn.gnome.org/viewvc/ooo-build/trunk/patches/test/sc-dp-drilldown-data-field-test.diff?view=markup
Comment 27 niklas.nebel 2007-10-23 13:14:05 UTC
ScDPGroupTableData is used for grouping (select some items from a column or row field in the table, and do "Data/Group and Outline/Group", or see http://blogs.sun.com/dancer/entry/just_switch_analyzing_data_with for an example). With all the recent trouble around contributing or not contributing, I'd prefer the patch attached to the issue.
Comment 28 kyoshida 2007-10-23 14:19:46 UTC
@nn: Thanks for your explanation. Now it's clear how the grouping works. As for the patch, the reason I posted the URL was so that I don't have to repost URLs everytime I make changes, and the fact that the patch is not yet ready & still has lots of printf statements in it. That URL shows the up-to-date patch at all times. Once I get the grouping to work properly I'll create a CWS and put my code there, hopefully soon.
Comment 29 kyoshida 2007-10-26 12:47:39 UTC
The feature specification for this functionality is here: http://wiki.services.openoffice.org/wiki/Calc/Features/DataPilot_drill-down_on_data_field The spec is still on-going, so it will likely go through revisions. Kohei
Comment 30 niklas.nebel 2007-10-26 13:08:19 UTC
In the API, the use of return values is generally preferred over "out" parameters. In the C++ implementation, sequences are ref-counted, so there's no big performance overhead.
Comment 31 kyoshida 2007-10-29 14:35:12 UTC
I've updated the UNO API (spec as well as the actual implementation) to avoid use of [out] parameter to return the data array. I've also added another (unpublished) interface XDataPilotTable2, which extends the existing (published) XDataPilotTable interface, to provide a means for the client code to retrieve constituent rows from the position of a cell within the data field.
Comment 32 kyoshida 2007-10-29 18:50:50 UTC
A CWS created for this task: http://eis.services.openoffice.org/EIS2/cws.ShowCWS?Path=SRC680%2Fkoheidatapilot01
Comment 33 niklas.nebel 2007-11-01 18:32:51 UTC
Wow, these are quite radical changes on the CWS, more with each revision. Integrating all of that now, late in the 2.4 cycle, would be likely to break other DataPilot functionality, with no time left to fix it before the release. My suggestion for 2.4: We take your implementation of ScDPOutput::GetDataFieldPositionData, and I make a quick implementation of outputting the rows directly in ScDPSource, using the unmodified ScDPTableData. That wouldn't change (and thus, not break) other areas of DataPilot. Then we'd have time to make sure the cache table really works, and could integrate it (replacing my row output code) early in the 3.0 cycle. Any objections?
Comment 34 kyoshida 2007-11-01 18:52:57 UTC
Niklas, No objections to your suggestion. In fact, I was gonna suggest the same thing since we are so close to releasing 2.4, and I don't feel comfortable rushing this change in. This is indeed a big change (as you rightly pointed out). I've just started writing test code for this change, so I'll probably need more time to make sure nothing breaks. That will also give me more time to work on other DataPilot related issues.
Comment 35 niklas.nebel 2007-11-02 14:53:24 UTC
So let's use this issue for the feature in 2.4. For the cache table, you should create a new issue.
Comment 36 niklas.nebel 2007-11-02 14:59:41 UTC
Implemented on CWS "datapilotdetails".
Comment 37 niklas.nebel 2007-11-02 15:00:21 UTC
Reassigning to QA for verification.
Comment 42 frank 2007-11-07 10:50:29 UTC
found fixed on cws datapilotdetails using Solaris, Linux and Windows build
Comment 43 frank 2007-12-14 10:50:06 UTC
found integrated on master m239 using Linux, Solaris and Windows build