This is a migrated thread and some comments may be shown as answers.

Filtering support for PivotGrid/PivotDataSource

16 Answers 406 Views
PivotGrid
This is a migrated thread and some comments may be shown as answers.
Ronalds
Top achievements
Rank 1
Ronalds asked on 01 Jul 2014, 03:04 PM
Is filtering for PivotGrid currently supported, or will be supported in the near future? Is it possible to implement (via built in UI or programatically) server-side filtering when the PivotDataSource is bound to an XMLA source?

The filtering box is missing from the PivotConfigurator UI - competing products have this feature, e.g. Ignite UI (http://www.igniteui.com/pivot-grid/remote-adomd-provider), Flexmonster (http://www.flexmonster.com/Demo/flash-pivot-table-component-demo-filter), Syncfusion Essential JS (http://js.syncfusion.com/demos/web/#!/azure/olapclient/DefaultFunctionalities).

16 Answers, 1 is accepted

Sort by
0
Georgi Krustev
Telerik team
answered on 04 Jul 2014, 07:30 AM
Hello Ronalds,

Currently, the PivotGrid widget does not support filtering. This functionality will be added in the next release of the Kendo PivotGrid widget. For the time being, widget supports binding to OLAP instances which communicates via XMLA protocol. Because all operations are done over an OLAP instance, including the filtering, any additional server operations will not be possible.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Martin
Top achievements
Rank 1
answered on 12 Dec 2014, 09:27 AM
Hello,

Has anything changed in this area? Any timeline when this functionality would be added?

Best regards,
Martin
0
Georgi Krustev
Telerik team
answered on 13 Dec 2014, 02:14 PM
Hello Martin,

Filtering and sorting support for client Pivot Cube is in out TODO list, but I cannot provide any specific time frame when it will be available. It depends on the interest and demand of our users for the functionality. One option is to open a UserVoice discussion on the subject. Thus more people will share their thoughts about it.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Rajan
Top achievements
Rank 1
answered on 01 Sep 2015, 05:49 PM

Proper filtering capability is important.

I tried to determine drillthrough context. One of the dimensions has only one member and it  is collapsed. The drillthrough context obtained by the following code indicates that the dimension has all attributes selected in it.

 

            pivotgrid.wrapper.on("click", ".k-grid-content td", function (e) {
                var info = pivotgrid.cellInfoByElement(e.currentTarget);

                var o = "";
                var delim = "";
                for (var i = 0; i < info.rowTuple.members.length; i++) {
                    o += delim + info.rowTuple.members[i].name;
                    delim = ":";
                }
                for (var i = 0; i < info.columnTuple.members.length; i++) {
                    o += delim+ info.columnTuple.members[i].name;
                    delim = ":"
                }
                alert(o);

                // one of the collapsed row dimension having single selected member is identified as All

                // It looks like we have to probe further to determine what All means.

                // Kendo pivotgrid All seems to mean some, one or All members in the dimension attribute in a traditional sense.

                 

            });

 

 

0
Rajan
Top achievements
Rank 1
answered on 01 Sep 2015, 09:06 PM

We need row/columnTuple.members[i].membernames unless row/columnTuple.members[i]..name = 'All' truly represents that no member has been explicitly selected.

You can check this out as follows.  

Keep one dimension attribute on columns.

Drop two dimension attributes into row area. In the inner dimension attribute select only one member. Then run the code above by clicking on a valid cell.  Let me know if you can truly identify the selected member in the inner row attribute.

Thanks.

0
Georgi Krustev
Telerik team
answered on 03 Sep 2015, 09:55 AM
Hello Rajan,

The filtering is implemented and will be included in the Q3 2015 release of Kendo UI. That being said, stay tuned for it!

The "All" name is a system word that is used when a root tuple is created to normalize the dimension tree. In general, this "All" tuple will not have parentName that defines it as a root.

I am afraid, however, that I am missing the point of the described issue. Would it be possible to provide a Dojo demo that displays the described issues? Thus we will be able to get more into the problem find a solution faster.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Rajan
Top achievements
Rank 1
answered on 03 Sep 2015, 12:58 PM

Please test using the attached html file in zip format.

The All level cell context does not indicate the filter entries that can be used to drive detail reports at a different URL when All level in fact stands for one or just some selected items in the respective filter.  

Rajan

0
Rajan
Top achievements
Rank 1
answered on 03 Sep 2015, 04:10 PM

 

All row or column does not indicate the cell context correctly.
Either we have to avoid using the All row/column for drillthrough purposes or find a fix.
Cell context capability is good and useful. We can run URL actions and get drillthrough details. 
But this context is not correct for All row/column now.

Another example: set all filters to some selected items. Click on the grandtotal row at bottom right.  

The cell context will not be useful for drillthrough purposes or even in semantic sense.

0
Georgi Krustev
Telerik team
answered on 07 Sep 2015, 08:56 AM
Hello Rajan,

If I understand your request, you would like to detect whether the "Grand total" cell is clicked on any level. If this is the case, then you can check for the "k-alt" class added to the total cells. You can also use the member.parentName information to detect whether the tuple is root or not. The 'rootLevel' field also can help to detect this information.

Check the modified demo:
Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Rajan
Top achievements
Rank 1
answered on 07 Sep 2015, 12:23 PM

There are many different types of totals..  

row subtotal, column subtotal, row grandtotal, column grandtotal, grand grandtotal

Also only some members (but not all ) may be selected in the filters.

The context we get by clicking on All member row or column should be clear and accurate.

Many times we need not show subtotal rows and columns. We should be able to hide All rows/columns.

It would be better if the kendo pivotgrid is enhanced with these requirements in mind.

0
Rajan
Top achievements
Rank 1
answered on 07 Sep 2015, 04:11 PM

 

           pivotgrid.wrapper.on("click", ".k-grid-content td", function (e) {
              if ($(e.currentTarget).hasClass("k-alt")) {
                  alert("Grand Total cell!"); 
                }
              
                var info = pivotgrid.cellInfoByElement(e.currentTarget);          

                ....

            } 

seems to indicate grandtotal - Is it row grandtotal cell or column grandtotal cell or grand grandtotal cell displayed at bottom right?

It would be better if we can identify the cell type explicitly using another property or method.

cell context clarity still remains.  We cannot use tuple.members[i].name = 'All' for drillthrough context.  

How can we get a list of selected items in a row or column filter defining a cell?

 

0
Georgi Krustev
Telerik team
answered on 09 Sep 2015, 07:55 AM
Hello Rajan,

thank you for the additional clarification and for the raised questions. The cellInfoByElement method returns information about the rows/columns/measures about the pointed cell, but does not carry any information about the cell specific total "position". We will consider adding this information in future.

For the time being, I would not be able to provide any feasible workaround. Probably, one possible solution is to detect whether the cell is row or column grandtotal based on the related columns/rows tuples.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
Rajan
Top achievements
Rank 1
answered on 10 Sep 2015, 07:21 PM

How can we programmatically set the row or column filter?

For example we want to have comboboxes for row and column filters in the web page and set the kendo pivotgrid row and column filters

as a part of or after initialzing the pivotgrid using the contents in the comboboxes.

 Rajan

 

0
Georgi Krustev
Telerik team
answered on 12 Sep 2015, 09:26 AM
Hello Rajan,

You can filter the data source using the filter option or the filter method. Check this how-to demo for more details: Also if you would like to define "in" filter refer to this Dojo demo.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
0
The Cowboy
Top achievements
Rank 1
answered on 20 Oct 2015, 04:01 PM
Will we ever see a Filtering box on the PivotConfigurator UI? Right now it's hard for the user to know what filters have been applied or a central place to configure them. 
0
Georgi Krustev
Telerik team
answered on 22 Oct 2015, 01:18 PM
Hello,

Currently, we do not have any specific plans for adding "Filter" box to the PivotConfigurator.

Would it be possible to share your request in our Feedback portal? Thus we will be able to gather community feedback and determine whether we will need to schedule it for further investigation.

Regards,
Georgi Krustev
Telerik
 
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
 
Tags
PivotGrid
Asked by
Ronalds
Top achievements
Rank 1
Answers by
Georgi Krustev
Telerik team
Martin
Top achievements
Rank 1
Rajan
Top achievements
Rank 1
The Cowboy
Top achievements
Rank 1
Share this question
or