All Components

PivotGrid Overview

The PivotGrid allows the user to perform a complex analysis on the visualized data.

It uses the Online Analytical Processing (OLAP) approach to present the result of multidimensional queries in a comprehensive way and also provides a drill-down functionality that represents the underlying data for calculated cells. The PivotGrid uses an instance of the kendo.data.PivotDataSource component as a data source. The PivotDataSource communicates with an OLAP cube instance on HTTP by using the XMLA protocol.

The PivotGrid wrapper for Vue is a client-side wrapper for the Kendo UI PivotGrid widget.

Installation

To initialize the PivotGrid, either:

Initializing from CDN

The following example demonstrates how to initialize the PivotGrid component by using the CDN services. To access all CDN references, open the sample in Plunker.

<div id="vueapp" class="vue-app">
    <kendo-pivotdatasource ref="pivotdatasource"
                           :transport-read-url="'https://demos.telerik.com/kendo-ui/service/Northwind.svc/Customers'"
                           :type="'odata'"
                           :schema-cube="schemaCube"
                           :measures="measures">
        <kendo-pivot-column :name="'Country'" :expand="true"></kendo-pivot-column>
        <kendo-pivot-column :name="'CompanyName'"></kendo-pivot-column>
        <kendo-pivot-row :name="'ContactTitle'"></kendo-pivot-row>
    </kendo-pivotdatasource>

    <kendo-pivotconfigurator id="configurator"
                             class="hidden-on-narrow"
                             :data-source-ref="'pivotdatasource'"
                             :filterable="true"
                             :height="570">
    </kendo-pivotconfigurator>

   <kendo-pivotgrid id="pivotgrid"
                    class="hidden-on-narrow"
                    :data-source-ref="'pivotdatasource'"
                    :filterable="true"
                    :columnWidth="120"
                    :height="570">
    </kendo-pivotgrid>
</div>
<style>
    .hidden-on-narrow {
        display: inline-block;
        vertical-align: top;
    }

    #pivotgrid {
        width: 58%;
    }

    #configurator {
        width: 41%;
        min-width: 41%;
    }
</style>
Vue.use(PivotGridInstaller);
Vue.use(DataSourceInstaller);

new Vue({
    el: '#vueapp',
    data: function() {
        return {
            measures: ['Contacts Count'],
            schemaCube: {
                dimensions: {
                    ContactName: { caption: 'All Contacts' },
                    CompanyName: { caption: 'All Companies' },
                    Country: { caption: 'All Countries' },
                    ContactTitle: { caption: 'All Titles' }
                },
                measures: {
                    'Contacts Count': { field: 'CustomerID', aggregate: 'count' }
                }
            }
        }
    }
})

Initializing with Webpack

  1. Install Kendo UI and add a theme.

    npm install --save @progress/kendo-ui
    npm install --save @progress/kendo-theme-default
  2. Install the Kendo UI PivotGrid package for Vue.

    npm install --save @progress/kendo-pivotgrid-vue-wrapper
  3. Import the Kendo UI packages to the App component. If you use the Kendo UI components more than once in your application, add all Kendo UI-related files to the main.js file. If you use the Kendo UI components once in your application, add the Kendo UI-related files the component where they will be referred.

    import '@progress/kendo-ui'
    import '@progress/kendo-theme-default/dist/all.css'
    
    import { PivotGrid, PivotGridInstaller } from '@progress/kendo-pivotgrid-vue-wrapper'
    
    Vue.use(PivotGridInstaller)
    
    new Vue({
       el: '#app',
       components: {
           PivotGrid
       }
    })
In this article