QPR ProcessAnalyzer Chart
ChartView allows creation of versatile and visually appealing charts with flexible KPI definitions to answer specific business needs. ChartView allows to calculate KPI's from all process mining objects, such as cases, events, event types or flows. The data can be to be sliced into configurable dimensions and KPIs calculated for each dimension. It's also possible to disable slicing to show a simple list of all analyzed items.
Introduction
ChartView is available as the first item in the tool palette which can be seen when editing is started. In a basic form, the result of this analysis is a table with the following columns: (1) One column for each specified dimension, and (2) at least one column for each specified value. The result of this analysis is a table with one row for each unique dimension value combination.
The basic flow of using the ChartView is the following:
- Choose objects to visualize, e.g. cases, events, event types or variations.
- Choose how to slice (or dimension) the data into parts, e.g. by attributes (regions, products), by durations or by dates (months, quarters).
- Choose measures/KPI's to be calculated for each dimension. Measure could be e.g. number of items, average duration, or cost.
- Choose the best visualization for the data, such as column charts, donut charts or tables.
ChartView also has a fullscreen mode which expands one ChartView to the whole screen. The fullscreen is available in the icon on top right corner of each ChartView. The fullscreen can be disabled, by clicking the cross icon in the top right. When in the fullscreen, filtering can be done and on-screen settings are disabled.
Visualization Settings
- Visualization: Choose how data is visualized. There are variety of charts available, and also a table, a pivot chart, and a KPI card. It depends on the visualization, which mappings can be selected for measures and dimensions.
- Stacking: Can be used to build series on top of each other, which better visualizes the sum of the measures across different series.
- % Stacking: Shows the measures as percentages of the sum of the measures. The total is thus always 100%.
- Polar Chart: Shows the X-axis as a circular instead of a horizontal line. The polar chart works with many chart types, such as column, line and area charts.
- Show Data Labels: When checked, numerical measure values are shown next to the data point in charts.
- Group Rows Exceeding Maximum: When checked and when number of rows is limited by the Maximum Rows setting, the extra rows are aggregated into the last row.
- Title: Custom title for a chart or table can be defined. When this field is empty, an automatically generated title is used in charts (table only has a custom title). To hide the title, a space character can be defined.
- Subtitle: Custom subtitle for a chart can be defined. When this field is empty, an automatically generated subtitle is used showing the chart filter (if defined). To hide the subtitle, a space character can be defined.
Available Visualizations
ChartView provides the following visualizations:
- Table: The table shows the "raw" data calculated in the server. Dimensions are first and then measures.
- Pivot Table: In the pivot table, the first dimension is visualized as rows and the second dimensions is visualized as columns. Measures are as cell values of the pivot table. In addition to the usual table, the pivot table provides changing number of columns depending how many unique values there are in the second dimension.
- KPI Card: The KPI card shows a single KPI value calculated from the whole data, and optionally a color rectangle next to the value to visualize the KPI performance.
- Charts:
- Area Range Chart, Area Spline Range Chart, Column Range Chart, Error Bar Chart: These chart types use low and high mappings.
- Root Causes: Special visualization for the Root Causes analysis. When using this visualization, also the analyzed objects need to be Root causes.
- Case Attribute Filter: Instead of visualizing, the ChartView works as a case attribute value selector for filtering. When choosing this setting, also a case attribute needs to be selected. There is a dropdown list showing all case attribute values and multiple values can be selected. This filtering functionality is linked to the dashboard filters, and the same filter can be edited both in this ChartView and in the header.
Data Selection Settings
- Analyze: Choose the process mining objects to analyze, e.g. cases, events, variations, event types or flows. Analyzed items can also be limited by a certain criteria. For cases, it's recommended to use chart filter if a subset of cases is needed.
- Slice into Dimensions: When checked, data is sliced in to the defined dimensions, and the row count depends on how many unique dimension values there appear in the data. When dimensioning is in use, a single row represents one or several analyzed items. When unchecked, data is not sliced into different dimensions, but each analyzed item is as a separate row in the data. There are thus as many rows as there are analyzed items.
- Sorting: Data can be ordered based on measures or dimensions, and both ascending and descending ordering is available. Sorting can also be disabled if it doesn't have any use, as sorting may affect performance. Note that for charts having numerical or date X-axis, sorting doesn't have any visible effect, because position of data points in the chart (columns etc.) depend on measure/dimension data values instead of order of rows.
- Maximum Rows: Number of rows returned are limited to this maximum count. This setting is useful with sorting to show only the most relevant information. In addition, there may be a large number of rows in certain selections, so the maximum should always be limited.
Measures, Dimensions and Columns
When dimensioning is used (Slice into Dimensions setting checked), measures and dimensions can be chosen (in the respective tabs), and when dimensioning is not used, columns can be chosen (in the respective tab).
When dimensioning is used, there can be zero to many dimensions defined. Available dimensions depend on which objects are selected for the analysis (in the Analyze' dropdown list). The calculation returns as many rows as there are unique combinations for each dimensions values. For example, if you dimension by two dimensions, the other containing 3 unique values, and the other 5 unique values, there can be maximum of 3x5=15 rows in the resulting data. Note that all combinations might not appear in the data and thus the number of rows might be less.
When the data is sliced into different dimensions, measures are calculated for each dimension. There can be zero to many measures defined. Measures are typically numerical information as most charts visualize only number, but tables can be used to present any kind of data.
When dimensioning is not used, one to many columns can be chosen. Columns are simple properties or attributes of the listed objects. If showing data in a table, there is one row for each of the analyzed objects.
Each measure, dimension and column contain the following buttons when hovering:
- Measure/dimension/column detailed settings: Opens a dialog for the detailed settings that affect only to this measure/dimension/column (see the next chapter).
- Move down: Moves this measure/dimension/column one step down and moves the one previously below, one step up (they are switching places).
- Move up: Moves the measure/dimension/column one step up and moves the one previously above, one step down (they are switching places).
- Convert to custom expression: Converts the measure/dimension/column to a custom expression for advanced editing. Note that it's not possible to go back, so if need to do that, remove the custom measure/dimension/column and create a new. Tip: When writing custom expressions, it's useful to start with a ready-made measure/dimension/column to get an expression to further edit.
- Add measure/dimension/column: Moves this measures/dimensions/columns and all below it one step down to make space for a new one.
- Delete measure/dimension/column: Deletes this measure/dimension/column and moves all others below one step up.
Measure, Dimension and Column Detailed Settings
When hovering a measure/dimension/column settings, the first of the appearing icons opens a dialog for the measure/dimension/column detailed settings. The following settings are common for measures/dimensions/columns:
- Custom label: By default, measures/dimensions/columns have automatically created descriptive labels that are shown, e.g. as chart axis titles or table column names (depending on the visualization). Use this custom label to define your own label which replaces the automatic label.
- Visualization: In charts, series specific visualization for this measures/dimensions/columns. Overrides the default visualization defined in the General tab.
- Visualization color: In charts, color for visualizing this measure/dimension/column, appearing for example as a column or line color.
- Rounding: Numeric values are rounded to this defined number of decimals. Note that despite the rounding, values are sorted based on the accurate values.
- Measure/dimension/column unit: Unit that is visible after each measure/dimension/column value. In most cases, the units are determined automatically, e.g. for duration type of data.
- Data type: Expected data type for the measure/dimension/column. The defined data type must match with the actual datatype that is produced by the calculation to work correctly. As an exception, the text type can be used with any type of data. Data types are very important for the visualization to work, e.g. charts require numerical data to be numbers.
- Mapping in chart: When using the chart, defines how this measure/dimension/column is mapped in the chart, for example to Y-axis, X-axis, series etc.
- Date format: Date type of data is presented with this date format.
- Adjustment expression: Expression that is added to the end of the measure/dimension/column expression. The adjustment expression can be used for example to convert or map values.
In addtion, measures have the following settings:
- Calculate measure for: Measure can be calculated for each dimension separately (the default option) which is the normal dimensioning behavior. It's also possible to ignore the dimensioning for this measure and calculate the measure for the currently filtered data (i.e. the measure is calculated for the entire dataset that the chart is based on). Furthermore, it's also possible to ignore filters and calculate the measure value for the entire model data.
- Variable for other measures: When checked, this measure can be used as a variable for other measures. By default, the variables names are variable1, variable2, etc. Custom label can be used to define an own name for the variable.
Filtering Settings
In QPR ProcessAnalyzer, filters can be applied on two levels:
- Entire dashboard: Dashboard filters are applied to all charts in the dashboard and they are visible in the main header. When clicking items in the charts, dashboard filters are created.
- Single chart: Chart filters are applied only to the chart where the filters are defined for. Filters for a chart can be viewed and edited in the chart settings. Chart filters can be created from the chart settings. Tip: If the desired type of filter cannot be created from the Add filter dialog, create the filter first as a dashboard filter and then drag and drop the filter rule over the ChartView. The filter rule is moved as a chart filter.
Chart filters and behavior for the chart filtering is defined in the Filter tab having the following settings:
- Chart Follows Dashboard Filters: When checked, the chart is filtered by the filters in the dashboard. When unchecked, the chart is not affected by filters in the dashboard, and thus the chart is based on data in the entire model.
- Create Filters from Chart: When checked, filters can be created based on selected items in the chart. When unchecked, no filters are created when clicking the chart.
- Update Filter During Selection: When checked, other charts are filtered during selecting items in this chart, enabling to preview filtering results in other charts before confirming the selection. When unchecked, a filter is created only when the selection is confirmed, improving smoothness of usage in large models.
- Chart Filter: Button to add filters that affect only this chart. There can be many filter rules defined. Filter rules can be edited by clicking them and removed from the recycle bin icon. The filters work in a way that only data that is matching to all the filter rules are shown.
Advanced Settings
- Visible Case Attributes: Only the defined case attributes are shown in settings where case attributes need to be selected from a list. This setting can be used to hide unnecessary case attributes to make lists shorter and easier to use. When no case attributes are defined, all case attributes are shown.
- Visible Event Attributes: Only the defined event attributes are shown in settings where event attributes need to be selected from a list. This setting can be used to hide unnecessary event attributes to make lists shorter and easier to use. When no event attributes are defined, all event attributes are shown.
- Visible Event Types: Only the defined event types are shown in settings where event types need to be selected from a list. This setting can be used to hide unnecessary event types to make lists shorter and easier to use. When no event types are defined, all event types are shown.
- Update Chart When Changing Settings: When checked, the chart is not updated automatically when changing chart settings, but when clicking the Apply button in the General tab. Disabling automatic updating improves performance in large models when changing several settings at the same time.
- Edit Custom Layout: Advanced settings for the chart and table can be accessed using the JSON format.
- Edit On-screen Settings: Measure, dimension, column and analyzed objects parameters can be defined as on-screen settings, i.e. the settings are always visible above the chart in the dashboard for quick access. The on-screen settings are defined as a JSON array, where each item is an object with following properties:
- type: Either measure or dimension. If slicing into dimensions is disabled, columns correspond to dimensions.
- index: Index of the measure, dimension or column starting from zero.
- parameter: Name of the parameter.
- label: Custom label for the setting.
- maxWidth: Maximum width of the shown setting in pixels.
- newLine: Defines whether the setting is positioned to a new line for more spacing between settings.
- Edit in Expression Designer: For testing and development purposes, clicking this button starts editing the current expression in the Expression Designer.
View Technical Information
In the Advanced tab, there is a dropdown list for showing different kind of technical information for advanced needs, such as expressions, queries and settings fed to the chart component.
- Show chart: This is the normal mode where the actual visualization is shown.
- Show expressions: This options shows the actual expression that are sent to the server for calculation. The syntax for the expressions is defined in the Expression Analysis.
- Show query: This options shows the actual query that are sent to the server for calculation. The query contains the expression (the previous options), and also other information, such as the model id, filter and comparison.
- Show chart filter JSON: Shows the chart filter as a JSON. Syntax for the filter JSON is defined in Filtering Queries.
- Show dimensions/columns as calculated attributes: Shows the defined dimensions or columns as a calculated case attribute definitions. This options is useful, when you want to add the defined dimensions or columns as case attributes for a model, so you can see the syntax directly from here.
- Show chart JSON settings: ChartView uses Highcharts JavaScript component to draw charts. With this options you can see the actual configuration that is used by Highcharts to draw the chart. In this option, the data is removed, because in some cases there may be lot of data.
- Show chart JSON settings (with data): This is same option as the previous, except the data is also included.
- Show chart settings (single line): ChartView settings JSON shown in a single line. This is useful if you need to store the settings directly into a dashboard variable.
- Edit chart settings: All the settings done in a ChartView are stored as single JSON entity in the dashboard. These settings can be edited directly with this option. There is validation in place, so invalid settings are not accepted.
Copy Chart Settings from Another Chart
You can copy chart settings and use them in another chart as follows: Go to the Advanced tab and choose from the bottom dropdown list Edit chart settings. Select all JSON and copy it to a clipboard. Go to another chart and to the same chart settings textbox, where paste the settings and click Save.
ChartView Settings
- visualization:
- stacking:
- polar:
- maxRows:
- showOthers:
- datalabels:
- useViewFilter:
- enableFiltering:
- updateFilterDuringSelection:
- updateVisualization:
- enableDimensioning:
- sorting:
- visibleCaseAttributes:
- visibleEventAttributes:
- visibleEventTypes:
- filterCaseAttribute:
- enableResultCaching:
- forceRowSelectionModeInTable:
- root:
- measures:
- dimensions:
- componentFilter:
- onscreenSettings:
- preset:
stackingOptions = [null, 'normal', 'percent']
sortingOptions = ['1. measure ascending', '1. measure descending', '1. dimension ascending', '1. dimension descending', '2. dimension ascending', '2. dimension descending', '3. dimension ascending', '3. dimension descending', 'none']
validProperties = ['visualization', 'stacking', 'polar', 'maxRows', 'showOthers', 'datalabels', 'useViewFilter', 'enableFiltering', 'updateFilterDuringSelection', 'updateVisualization', 'enableDimensioning', 'sorting', 'visibleCaseAttributes', 'visibleEventAttributes', 'visibleEventTypes', 'filterCaseAttribute', 'title', 'subtitle', 'root', 'measures', 'dimensions', 'componentFilter', 'tableColumnWidths', 'customLayout', 'onscreenSettings', 'enableResultCaching', 'forceRowSelectionModeInTable', 'preset', 'version']
measureExtraSettings = ['name', 'context', 'decimals', 'label', 'unit', 'visualization', 'color', 'mapping', 'type', 'isVariable', 'hidden', 'dateFormat', 'suffixExpression']
dimensionExtraSettings = ['name', 'decimals', 'label', 'unit', 'visualization', 'color', 'mapping', 'type', 'hidden', 'dateFormat', 'suffixExpression']