[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Collapse]WPF Controls
 [Expand]What's Installed
 [Expand].NET Core 3 Support
 [Expand]Common Concepts
 [Expand]MVVM Framework
 [Collapse]Controls and Libraries
  [Expand]Data Grid
  [Expand]Ribbon, Bars and Menu
  [Expand]Charts Suite
  [Collapse]Pivot Grid
   [Expand]Getting Started
   [Expand]Binding to Data
   [Expand]Data Shaping
   [Collapse]Data Analysis
     Conditional Formatting
     Integration with the Chart Control
     Key Performance Indicators (KPIs)
   [Expand]Printing and Exporting
   [Expand]End-User Interaction
   [Expand]MVVM Enhancements
   [Expand]UI Elements
   [Expand]End-User Capabilities
  [Expand]Rich Text Editor
  [Expand]Tree List
  [Expand]Gauge Controls
  [Expand]Map Control
  [Expand]Layout Management
  [Expand]Windows Modern UI
  [Expand]Data Editors
  [Expand]Navigation Controls
  [Expand]Spell Checker
  [Expand]Property Grid
  [Expand]PDF Viewer
  [Expand]TreeMap Control
  [Expand]Gantt Control
  [Expand]Diagram Control
  [Expand]Windows and Utility Controls
   Dialogs, Notifications and Panels
  [Expand]Scheduler (legacy)
 [Expand]Scaffolding Wizard
  Redistribution and Deployment
  Get More Help
 [Expand]API Reference
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report and Dashboard Server
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Key Performance Indicators (KPIs)

In Analysis Services, a KPI is a collection of calculations associated with a measure group in a cube, used to evaluate business success. To learn more about KPIs, see Key Performance Indicators topic in MSDN.

Pivot Grid allows you to display KPI values with server-defined or client-defined graphics.

Expanded Displaying KPI Values

Use the PivotGridControl.GetOlapKpiList method to obtain a list of KPI names provided by the OLAP cube. A typical KPI consists of the actual value achieved, the goal, status, trend and weight values. In the OLAP cube, a KPI's value is represented by a measure to which a PivotGridControl's field should be bound to display the KPI value. The PivotGridControl.GetOlapKpiMeasures method returns the names of measures that represent the values of the specified KPI. The actual KPI values can be obtained using the PivotGridControl.GetOlapKpiValue method.

To obtain which of the KPI values (goal, status, trend, weight, or the actual value) a particular field is displaying, use the field's PivotGridField.KpiType property.

Expanded Managing KPI Graphics

DXPivotGrid can visualize KPI values with server-defined or client-defined graphics. The KPI status and trend values represent one of three progress states: good, bad and neutral. The Analysis Services provide a number of graphic sets used to visualize the state values. A graphic set consists of three images, each corresponding to a particular progress state. For instance, the cylinder graphics provide the , and images for the good, bad and neutral states respectively. Use the PivotGridField.KpiGraphic property to specify which graphic set should be used to visualize the KPI value.

To obtain which graphic set is defined for the KPI value by the server, use the PivotGridControl.GetOlapKpiServerGraphic method. You can also obtain images used to visualize KPI values via the PivotGridControl.GetKpiBitmap method.


If the PivotGridField.KpiGraphic property is not set to PivotKpiGraphic.ServerDefined, KPI graphics can be displayed for table data sources as well. In this instance, valid KPI values are -1 (bad), 0 (neutral) and 1 (good).

Expanded Appearance of KPI Cells

PivotGridControl allows you to customize the appearance of cells that display KPI graphics. To do this, use the PivotGridControl.FieldCellKpiTemplate property to specify a template that will be used to display these cells.

You can also implement custom logic that will choose an appropriate template. To do this, derive from the System.Windows.Controls.DataTemplateSelector class, implement the SelectTemplate method that returns a template that meets the required condition, and assign an instance of this class to the PivotGridControl.FieldCellKpiTemplateSelector property.

To do this for individual fields, use the PivotGridField.CellTemplate and PivotGridField.CellTemplateSelector properties respectively.

Note that the PivotGridControl.FieldCellTemplate and PivotGridControl.FieldCellTemplateSelector properties are not in effect for data fields that display KPI graphics.

Is this topic helpful?​​​​​​​