<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.onqpr.com/pa/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OllKomu</id>
	<title>QPR ProcessAnalyzer Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.onqpr.com/pa/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=OllKomu"/>
	<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php/Special:Contributions/OllKomu"/>
	<updated>2026-06-05T22:16:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=18276</id>
		<title>QPR ProcessAnalyzer Chart</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=18276"/>
		<updated>2021-05-27T07:42:52Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Chart allows to create versatile and visually appealing charts with flexible KPI definitions to answer many business needs. Chart allows to calculate KPI&#039;s from the process mining objects, such as cases, events, event types and flows. The data can be sliced into freely selectable dimensions and KPIs calculated for each dimension to visualize comparisons, benchmarks and trends. It&#039;s also possible to disable slicing to show a simple list of all analyzed items.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
Chart is available as the first item in the tool palette. 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.&lt;br /&gt;
&lt;br /&gt;
The basic flow of using the chart is the following:&lt;br /&gt;
# Choose objects to visualize, e.g. cases, events, event types or variations.&lt;br /&gt;
# Choose how to slice (or dimension) the data into parts, e.g. by attributes (regions, products), by durations or by dates (months, quarters).&lt;br /&gt;
# Choose measures/KPI&#039;s to be calculated for each dimension. Measure could be e.g. number of items, average duration, or cost.&lt;br /&gt;
# Choose the best visualization for the data, such as column charts, donut charts or tables.&lt;br /&gt;
&lt;br /&gt;
Chart also has a fullscreen mode which expands one chart to the entire screen. The fullscreen is available in the icon on top right corner of each chart. 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.&lt;br /&gt;
&lt;br /&gt;
Chart is available in the navigation menu where there are ready-made views containing chart, such as &#039;&#039;Process Discovery&#039;&#039;. The ready-made views are for ad-hoc analysis, and the settings cannot be saved, but they are preserved during the user session. Chart is also available as a component when creating dashboards, where chart settings are saved as part of the dashboard, and thus all users see the dashboard as it was designed.&lt;br /&gt;
&lt;br /&gt;
== Visual Settings ==&lt;br /&gt;
[[File:Chartsettingsgeneral.png|right|300px]]&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: Choose how data is visualized. There are variety of chart types, table, pivot chart and a KPI card available (see more in [[#Available_Visualizations|next chapter]]. Depending on the visualization, different mappings can be selected for measures/dimensions/columns.&lt;br /&gt;
* &#039;&#039;&#039;Stacking&#039;&#039;&#039;: In charts, stacking is used to show series on top of each other, which better visualizes the sum of the measures across different series.&lt;br /&gt;
* &#039;&#039;&#039;% Stacking&#039;&#039;&#039;: In charts, percentage stacking shows the measures as percentages of the sum of the measures. The total is thus always 100%.&lt;br /&gt;
* &#039;&#039;&#039;Polar Chart&#039;&#039;&#039;: In charts, 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.&lt;br /&gt;
* &#039;&#039;&#039;Show Data Labels&#039;&#039;&#039;: When checked, the measure values are shown next to the data point in charts.&lt;br /&gt;
* &#039;&#039;&#039;Group Rows Exceeding Maximum&#039;&#039;&#039;: When enabled and number of rows is limited by the &#039;&#039;Maximum Rows&#039;&#039; setting, the extra rows are aggregated into the last row.&lt;br /&gt;
* &#039;&#039;&#039;Title&#039;&#039;&#039;: Custom title for a chart or table can be defined that replaces the automatically created title. When this field is empty, an automatically created title is used in charts. Note that the table does not have an automatically created title. To hide the title, a space character can be defined.&lt;br /&gt;
* &#039;&#039;&#039;Subtitle&#039;&#039;&#039;: Custom subtitle for a chart that replaces the automatically created subtitle. When this field is empty, an automatically created subtitle is used showing the chart filter (if defined). To hide the subtitle, a space character can be defined.&lt;br /&gt;
* &#039;&#039;&#039;[[#On-screen Settings|On-screen Settings]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Custom Layout&#039;&#039;&#039;: Using the Custom Layout, advanced visual settings for the chart and table can be defined using JSON format. Settings defined here override the default chart and table settings. Overriding is done for individual properties, so only the customized settings need to be specified. See examples for [[QPR ProcessAnalyzer Graphs#Customization%20Examples|customizing charts]].&lt;br /&gt;
* &#039;&#039;&#039;Export&#039;&#039;&#039;: Tables, pivot tables and charts can be exported into several formats available in the dropdown list.&lt;br /&gt;
&lt;br /&gt;
=== Available Visualizations ===&lt;br /&gt;
Chart provides variety of visualization. Here are mentioned some of those:&lt;br /&gt;
* &#039;&#039;&#039;[[QPR ProcessAnalyzer Graphs|Graph]]&#039;&#039;&#039;: These chart types use &#039;&#039;low&#039;&#039; and &#039;&#039;high&#039;&#039; mappings.&lt;br /&gt;
* &#039;&#039;&#039;[[QPR ProcessAnalyzer Table|Table]]&#039;&#039;&#039;: The table shows the data in a similar form that it is returned from the server, and thus the table is useful when defining dimensions and measures. In the table, dimensions are first starting from the left and then there are measures. Filters can be created from the table by clicking dimensions/columns (it&#039;s not possible to create filter by clicking measures). Also when creating a column filter to the table (which only filters the data in the table), a process mining filter is automatically suggested which can be accepted or ignored. Columns widths can also be changed, and tables are able to remember the adjusted widths.&lt;br /&gt;
* &#039;&#039;&#039;[[QPR ProcessAnalyzer Pivot Table|Pivot Table]]&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;[[QPR ProcessAnalyzer KPI Card|KPI Card]]&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Root Causes&#039;&#039;&#039;: Special visualization for the Root Causes analysis. When using this visualization, also the analyzed objects need to be &#039;&#039;Root causes&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Analyzed Data ==&lt;br /&gt;
When creating a chart, the first thing to decide, are which items to be analyze. Settings that determine the analyzed data are:&lt;br /&gt;
* &#039;&#039;&#039;Analyze&#039;&#039;&#039;: 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. Still, for cases it&#039;s recommended to use chart filter if a subset of cases is needed.&lt;br /&gt;
* &#039;&#039;&#039;Slice into Dimensions&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Sorting&#039;&#039;&#039;: Data can be ordered based on data chosen to the measures/dimensions/columns. Both ascending and descending ordering is available. Sorting can also be disabled if it doesn&#039;t have any use, as sorting affects performance when there is large number of rows. Note that for charts having numerical or date X-axis, sorting doesn&#039;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. When &#039;&#039;custom&#039;&#039; is selected, a custom sorting can be defined when clicking the &#039;&#039;Advanced sorting&#039;&#039; button as an object array with the follow properties for each object:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: either &#039;&#039;&#039;measure&#039;&#039;&#039; or &#039;&#039;&#039;dimension&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: measure or dimension order number (starts from 0)&lt;br /&gt;
** &#039;&#039;&#039;direction&#039;&#039;&#039;: Either &#039;&#039;&#039;ascending&#039;&#039;&#039; or &#039;&#039;&#039;descending&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
[[File:Advancedsortingexample.png|center|700px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;descending&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;ascending&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum Rows&#039;&#039;&#039;: Number of rows returned are limited to this maximum count. This setting is useful with sorting to show only the most relevant items. In addition, in certain selections there may be a large number of rows, so the maximum should always be limited.&lt;br /&gt;
* &#039;&#039;&#039;Analyzed objects sample size&#039;&#039;&#039;: Sampling randomly removes some of the items leaving only the sample size of items left to the analyzed objects. If sample size is not defined, sampling is not used. The purpose of sampling is to improve performance, as there will be less items in the dimension and measure calculation. The intention is that the calculation from the sampled dataset would provide close enough results in statistically high enough probability. Sampling cannot be used in some calculations, because it affects the calculation results.&lt;br /&gt;
* &#039;&#039;&#039;Model&#039;&#039;&#039;: Select a process mining model that is shown by this chart. When selecting &#039;&#039;&amp;lt;used by dashboard&amp;gt;&#039;&#039;, the model that is currently selected for the dashboard in the header, is used by the chart. This setting allows to create dashboards, where the dashboard at the same time fetches and visualizes data from different models.&lt;br /&gt;
&lt;br /&gt;
== Selecting Measures, Dimensions and Columns ==&lt;br /&gt;
[[File:Chartsettingsmeasures.png|right|300px]]When dimensioning is used (&#039;&#039;Slice into Dimensions&#039;&#039; setting checked), &#039;&#039;&#039;measures&#039;&#039;&#039; and &#039;&#039;&#039;dimensions&#039;&#039;&#039; can be chosen (in the respective tabs), and when dimensioning is not used, &#039;&#039;&#039;columns&#039;&#039;&#039; can be chosen (in the respective tab).&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Analyze&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each measure, dimension and column contain the following buttons when hovering:&lt;br /&gt;
* &#039;&#039;&#039;Measure/dimension/column settings&#039;&#039;&#039;: Opens a dialog for the detailed settings that affect only to this measure/dimension/column (see the next chapter).&lt;br /&gt;
* &#039;&#039;&#039;Convert to custom expression&#039;&#039;&#039;: Converts the measure/dimension/column to a custom expression for advanced editing. Note that it&#039;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&#039;s useful to start with a ready-made measure/dimension/column to get an expression to further edit.&lt;br /&gt;
* &#039;&#039;&#039;Move down&#039;&#039;&#039;: Moves this measure/dimension/column one step down and moves the one previously below, one step up (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Move up&#039;&#039;&#039;: Moves the measure/dimension/column one step up and moves the one previously above, one step down (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Add measure/dimension/column&#039;&#039;&#039;: Moves this measures/dimensions/columns and all below it one step down to make space for a new one.&lt;br /&gt;
* &#039;&#039;&#039;Delete measure/dimension/column&#039;&#039;&#039;: Deletes this measure/dimension/column and moves all others below one step up.&lt;br /&gt;
&lt;br /&gt;
=== Measure, Dimension and Column Settings ===&lt;br /&gt;
[[File:Chartsettingsmeasuresettings.png|right|650px]]&lt;br /&gt;
&lt;br /&gt;
When hovering a measure/dimension/column settings, the first of the appearing icons opens a dialog for the measure/dimension/column settings. The following settings are available for measures/dimensions/columns:&lt;br /&gt;
* General&lt;br /&gt;
** &#039;&#039;&#039;Custom label&#039;&#039;&#039;: By default, measures/dimensions/columns have automatically created descriptive labels shown for example as chart axis titles or table column names (depending on the visualization). Use the custom label to define your own label which replaces the automatic label. If you want to hide the label, you can use a space as the custom title.&lt;br /&gt;
** &#039;&#039;&#039;Color&#039;&#039;&#039;: In charts, color for visualizing this measure/dimension/column, appearing for example as a column or line color.&lt;br /&gt;
** &#039;&#039;&#039;Visualization&#039;&#039;&#039;: In charts, series specific visualization for this measures/dimensions/columns. Overrides the default visualization defined in the &#039;&#039;General&#039;&#039; tab.&lt;br /&gt;
** &#039;&#039;&#039;Mapping in chart&#039;&#039;&#039;: When using the chart, defines how this measure/dimension/column is mapped in the chart, for example to Y-axis, X-axis, series etc.&lt;br /&gt;
** &#039;&#039;&#039;Round to decimals&#039;&#039;&#039;: Numeric values are rounded to this defined number of decimals. Note that despite the rounding, values are sorted based on the accurate values.&lt;br /&gt;
** &#039;&#039;&#039;Unit&#039;&#039;&#039;: Unit that is shown with each measure/dimension/column value. In some expressions, units are determined automatically, e.g. for durations.&lt;br /&gt;
** &#039;&#039;&#039;Unit position&#039;&#039;&#039;: Determines how units are shown with the value. Units can be shown before or after the value, and there can be a space between or not. Unit can also be hidden.&lt;br /&gt;
** &#039;&#039;&#039;Date format&#039;&#039;&#039;: Date type of data is presented with this date format. For example: dd.MM.yyyy HH:mm:ss, M/d/yyyy HH:mm.&lt;br /&gt;
** &#039;&#039;&#039;Hidden&#039;&#039;&#039;: For tables, measures/dimensions/columns can be hidden using this checkbox. For example, conditional formatting can use data from the hidden columns.&lt;br /&gt;
* Table actions&lt;br /&gt;
** &#039;&#039;&#039;Web link&#039;&#039;&#039;: When defined (works in tables only), the measure/dimension/column will be a clickable web link opening the target web site to a new tab. Only the text in the table cell is clickable, so filtering is possible when clicking next to the text. To refer to the data in the same row, web links can contain tags (e.g. &#039;&#039;&#039;${dimension:1}&#039;&#039;&#039;), which are replaced with the data. You can also refer to the clicked value with &#039;&#039;&#039;${this}&#039;&#039;&#039;. If the web link only consists of a single tag, the tag value is not encoded (because the tag is assumed to contain a full url). If the web link contains static text in addition to the tags, the tag values are encoded using encodeUriComponent (because tags are assumed to be used as url parameters). If the link does not start with http:// or https://, the link is interpreted as a relative link, and it&#039;s added to the end of the QPR ProcessAnalyzer url. Examples: &#039;&#039;&amp;lt;nowiki&amp;gt;https://google.com/search/q=${measure:2}&amp;lt;/nowiki&amp;gt;&#039;&#039;, &#039;&#039;&amp;lt;nowiki&amp;gt;https://devnet.onqpr.com/pawiki/index.php?search=${this}&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;Variables to set on click&#039;&#039;&#039;: Variables that are set when clicking the text in the column. Similar tags as for the web link, can be used both for the variable name and variable value fields. If there are either the sys:dashboard or sys:dashboardIdentifier variable among the changed variables (i.e. clicking will go to other dashboard), the variables are set to the session level; otherwise they are set to the dashboard level. If defining the Filter or Comparison variable with an empty value, the corresponding filter or comparison rule is created automatically (works only for dimensions).      &lt;br /&gt;
* Special values&lt;br /&gt;
** &#039;&#039;&#039;Show for null value&#039;&#039;&#039;: When an expression provides a null value, the text defined in this field is shown in the visualization. By default empty text.&lt;br /&gt;
** &#039;&#039;&#039;Show for empty string&#039;&#039;&#039;: When an expression provides an empty string value, the text defined in this field is shown in the visualization. By default &#039;&#039;(empty)&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Show for boolean true&#039;&#039;&#039;: When an expression provides a boolean type of value &#039;&#039;true&#039;&#039;, the text defined in this field is shown in the visualization. By default &#039;&#039;Yes&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;Show for boolean false&#039;&#039;&#039;: When an expression provides a boolean type of value &#039;&#039;false&#039;&#039;, the text defined in this field is shown in the visualization. By default &#039;&#039;No&#039;&#039;.&lt;br /&gt;
* Advanced&lt;br /&gt;
** &#039;&#039;&#039;Data type&#039;&#039;&#039;: Expected data type for the measure/dimension/column. The defined data type must match with the actual data type of the calculated data to work correctly. As an exception, the &#039;&#039;text&#039;&#039; type can be used with any type of data, because all types of data can be converted into strings. Data types are important for the visualization to show correctly, e.g. charts mostly require numerical data. Data type list also has &#039;&#039;Auto detect&#039;&#039; which analyzes the calculated data and chooses the data type based on the most common data type in the data. Note that the auto detect doesn&#039;t give the correct data type when there is no data available.&lt;br /&gt;
** &#039;&#039;&#039;Adjustment expression&#039;&#039;&#039;: 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.&lt;br /&gt;
** &#039;&#039;&#039;Calculate measure for&#039;&#039;&#039;: Measure can be calculated for &#039;&#039;each dimension separately&#039;&#039; (the default option) which is the normal dimensioning behavior. It&#039;s also possible to ignore the dimensioning for this measure and calculate the measure for the &#039;&#039;currently filtered data&#039;&#039; (i.e. the measure is calculated for the entire dataset that the chart is based on). Furthermore, it&#039;s also possible to ignore filters and calculate the measure value for the &#039;&#039;entire model data&#039;&#039;. This setting is only available for measures.&lt;br /&gt;
** &#039;&#039;&#039;Variable name&#039;&#039;&#039;: Name of the variable containing this measure or column value. The variable can be used in expressions for other measures. The variable is created when a name for it has been defined. This setting is not available for dimensions.&lt;br /&gt;
** &#039;&#039;&#039;Statistical calculations&#039;&#039;&#039;: Different kind of calculations done to measure/dimension/column data. Several items from the list can be used at the same time. Some calculations require an additional parameter, that is specified in the &#039;&#039;Reference value for statistical calculations&#039;&#039; field. Available calculations are:&lt;br /&gt;
*** &#039;&#039;&#039;Remove nulls&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a null value.&lt;br /&gt;
*** &#039;&#039;&#039;Remove empty strings&#039;&#039;&#039;: Removes rows where the measure/dimension/column has an empty string value.&lt;br /&gt;
*** &#039;&#039;&#039;Remove outliers using normal distribution&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a value that is outside the [average] +/- X * [standard deviation]. The X is defined as an additional parameter.&lt;br /&gt;
*** &#039;&#039;&#039;Remove insignificant values from start and end&#039;&#039;&#039;: Removes rows from the beginning and end of the dataset the measure/dimension/column value is below the defined percentage of the maximum value in the dataset. This setting can be used to remove e.g. indiscernible items in a column chart.&lt;br /&gt;
*** &#039;&#039;&#039;Remove values lower than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is lower than the defined limit. Requires numerical column.&lt;br /&gt;
*** &#039;&#039;&#039;Remove values greater than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is greater than the defined limit. Requires numerical column.&lt;br /&gt;
*** &#039;&#039;&#039;Remove dates older than (days)&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is earlier than the defined number of days. Requires a date type of column.&lt;br /&gt;
*** &#039;&#039;&#039;Remove dates older than (months)&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is earlier than the defined number of months. Requires a date type of column.&lt;br /&gt;
*** &#039;&#039;&#039;Remove dates that are in future&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is in future when comparing to the current time.&lt;br /&gt;
*** &#039;&#039;&#039;Remove repeating values&#039;&#039;&#039;: Removes rows where the measure/dimension/column value occurs the second or more time. i.e. only the first occurrence is preserved. Note that the order of data is relevant.&lt;br /&gt;
*** &#039;&#039;&#039;Remove values repeating more than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value occurs more than the defined times. Note that the order of data is relevant.&lt;br /&gt;
*** &#039;&#039;&#039;Fill gaps in dimensioning&#039;&#039;&#039;: Rows rows to the data to fill &amp;quot;missing&amp;quot; values. When the data is numerical, all the missing integer values between the minimum and maximum values are created. When the data is dates, all months start timestamps are created between the minimum and maximum.&lt;br /&gt;
*** &#039;&#039;&#039;Show cumulative values&#039;&#039;&#039;: Calculates sum of values for the measure/dimension/column from the beginning until that data point.&lt;br /&gt;
*** &#039;&#039;&#039;Show change from previous&#039;&#039;&#039;: Calculates difference to the previous value. The first value shows zero.&lt;br /&gt;
*** &#039;&#039;&#039;Show percentual change from previous&#039;&#039;&#039;: Calculates a percentual change to the previous value. The shown unit changes to percentage. The first value shows zero.&lt;br /&gt;
*** &#039;&#039;&#039;Smooth using moving average&#039;&#039;&#039;: Calculates all measure/dimension/column values as an average of the nearest values. The additional parameter is the number of steps to go back and forth to take into account.&lt;br /&gt;
*** &#039;&#039;&#039;Calculate moving sum&#039;&#039;&#039;: Calculates sum for each measure/dimension/column values. Goes back number of steps defined by the additional parameter.&lt;br /&gt;
*** &#039;&#039;&#039;Add by&#039;&#039;&#039;: Adds the specified number to all the measure/dimension/column values.&lt;br /&gt;
*** &#039;&#039;&#039;Multiply by&#039;&#039;&#039;: Multiplies all measure/dimension/column values by the specified number.&lt;br /&gt;
*** &#039;&#039;&#039;Divide by&#039;&#039;&#039;: Divides all measure/dimension/column values by the specified number.&lt;br /&gt;
*** &#039;&#039;&#039;Sort by this column&#039;&#039;&#039;: Sorts the data ascending by this measure/dimension/column.&lt;br /&gt;
*** (not available in UI) &#039;&#039;&#039;replaceNullValues&#039;&#039;&#039;, &#039;&#039;&#039;replaceEmptyStrings&#039;&#039;&#039;, &#039;&#039;&#039;replaceTrueValues&#039;&#039;&#039;, &#039;&#039;&#039;replaceFalseValues&#039;&#039;&#039;: Replaces the respective data value (null, empty string (string), true value (boolean), false value(boolean) ) with any other value defined using the &#039;&#039;referenceValue&#039;&#039; parameter.&lt;br /&gt;
** &#039;&#039;&#039;Reference value for statistical calculations&#039;&#039;&#039;: The reference numerical value that is used in some of the statistical calculations.&lt;br /&gt;
** &#039;&#039;&#039;[[QPR_ProcessAnalyzer_Table#Conditional_Formatting|Table conditional formatting]]&#039;&#039;&#039;: Background color or text color based on data.&lt;br /&gt;
** &#039;&#039;&#039;Custom aggregation expression&#039;&#039;&#039;: Define a custom aggregation expression to be used instead of the default aggregation expression. The aggregation expression calculates an aggregate value for the excluded rows that exceed the maximum value when &#039;&#039;Group Rows Exceeding Maximum&#039;&#039; is in use.&lt;br /&gt;
&lt;br /&gt;
Also following settings are available (there is no UI, so these settings need to be defined for &#039;&#039;Chart Settings&#039;&#039;):&lt;br /&gt;
* &#039;&#039;&#039;Color mappings (colorMappings)&#039;&#039;&#039;: Maps measure/dimension/column values to colors, so that selected values are always visualized with selected colors. Other values will get colors based on the chart&#039;s color palette. Color mappings defined to a measure/dimension/column that is mapped to X-axis or to series, takes effects in charts. There is no UI for this setting, so it needs to be defined directly to the dimension definition in the chart settings. Example: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;colorMappings&amp;quot;: {&lt;br /&gt;
  &amp;quot;Robert Miller&amp;quot;: &amp;quot;#68DD8F&amp;quot;,&lt;br /&gt;
  &amp;quot;Patricia White&amp;quot;: &amp;quot;#ef5254&amp;quot;,&lt;br /&gt;
  &amp;quot;Mary Wilson&amp;quot;: &amp;quot;#b9bdc1&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Show in datalabels (showInDatalabels)&#039;&#039;&#039;: Defines whether the measure/dimension/column is shown in a chart data label (true/false). If any measure/dimension/column has showInDatalabels set to true, the default data labels are overridden by this setting to show only the defined ones. There is no UI for this setting, so it needs to be defined directly to the measure/dimension/column definition in the chart settings.&lt;br /&gt;
* &#039;&#039;&#039;Top items (topItems)&#039;&#039;&#039;: Shows only the defined number of dimension values which have the largest volumes (e.g. number of cases or events depending on what&#039;s analyzed). Data with the remaining values are now shown. If using only one dimension, the &#039;&#039;Maximum rows&#039;&#039; settings provides the same result, but the Maximum rows usually doesn&#039;t work in a desired way when there are multiple dimensions - the top items setting is for that purpose. The top items settings is not available for measures. There is no UI for this setting, so it needs to be defined directly to the dimension/column definition in the chart settings.&lt;br /&gt;
&lt;br /&gt;
== Layout Settings ==&lt;br /&gt;
* &#039;&#039;&#039;Background color&#039;&#039;&#039;: Background color of the chart area.&lt;br /&gt;
* &#039;&#039;&#039;Border color&#039;&#039;&#039;: Border color of the chart.&lt;br /&gt;
* &#039;&#039;&#039;Border width&#039;&#039;&#039;: Border width of the chart in pixels. When the width is zero, border is not visible.&lt;br /&gt;
* &#039;&#039;&#039;Border corner roundness&#039;&#039;&#039;: Border corner roundness in pixels. Zero means sharp corners.&lt;br /&gt;
* &#039;&#039;&#039;Color palette&#039;&#039;&#039;: Colors for chart series come from the color palette. When in the static series mode, colors for each y-axis can be overriden in the chart settings.&lt;br /&gt;
&lt;br /&gt;
== Filtering Settings ==&lt;br /&gt;
[[File:Chartsettingsfilter.png|right|300px]]&lt;br /&gt;
&lt;br /&gt;
In QPR ProcessAnalyzer, filters can be applied on two levels:&lt;br /&gt;
* 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.&lt;br /&gt;
* Individual 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 chart. The filter rule is moved as a chart filter.&lt;br /&gt;
&lt;br /&gt;
Chart filters and behavior for the chart filtering is defined in the Filter tab having the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Chart Follows Dashboard Filters&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Create Filters from Chart&#039;&#039;&#039;: When checked, filters can be created based on selected items in the chart. When unchecked, no filters are created when clicking the chart.&lt;br /&gt;
* &#039;&#039;&#039;Update Filter During Selection&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;On-screen Settings Follow Flow Selection&#039;&#039;&#039;: When checked, selecting flows (e.g. in the flowchart) changes accordingly the start and end event types that are as on-screen settings. Note that the start and end event types need to be as on-screen settings, for the automatic fill in to work. When unchecked, the automatic fill in is disabled.&lt;br /&gt;
* &#039;&#039;&#039;Chart Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Find Root Causes&#039;&#039;&#039;: Rules that are used by the root causes analyses, which are finding root causes for the phenomena pointed by those rules.&lt;br /&gt;
&lt;br /&gt;
Note that in addition to the process mining filters, objects can be filtered in the chart using the expression language. For that there are many ready-made selections. The process mining filters should be used when when the process mining model should be kept in a consistent state, e.g. filtering event types recalculates variations. Certain kind of filtering is not possible through the process mining filters, and then expression based filtering should be used, e.g. filter events based on event attributes or filtering flow objects.&lt;br /&gt;
&lt;br /&gt;
== Advanced Settings ==&lt;br /&gt;
[[File:Chartsettingsadvancedsettings.png|right|300px]]&lt;br /&gt;
* &#039;&#039;&#039;Chart settings (editable)&#039;&#039;&#039;: All settings in a chart are stored in a single entity that are shown here. The settings can also be edited directly. There are validations in place, so invalid settings are not accepted. You can copy chart settings and use them in another chart as follows: Select all JSON and copy it to a clipboard. Go to another chart, paste the settings to the same chart settings textbox and click Save.&lt;br /&gt;
* &#039;&#039;&#039;[[#Linked settings|Linked settings]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[#Variable mappings|Variable mappings]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[#Benchmark performance|Benchmark performance]]&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Show in Query Designer&#039;&#039;&#039;: For testing and development purposes, clicking this button starts editing the current expression in the [[QPR_ProcessAnalyzer_Features_Overview#Query_Designer|Query Designer]] view.&lt;br /&gt;
* &#039;&#039;&#039;Visible Case Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Types&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Update Chart When Changing Settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Enable Caching&#039;&#039;&#039;: Enable or disable chart data caching both in the client and server side. Caching improved performance as in the second time, data can be quickly retrieved from the cache. Some reports benefit of disabled caching so that the up-to-date data is always retrieved.&lt;br /&gt;
* &#039;&#039;&#039;Show Tabs&#039;&#039;&#039;: Shows tabs above the chart to quickly change charts. Tabs are showing the most common presets. When tabs are shown, the chart title is not shown (titles are still shown for tables).&lt;br /&gt;
* &#039;&#039;&#039;Query&#039;&#039;&#039;: This option shows the entire query that is sent to the server for calculation. The query contains the &#039;&#039;expression&#039;&#039; (the previous option), and in addition other information, such as the model id, filter and comparison.&lt;br /&gt;
* &#039;&#039;&#039;Root expression&#039;&#039;&#039;: Shows the root expression in a multi-line format. The root expression is also visible in the &#039;&#039;expression&#039;&#039; but there it&#039;s encoded to a single line.&lt;br /&gt;
* &#039;&#039;&#039;Component settings (without data)&#039;&#039;&#039;: Chart uses Highcharts library to draw charts and Syncfusion library to draw tables and pivots. With this options you can see the actual configuration that is used by the visualization component. The visualized data is part of the configuration, but it&#039;s removed.&lt;br /&gt;
* &#039;&#039;&#039;Component settings (with data)&#039;&#039;&#039;: This is similar option as the previous, except the visualized data is also included.&lt;br /&gt;
* &#039;&#039;&#039;Chart filter&#039;&#039;&#039;: Shows the chart filter in a JSON format. This only contains the chart filter (not the stored or dashboard [[Filtering_in_QPR_ProcessAnalyzer|filter]]). Syntax for the filter JSON is described in [[Filtering_in_QPR_ProcessAnalyzer_Queries|Filtering Queries]].&lt;br /&gt;
* &#039;&#039;&#039;Chart comparison&#039;&#039;&#039;: Similar to the Chart filter, except showing the currently selected comparison.&lt;br /&gt;
&lt;br /&gt;
== On-screen Settings ==&lt;br /&gt;
Measure, dimension, column and analyzed objects parameters can be defined as on-screen settings, i.e. the settings are visible above the chart in the dashboard for quick access. On-screen settings are defined as a JSON array, where each item is an object with following properties:&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039;: Either &#039;&#039;measure&#039;&#039;, &#039;&#039;dimension&#039;&#039; or &#039;&#039;root&#039;&#039;. If slicing into dimensions is disabled, columns correspond to dimensions. &lt;br /&gt;
* &#039;&#039;&#039;index&#039;&#039;&#039;: Index of the measure, dimension or column starting from zero.&lt;br /&gt;
* &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the parameter.&lt;br /&gt;
* &#039;&#039;&#039;label&#039;&#039;&#039;: Custom label for the setting.&lt;br /&gt;
* &#039;&#039;&#039;maxWidth&#039;&#039;&#039;: Maximum width of the shown setting in pixels.&lt;br /&gt;
* &#039;&#039;&#039;newLine&#039;&#039;&#039;: Defines whether the setting is positioned to a new line for more spacing between settings.&lt;br /&gt;
* &#039;&#039;&#039;control&#039;&#039;&#039;: UI control type which is one of the following: singleselectlist, dynamicsingleselectlist, multiselectlist, singlelinetext, multilinetext, numericfield, datefield, datetimefield, checkbox, bpmneditor or colorpicker.&lt;br /&gt;
* &#039;&#039;&#039;mandatory&#039;&#039;&#039;: Defined that the UI control is mandatory, i.e. the chart is not drawn until a value has been specified.&lt;br /&gt;
* &#039;&#039;&#039;defaultValue&#039;&#039;&#039;: Default value used when the chart is opened. Note that when a UI control is mandatory and there is not default value, the chart is not drawn until a value has been specified.&lt;br /&gt;
* &#039;&#039;&#039;minValue&#039;&#039;&#039;: For &#039;&#039;numericfield&#039;&#039;, specified the minimum allowed numerical value.&lt;br /&gt;
* &#039;&#039;&#039;maxValue&#039;&#039;&#039;: For &#039;&#039;numericfield&#039;&#039;, specified the maximum allowed numerical value.&lt;br /&gt;
* &#039;&#039;&#039;allowDecimals&#039;&#039;&#039;: For &#039;&#039;numericfield&#039;&#039;, specified whether decimal numbers can be specified (or only integer numbers).&lt;br /&gt;
* &#039;&#039;&#039;escape&#039;&#039;&#039;: Defines whether the value is escaped for string literals (&amp;quot; -&amp;gt; \&amp;quot; and \ -&amp;gt; \\). Escaping is needed when the value is used in an expression in a string literal.&lt;br /&gt;
* &#039;&#039;&#039;trueValue&#039;&#039;&#039; For &#039;&#039;checkbox&#039;&#039;, defines the value to be used when the checkbox is checked.&lt;br /&gt;
* &#039;&#039;&#039;falseValue&#039;&#039;&#039;: For &#039;&#039;checkbox&#039;&#039;, defines the value to be used when the checkbox is unchecked.&lt;br /&gt;
* &#039;&#039;&#039;updateImmediately&#039;&#039;&#039;: For &#039;&#039;numericfield&#039;&#039; and &#039;&#039;singlelinetext&#039;&#039;, specified whether the chart is updated with each change of the input box value. When disabled, the value updated only when cursor leaves the input box.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
[[File:Onscreensettingsexample.png|center|850px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;,&lt;br /&gt;
    &amp;quot;maxWidth&amp;quot;: 500&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Time&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Variable mappings ==&lt;br /&gt;
Setting are for binding [[Dashboard_Variables|dashboard variables]] to chart settings, meaning that chart settings are changed when variables are changed. It&#039;s possible for example to add a drop-down list component, bind the list to a dashboard variable, and then bind the variable to settings in several charts. When using dashboard variables, the used variables need to be defined in the &#039;&#039;Dashboard Properties&#039;&#039; dialog in the &#039;&#039;Variables&#039;&#039; tab, so that the initial values of the variables are stored to the dashboard. Note that dashboard variables can be used in custom expressions using tags without specifying them in the variable mappings. Variable mappings are configured as an array of mappings where each item is an object with the following properties:&lt;br /&gt;
* &#039;&#039;&#039;variable&#039;&#039;&#039;: Name of the bound dashboard variable.&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of chart setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039; (for the &#039;&#039;Analyze&#039;&#039; list parameters), &#039;&#039;&#039;generic&#039;&#039;&#039; (all other settings in chart), &#039;&#039;&#039;filter&#039;&#039;&#039; (to map to chart filter).&lt;br /&gt;
* &#039;&#039;&#039;index&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is a &#039;&#039;measure&#039;&#039; or &#039;&#039;dimension&#039;&#039;, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
* &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the chart setting or parameter to bind to.&lt;br /&gt;
* &#039;&#039;&#039;filterType&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039;, define the filter type as &#039;&#039;&#039;IncludeCases&#039;&#039;&#039;, &#039;&#039;&#039;ExcludeCases&#039;&#039;&#039;, &#039;&#039;&#039;IncludeEventTypes&#039;&#039;&#039; or &#039;&#039;&#039;ExcludeEventTypes&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;ruleType&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039;, define the rule type as one of the following: &#039;&#039;&#039;CaseAttributeValue&#039;&#039;&#039;, &#039;&#039;&#039;EventAttributeValue&#039;&#039;&#039;, &#039;&#039;&#039;EventType&#039;&#039;&#039; or &#039;&#039;&#039;Case&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;attribute&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039; and &#039;&#039;ruleType&#039;&#039; is &#039;&#039;CaseAttributeValue&#039;&#039; or &#039;&#039;EventAttributeValue&#039;&#039;, define the case/event attribute name.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;CaseAttributeVariable&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;EventTypes&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
    &amp;quot;filterType&amp;quot;: &amp;quot;IncludeEventTypes&amp;quot;,&lt;br /&gt;
    &amp;quot;ruleType&amp;quot;: &amp;quot;EventType&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linked settings ==&lt;br /&gt;
Settings are for linking settings or parameters within a single chart. When configured, the linked settings are kept in synchronization, i.e. when any of the settings is changed, other linked settings are also changed. Linked settings are configured as an array of &#039;&#039;setting groups&#039;&#039; which are array of objects. Each object points to an individual setting using the following properties:&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of chart setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039;, &#039;&#039;&#039;generic&#039;&#039;&#039;, &#039;&#039;&#039;tag&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
* &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the chart setting or parameter.&lt;br /&gt;
* &#039;&#039;&#039;tagName&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;tag&#039;&#039;, defined the linked tag name. The tag can be used in custom expression similar to variables.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
[[File:Linkedsettings.png|center|500px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 0,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;Start event&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 1,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;Start event&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	],&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 0,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;End event&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 1,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;End event&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	],&lt;br /&gt;
	[&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 0,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;Time unit&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
			&amp;quot;index&amp;quot;: 1,&lt;br /&gt;
			&amp;quot;parameter&amp;quot;: &amp;quot;Time unit&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Benchmark performance ==&lt;br /&gt;
Clicking the &#039;&#039;&#039;Benchmark performance&#039;&#039;&#039; buttons starts a performance benchmark run for the chart, which measures the time taken for the server to calculate and return the required data for the chart. Benchmarking is useful when for example creating custom expressions and finding the most optimal way of writing them. The benchmark runs the calculation multiple times to reduce effect of random variation in the measurement. When the benchmark run is completed, the following information is shown:&lt;br /&gt;
* Benchmark result (shown as bolded) (calculated as a median time of the individual measurements)&lt;br /&gt;
* Variation in the benchmark measurement (calculated as a standard deviation of the individual measurements divided by the benchmark result)&lt;br /&gt;
* Difference to the previous benchmark result&lt;br /&gt;
* List of all individual measurements (abandoned are greyed out)&lt;br /&gt;
&lt;br /&gt;
The highest individual measurements (approximately 40%) are abandoned from the calculation and shown as greyed out, because the highest measurements are usually result of the random variation.&lt;br /&gt;
&lt;br /&gt;
The history of benchmark runs done for the chart are preserved until the dashboard is closed.&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_KPI_Card&amp;diff=18275</id>
		<title>QPR ProcessAnalyzer KPI Card</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_KPI_Card&amp;diff=18275"/>
		<updated>2021-05-27T07:42:15Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;KPI Card shows a single measure value. In addition to the value, the measure label is shown. Measure value color, title color and background color can be changed. Optionally, the measure can be visualized with an icon shown left side of the measure. The icon type and color can be customized.&lt;br /&gt;
&lt;br /&gt;
== KPI Card Functionalities ==&lt;br /&gt;
The KPI card has the following functionalities:&lt;br /&gt;
* KPI is able present a single measure value (which is set in the first measure).&lt;br /&gt;
* Color of the icon can be set either using the [[#Set Icon Color Using Second Measure|second measure]] or with the [[#Conditional Formatting|conditional formatting]] (if both are defined, the second measure is used).&lt;br /&gt;
* Color of the shown measure value can be changed using the measure color (in the measure&#039;s &#039;&#039;Advanced Settings&#039;&#039;).&lt;br /&gt;
* Conditional formatting allow to determine measure value color, title color, background color and the icon color (for more information, see [[#Conditional Formatting|Conditional Formatting]]).&lt;br /&gt;
* Appearance of the shown value can be changed in the first measure settings, using settings &#039;&#039;Round to decimals&#039;&#039;, &#039;&#039;Measure unit&#039;&#039;, &#039;&#039;Data type&#039;&#039; and &#039;&#039;Date format&#039;&#039;.&lt;br /&gt;
* Title of the measure can be changed either by specifying a custom measure label in the measure advanced settings or use the title field in the &#039;&#039;General&#039;&#039; tab.&lt;br /&gt;
* It&#039;s possible to define a dimension, which will show measure values for all those dimension values as a list.&lt;br /&gt;
&lt;br /&gt;
== Set Icon Color Using Second Measure ==&lt;br /&gt;
Icon Color can be set either using the seconds measure or the [[#Conditional Formatting|conditional formatting]]. To use the second measure, follow these steps:&lt;br /&gt;
# Select the KPI Card as a visualization.&lt;br /&gt;
# Define your KPI as the first measure.&lt;br /&gt;
# In the &#039;&#039;&#039;Advanced settings&#039;&#039;&#039; of the first measure, set text &#039;&#039;measure1&#039;&#039; to the &#039;&#039;&#039;Variable name&#039;&#039;&#039; field.&lt;br /&gt;
# Select &#039;&#039;&#039;Data point colors&#039;&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as a colored icon next to the KPI value.&lt;br /&gt;
&lt;br /&gt;
== Conditional Formatting==&lt;br /&gt;
The following conditional formatting are available:&lt;br /&gt;
* &#039;&#039;&#039;icon&#039;&#039;&#039;: Icon type that is shown left of the measure value. Configured similarly than in [[QPR_ProcessAnalyzer_Table#Conditional_Formatting|table conditional formatting]]. If only icon color is defined, the default square icon is used.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the icon. Configured similarly than in [[QPR_ProcessAnalyzer_Table#Conditional_Formatting|table conditional formatting]]. The icon color can also be set using the second measure (for more information, see [[#Visualize KPI Targets with Colors|Visualize KPI Targets with Colors]]).&lt;br /&gt;
* &#039;&#039;&#039;textColor&#039;&#039;&#039;: Text color of the KPI Card. By default #0f2975 (dark blue). Configured similarly than in [[QPR_ProcessAnalyzer_Table#Conditional_Formatting|table conditional formatting]].&lt;br /&gt;
* &#039;&#039;&#039;backgroundColor&#039;&#039;&#039;: Background color of the KPI Card. Configured similarly than in [[QPR_ProcessAnalyzer_Table#Conditional_Formatting|table conditional formatting]].&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039;: Settings related to the measure title (label). Currently, only the title color can be changed.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the measure title (label). By default #4f5765 (grey).&lt;br /&gt;
&lt;br /&gt;
It&#039;s also possible to define a dimension for the KPI Card, which shows a list of measure values for each dimension.&lt;br /&gt;
&lt;br /&gt;
=== Conditional Formatting Examples ===&lt;br /&gt;
&lt;br /&gt;
Measure text color:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;textColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Title color:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;title&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Icon and its color:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;icon&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 2 },&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
				&amp;quot;icon&amp;quot;: &amp;quot;arrow_upward&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;icon&amp;quot;: &amp;quot;arrow_downward&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		&amp;quot;color&amp;quot;: &amp;quot;#069cf0&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Graph_Charts&amp;diff=18274</id>
		<title>QPR ProcessAnalyzer Graph Charts</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Graph_Charts&amp;diff=18274"/>
		<updated>2021-05-27T07:41:22Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Graphs are general term for column, bar, line, area, etc. charts.&lt;br /&gt;
&lt;br /&gt;
== Graph Colors ==&lt;br /&gt;
In graphs, colors can be defined for &#039;&#039;&#039;series&#039;&#039;&#039; (i.e. all data points of the series) and individual &#039;&#039;&#039;data points&#039;&#039;&#039;. Data point colors will have priority over the series colors.&lt;br /&gt;
&lt;br /&gt;
Series colors can be defined using the following settings:&lt;br /&gt;
* By default, series colors come from a &#039;&#039;&#039;default color palette&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Custom color palette&#039;&#039;&#039; can be defined overriding the default color palette.&lt;br /&gt;
* Series color can be set for individual measures/dimensions in the measure/dimension settings (overriding the palette color).&lt;br /&gt;
&lt;br /&gt;
If defined, the data point colors override series color for individual data points. Data point colors can be defined using following rules:&lt;br /&gt;
* For entire graph, data point colors can be defined using a measure/dimension that is mapped to a &#039;&#039;&#039;data point color&#039;&#039;&#039; (available in the measure/dimension settings).&lt;br /&gt;
* For individual series, &#039;&#039;&#039;[[QPR_ProcessAnalyzer_Chart#Measure.2C_Dimension_and_Column_Settings|color mappings]]&#039;&#039;&#039; can be used to define a specific color to specific measure/dimension value. This will override the previous one.&lt;br /&gt;
* For individual series, &#039;&#039;&#039;[[#Conditional_Formatting|conditional formatting]]&#039;&#039;&#039; can be used to define rules for data point colors (in the measure/dimension settings). This will override the previous ones.&lt;br /&gt;
&lt;br /&gt;
=== Usecase: Visualize KPI Targets with Colors===&lt;br /&gt;
When visualizing KPI&#039;s, it&#039;s essential show how the measure is performing comparing to targets. Targets can be visualized e.g. in charts (see more below) and in the KPI Card ([[QPR_ProcessAnalyzer_KPI_Card#Visualize_KPI_Targets_with_Colors|see how to]]).&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the charts as follows:&lt;br /&gt;
# Select e.g. the &#039;&#039;Column Chart&#039;&#039; as a visualization. (Colors can be visualized also with other chart types.)&lt;br /&gt;
# Select your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
# For the Data point colors measure, select &#039;&#039;Mapping in Chart&#039;&#039; is &#039;&#039;Data point color&#039;&#039; in the measure settings.&lt;br /&gt;
# When using charts, usually a dimension is selected as well.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as colored columns.&lt;br /&gt;
&lt;br /&gt;
== Conditional Formatting ==&lt;br /&gt;
&lt;br /&gt;
Conditional formatting can be used to define colors for each data point (i.e. color for column, bar, circle etc. depending on chart type). The conditional formatting is defined in the settings of the measure/dimension that is mapped to the y-axis.&lt;br /&gt;
&lt;br /&gt;
Conditional formatting example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;color&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;,&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See more examples from the [[QPR_ProcessAnalyzer_Table#Conditional_Formatting|table conditional formatting]] how to define conditional formatting for graphs. Note that graphs only support the &#039;&#039;&#039;color&#039;&#039;&#039; property in the top level in the JSON.&lt;br /&gt;
&lt;br /&gt;
==Customization Examples==&lt;br /&gt;
Example for hiding legend.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;legend&amp;quot;: {&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum and maximum value for the first (left side) Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum and maximum value for the second (right side) Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {},&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for two Y-axes (left and right side).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    },&lt;br /&gt;
        {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 10000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum and maximum value for the second (right side) Y-axis without forcing a maximum value on the first (left side) Y-axis and giving custom titles for the two Y-axes.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;title&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;Left Y-axis&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100,&lt;br /&gt;
      &amp;quot;title&amp;quot;: {&lt;br /&gt;
        &amp;quot;text&amp;quot;: &amp;quot;Right Y-axis&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for hiding the second Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
 &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;visible&amp;quot;: true&lt;br /&gt;
   },&lt;br /&gt;
   {&lt;br /&gt;
     &amp;quot;visible&amp;quot;: false&lt;br /&gt;
   }&lt;br /&gt;
 ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the X-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;xAxis&amp;quot;: {&lt;br /&gt;
    &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;max&amp;quot;: 10&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for reversing order for the Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;reversed&amp;quot;: true&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=18273</id>
		<title>QPR ProcessAnalyzer Table</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=18273"/>
		<updated>2021-05-27T07:40:27Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table conditional formatting can be used to define table cell background colors, text colors, colored icons and databar, where all depend on the data in the table.&lt;br /&gt;
&lt;br /&gt;
== Table functionalities ==&lt;br /&gt;
Table has the following functionalities:&lt;br /&gt;
* Table shows rows in queried data as the table rows and dimensions/measures/columns as the table columns (in the order as they are defined and dimensions left of measures).&lt;br /&gt;
* If there are dimensions/columns where corresponding filters can be created, clicking rows/cells creates the filter.&lt;br /&gt;
* When there is maximum of one dimension/column defined, the table has row selection mode in use. When there are more than one dimension/column, cell selection mode is in use.&lt;br /&gt;
* By default, there is the multi-selection in use (i.e. clicking keeps the previous selections). Single-selection can be applied with Ctrl key pressed. Range selection within a column can be used with Shift key.&lt;br /&gt;
* Table rows can be sorted ascending or descending by columns. Multi-column sorting works with Ctrl key pressed.&lt;br /&gt;
* Table columns can be reordered by dragging them from the header.&lt;br /&gt;
* Table columns can be resized from the handle right side of the column header. The new widths are stored permanently to chart settings when the dashboard is saved.&lt;br /&gt;
* Table can be filtered using the Excel-style column filtering. Corresponding model filter is created like when clicking rows/cells.&lt;br /&gt;
* The table has an optional title above the table.&lt;br /&gt;
* Table can be exported as Excel file and CSV file. Precise values of numbers and dates will go to the Excel file.&lt;br /&gt;
* If there are more than 200 rows in the table, paging is enabled and footer for controlling paging is visible. The footer also has an option to change the number of rows per page.&lt;br /&gt;
* Table supports the [[QPR_ProcessAnalyzer_Chart#Measure.2C_Dimension_and_Column_Settings|Custom Layout]] settings (options supported by Syncfusion) overriding the default settings set by the chart.&lt;br /&gt;
* Columns can be hidden using the [[QPR_ProcessAnalyzer_Chart#Measure.2C_Dimension_and_Column_Settings|Hidden]] checkbox in the measure/dimension/column settings.&lt;br /&gt;
* Text in a table cell can be set to be a [[QPR_ProcessAnalyzer_Chart#Measure.2C_Dimension_and_Column_Settings|web link]] to an external site (that opens to a new tab). The text will be the clickable link and clicking outside the text still makes model filter like without the web link.&lt;br /&gt;
&lt;br /&gt;
==Conditional formatting==&lt;br /&gt;
Conditional formatting is defined in the measure/dimension/column settings as a JSON object with following allowed properties:&lt;br /&gt;
* &#039;&#039;&#039;backgroundColor&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Rules are checked in the defined order and the first matching determines the color.&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: color to use when the rule matches.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value to compare against.&lt;br /&gt;
*** &#039;&#039;&#039;comparison&#039;&#039;&#039;: One of the following: &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=&lt;br /&gt;
** &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: Color that corresponds with the value.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value that corresponds with the color.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Fixed color that is used when no rules/scale is defined or there are no matching rules.&lt;br /&gt;
* &#039;&#039;&#039;textColor&#039;&#039;&#039;: Same settings can be used as in the backgroundColor.&lt;br /&gt;
* &#039;&#039;&#039;databar&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;min&#039;&#039;&#039;: Value that represents the databar minimum position (i.e. when databar is not visible).&lt;br /&gt;
** &#039;&#039;&#039;max&#039;&#039;&#039;: Value that represents the databar maximum position (i.e. databar fills the whole cell).&lt;br /&gt;
** &#039;&#039;&#039;value&#039;&#039;&#039;: Value where the databar width is based on. When not defined, the databar width is based on the data in the same cell.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the databar. Default color is #4bc3ff.&lt;br /&gt;
* &#039;&#039;&#039;icon&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Similar syntax can be used as in the color rules, except instead of &amp;quot;color&amp;quot; there is &amp;quot;icon&amp;quot; attribute to define the icon. All Google Material Icons are available: https://material.io/resources/icons/.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the icon. Default color is #333333.&lt;br /&gt;
&lt;br /&gt;
Rule value property and scale minimum and maximum can be defined:&lt;br /&gt;
* fixed value, e.g. 5&lt;br /&gt;
* aggregate of the same column data, e.g. { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* aggregate of another column data, e.g. { &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* refer to a cell value in other column in the same row, e.g. {&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
&lt;br /&gt;
Available aggregations are: min, max, sum, average, median, first, last.&lt;br /&gt;
&lt;br /&gt;
== Conditional formatting examples ==&lt;br /&gt;
Below are listed the examples used in dashboards with their respective use cases and Conditional formatting expressions. The recommended colors and their color codes are as follows:&lt;br /&gt;
&lt;br /&gt;
* Green: #68DD8F (Positively correlating KPIs)&lt;br /&gt;
* Red: #EF5254 (Negatively correlating KPIs)&lt;br /&gt;
* Blue: #4BC3FF (Case/Event counts)&lt;br /&gt;
* Dark blue: #0F55A5 (Automation)&lt;br /&gt;
* Orange: #FEA88A (Durations)&lt;br /&gt;
* Yellow: #FFD851 (Value/Cost)&lt;br /&gt;
===Traffic lights===&lt;br /&gt;
Use case: KPIs based on traffic light signaling&lt;br /&gt;
&lt;br /&gt;
[[File:Trafficlightconiditionalformatting.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;rules&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 10,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 6.5,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Green databar===&lt;br /&gt;
Use case: KPIs where 100% is a desired value, eg. On-Time Delivery&lt;br /&gt;
&lt;br /&gt;
[[File:Greendatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: 100,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Red databar===&lt;br /&gt;
Use case: KPIs where 0% is the desired value and you want to highlight the worst performers of this metric, eg. Material shortages&lt;br /&gt;
&lt;br /&gt;
[[File:Reddatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Blue databar===&lt;br /&gt;
Use cases: Case/event counts&lt;br /&gt;
&lt;br /&gt;
[[File:Bluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#4BC3FF&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Dark blue databar===&lt;br /&gt;
Use case: Automation rate and similar metrics that scale 0-100%&lt;br /&gt;
&lt;br /&gt;
[[File:Darkbluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: 100,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#7588C4&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Yellow databar===&lt;br /&gt;
Usecase: Monetary KPIs such as cost/value&lt;br /&gt;
&lt;br /&gt;
[[File:Yellowdatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Orange scale===&lt;br /&gt;
Use case: Durations&lt;br /&gt;
&lt;br /&gt;
[[File:Orangescale.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#fea88a&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FBE8E6&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Other examples===&lt;br /&gt;
Background color is based on a color scale where column minimum value zero gets color #FFFFFF and maximum value #FFD851. Color is scaled linearly between these colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;:  0,&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to previous example, except minimum and maximum values come from another column (measure number 1).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following setting defines a fixed background color for a column.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Background color code is taken from column measure 1 from the same row.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Text color is #FF0000 if value is lower than 20, otherwise #00FF00.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;textColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FF0000&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 20,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#00FF00&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creates a red-white-green color scale where the minimum value is red, the nominal value (eg. a target value) of 50 is white and maximum value is green.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: 50,&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds an icon left of the value (icon sentiment_satisfied_alt if value is over 100 and otherwise sentiment_very_dissatisfied). Also icons have different colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;icon&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;icon&amp;quot;: &amp;quot;sentiment_satisfied_alt&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		&amp;quot;icon&amp;quot;: &amp;quot;sentiment_very_dissatisfied&amp;quot;,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;rules&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;,&lt;br /&gt;
					&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
					&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=17253</id>
		<title>QPR ProcessAnalyzer Table</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=17253"/>
		<updated>2020-11-26T09:32:19Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table conditional formatting can be used to define table cell background colors, text colors, colored icons and databar, where all depend on the data in the table.&lt;br /&gt;
&lt;br /&gt;
== Table Functionalities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Conditional Formatting==&lt;br /&gt;
Conditional formatting is defined in the measure/dimension/column settings as a JSON object with following allowed properties:&lt;br /&gt;
* &#039;&#039;&#039;backgroundColor&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Rules are checked in the defined order and the first matching determines the color.&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: color to use when the rule matches.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value to compare against.&lt;br /&gt;
*** &#039;&#039;&#039;comparison&#039;&#039;&#039;: One of the following: &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=&lt;br /&gt;
** &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: Color that corresponds with the value.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value that corresponds with the color.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Fixed color that is used when no rules/scale is defined or there are no matching rules.&lt;br /&gt;
* &#039;&#039;&#039;textColor&#039;&#039;&#039;: Same settings can be used as in the backgroundColor.&lt;br /&gt;
* &#039;&#039;&#039;databar&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;min&#039;&#039;&#039;: Value that represents the databar minimum position (i.e. when databar is not visible).&lt;br /&gt;
** &#039;&#039;&#039;max&#039;&#039;&#039;: Value that represents the databar maximum position (i.e. databar fills the whole cell).&lt;br /&gt;
** &#039;&#039;&#039;value&#039;&#039;&#039;: Value where the databar width is based on. When not defined, the databar width is based on the data in the same cell.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the databar. Default color is #4bc3ff.&lt;br /&gt;
* &#039;&#039;&#039;icon&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Similar syntax can be used as in the color rules, except instead of &amp;quot;color&amp;quot; there is &amp;quot;icon&amp;quot; attribute to define the icon. All Google Material Icons are available: https://material.io/resources/icons/.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the icon. Default color is #333333.&lt;br /&gt;
&lt;br /&gt;
Rule value property and scale minimum and maximum can be defined:&lt;br /&gt;
* fixed value, e.g. 5&lt;br /&gt;
* aggregate of the same column data, e.g. { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* aggregate of another column data, e.g. { &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* refer to a cell value in other column in the same row, e.g. {&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
&lt;br /&gt;
Available aggregations are: min, max, sum, average, median, first, last.&lt;br /&gt;
&lt;br /&gt;
===Templates===&lt;br /&gt;
Below are listed the examples used in dashboards with their respective use cases and Conditional formatting expressions. The recommended colors and their color codes are as follows:&lt;br /&gt;
&lt;br /&gt;
* Green: #68DD8F (Positively correlating KPIs)&lt;br /&gt;
* Red: #EF5254 (Negatively correlating KPIs)&lt;br /&gt;
* Blue: #4BC3FF (Case/Event counts)&lt;br /&gt;
* Dark blue: #0F55A5 (Automation)&lt;br /&gt;
* Orange: #FEA88A (Durations)&lt;br /&gt;
* Yellow: #FFD851 (Value/Cost)&lt;br /&gt;
====Traffic lights====&lt;br /&gt;
Use case: KPIs based on traffic light signaling&lt;br /&gt;
&lt;br /&gt;
[[File:Trafficlightconiditionalformatting.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;rules&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 10,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 6.5,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Green databar====&lt;br /&gt;
Use case: KPIs where 100% is a desired value, eg. On-Time Delivery&lt;br /&gt;
&lt;br /&gt;
[[File:Greendatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: 100,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Red databar====&lt;br /&gt;
Use case: KPIs where 0% is the desired value and you want to highlight the worst performers of this metric, eg. Material shortages&lt;br /&gt;
&lt;br /&gt;
[[File:Reddatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Blue databar====&lt;br /&gt;
Use cases: Case/event counts&lt;br /&gt;
&lt;br /&gt;
[[File:Bluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#4BC3FF&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Dark blue databar====&lt;br /&gt;
Use case: Automation rate and similar metrics that scale 0-100%&lt;br /&gt;
&lt;br /&gt;
[[File:Darkbluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: 100,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#7588C4&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Yellow databar====&lt;br /&gt;
Usecase: Monetary KPIs such as cost/value&lt;br /&gt;
&lt;br /&gt;
[[File:Yellowdatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Orange scale====&lt;br /&gt;
Use case: Durations&lt;br /&gt;
&lt;br /&gt;
[[File:Orangescale.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#fea88a&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FBE8E6&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Other examples===&lt;br /&gt;
Background color is based on a color scale where column minimum value zero gets color #FFFFFF and maximum value #FFD851. Color is scaled linearly between these colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;:  0,&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to previous example, except minimum and maximum values come from another column (measure number 1).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following setting defines a fixed background color for a column.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Background color code is taken from column measure 1 from the same row.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Text color is #FF0000 if value is lower than 20, otherwise #00FF00.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;textColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FF0000&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 20,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#00FF00&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creates a red-white-green color scale where the minimum value is red, the nominal value (eg. a target value) of 50 is white and maximum value is green.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: 50,&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds an icon left of the value (icon sentiment_satisfied_alt if value is over 100 and otherwise sentiment_very_dissatisfied). Also icons have different colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;icon&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;icon&amp;quot;: &amp;quot;sentiment_satisfied_alt&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		&amp;quot;icon&amp;quot;: &amp;quot;sentiment_very_dissatisfied&amp;quot;,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;rules&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#36d475&amp;quot;,&lt;br /&gt;
					&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
					&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=17252</id>
		<title>QPR ProcessAnalyzer Table</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Table&amp;diff=17252"/>
		<updated>2020-11-26T09:31:36Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table conditional formatting can be used to define table cell background colors, text colors, colored icons and databar, where all depend on the data in the table.&lt;br /&gt;
&lt;br /&gt;
== Table Functionalities ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Conditional Formatting==&lt;br /&gt;
Conditional formatting is defined in the measure/dimension/column settings as a JSON object with following allowed properties:&lt;br /&gt;
* &#039;&#039;&#039;backgroundColor&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Rules are checked in the defined order and the first matching determines the color.&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: color to use when the rule matches.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value to compare against.&lt;br /&gt;
*** &#039;&#039;&#039;comparison&#039;&#039;&#039;: One of the following: &amp;lt;, &amp;gt;, &amp;lt;=, &amp;gt;=, ==, !=&lt;br /&gt;
** &#039;&#039;&#039;scale&#039;&#039;&#039;&lt;br /&gt;
*** &#039;&#039;&#039;color&#039;&#039;&#039;: Color that corresponds with the value.&lt;br /&gt;
*** &#039;&#039;&#039;value&#039;&#039;&#039;: Value that corresponds with the color.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Fixed color that is used when no rules/scale is defined or there are no matching rules.&lt;br /&gt;
* &#039;&#039;&#039;textColor&#039;&#039;&#039;: Same settings can be used as in the backgroundColor.&lt;br /&gt;
* &#039;&#039;&#039;databar&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;min&#039;&#039;&#039;: Value that represents the databar minimum position (i.e. when databar is not visible).&lt;br /&gt;
** &#039;&#039;&#039;max&#039;&#039;&#039;: Value that represents the databar maximum position (i.e. databar fills the whole cell).&lt;br /&gt;
** &#039;&#039;&#039;value&#039;&#039;&#039;: Value where the databar width is based on. When not defined, the databar width is based on the data in the same cell.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the databar. Default color is #4bc3ff.&lt;br /&gt;
* &#039;&#039;&#039;icon&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;rules&#039;&#039;&#039;: Similar syntax can be used as in the color rules, except instead of &amp;quot;color&amp;quot; there is &amp;quot;icon&amp;quot; attribute to define the icon. All Google Material Icons are available: https://material.io/resources/icons/.&lt;br /&gt;
** &#039;&#039;&#039;color&#039;&#039;&#039;: Color of the icon. Default color is #333333.&lt;br /&gt;
&lt;br /&gt;
Rule value property and scale minimum and maximum can be defined:&lt;br /&gt;
* fixed value, e.g. 5&lt;br /&gt;
* aggregate of the same column data, e.g. { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* aggregate of another column data, e.g. { &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; }&lt;br /&gt;
* refer to a cell value in other column in the same row, e.g. {&amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
&lt;br /&gt;
Available aggregations are: min, max, sum, average, median, first, last.&lt;br /&gt;
&lt;br /&gt;
===Templates===&lt;br /&gt;
Below are listed the examples used in dashboards with their respective use cases and Conditional formatting expressions. The recommended colors and their color codes are as follows:&lt;br /&gt;
&lt;br /&gt;
* Green: #68DD8F (Positively correlating KPIs)&lt;br /&gt;
* Red: #EF5254 (Negatively correlating KPIs)&lt;br /&gt;
* Blue: #4BC3FF (Case/Event counts)&lt;br /&gt;
* Dark blue: #0F55A5 (Automation)&lt;br /&gt;
* Orange: #FEA88A (Durations)&lt;br /&gt;
* Yellow: #FFD851 (Value/Cost)&lt;br /&gt;
====Traffic lights====&lt;br /&gt;
Use case: KPIs based on traffic light signaling&lt;br /&gt;
&lt;br /&gt;
[[File:Trafficlightconiditionalformatting.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;rules&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 10,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 6.5,&lt;br /&gt;
        &amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;=&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Green databar====&lt;br /&gt;
Use case: KPIs where 100% is a desired value, eg. On-Time Delivery&lt;br /&gt;
&lt;br /&gt;
[[File:Greendatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: 100,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Red databar====&lt;br /&gt;
Use case: KPIs where 0% is the desired value and you want to highlight the worst performers of this metric, eg. Material shortages&lt;br /&gt;
&lt;br /&gt;
[[File:Reddatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Blue databar====&lt;br /&gt;
Use cases: Case/event counts&lt;br /&gt;
&lt;br /&gt;
[[File:Bluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#4BC3FF&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
====Dark blue databar====&lt;br /&gt;
Use case: Automation rate and similar metrics that scale 0-100%&lt;br /&gt;
&lt;br /&gt;
[[File:Darkbluedatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#7588C4&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Yellow databar====&lt;br /&gt;
Usecase: Monetary KPIs such as cost/value&lt;br /&gt;
&lt;br /&gt;
[[File:Yellowdatabar.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;databar&amp;quot;: {&lt;br /&gt;
		&amp;quot;min&amp;quot;: 0,&lt;br /&gt;
		&amp;quot;max&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;scale&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: 0,&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Orange scale====&lt;br /&gt;
Use case: Durations&lt;br /&gt;
&lt;br /&gt;
[[File:Orangescale.png|200px]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#fea88a&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: {&amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FBE8E6&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Other examples===&lt;br /&gt;
Background color is based on a color scale where column minimum value zero gets color #FFFFFF and maximum value #FFD851. Color is scaled linearly between these colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;:  0,&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similar to previous example, except minimum and maximum values come from another column (measure number 1).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;scale&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;value&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1, &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following setting defines a fixed background color for a column.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: &amp;quot;#FFD851&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Background color code is taken from column measure 1 from the same row.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;color&amp;quot;: { &amp;quot;type&amp;quot;:&amp;quot;measure&amp;quot;, &amp;quot;index&amp;quot;: 1 }&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Text color is #FF0000 if value is lower than 20, otherwise #00FF00.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;textColor&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#FF0000&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 20,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;lt;&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;color&amp;quot;: &amp;quot;#00FF00&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Creates a red-white-green color scale where the minimum value is red, the nominal value (eg. a target value) of 50 is white and maximum value is green.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;backgroundColor&amp;quot;: {&lt;br /&gt;
    &amp;quot;scale&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;min&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: 50,&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#FFFFFF&amp;quot;&lt;br /&gt;
      },&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;value&amp;quot;: { &amp;quot;aggregate&amp;quot;: &amp;quot;max&amp;quot; },&lt;br /&gt;
        &amp;quot;color&amp;quot;: &amp;quot;#68DD8F&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adds an icon left of the value (icon sentiment_satisfied_alt if value is over 100 and otherwise sentiment_very_dissatisfied). Also icons have different colors.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;icon&amp;quot;: {&lt;br /&gt;
		&amp;quot;rules&amp;quot;: [&lt;br /&gt;
			{&lt;br /&gt;
				&amp;quot;icon&amp;quot;: &amp;quot;sentiment_satisfied_alt&amp;quot;,&lt;br /&gt;
				&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
				&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
			}&lt;br /&gt;
		],&lt;br /&gt;
		&amp;quot;icon&amp;quot;: &amp;quot;sentiment_very_dissatisfied&amp;quot;,&lt;br /&gt;
		&amp;quot;color&amp;quot;: {&lt;br /&gt;
			&amp;quot;rules&amp;quot;: [&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#36d475&amp;quot;,&lt;br /&gt;
					&amp;quot;value&amp;quot;: 100,&lt;br /&gt;
					&amp;quot;comparison&amp;quot;: &amp;quot;&amp;gt;&amp;quot;&lt;br /&gt;
				},&lt;br /&gt;
				{&lt;br /&gt;
					&amp;quot;color&amp;quot;: &amp;quot;#EF5254&amp;quot;&lt;br /&gt;
				}&lt;br /&gt;
			]&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16793</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16793"/>
		<updated>2020-09-14T14:01:47Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: /* Root causes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039; Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Header:&#039;&#039;&#039; Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
* &#039;&#039;&#039;2nd Column:&#039;&#039;&#039; Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
* &#039;&#039;&#039;3rd Column:&#039;&#039;&#039; Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
* &#039;&#039;&#039;4th Column:&#039;&#039;&#039; Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
* &#039;&#039;&#039;1st Column:&#039;&#039;&#039; Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect. In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16792</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16792"/>
		<updated>2020-09-14T14:01:38Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: /* Root causes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
&#039;&#039;&#039;For example:&#039;&#039;&#039; Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Header:&#039;&#039;&#039; Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
* &#039;&#039;&#039;2nd Column:&#039;&#039;&#039; Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
* &#039;&#039;&#039;3rd Column:&#039;&#039;&#039; Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
* &#039;&#039;&#039;4th Column:&#039;&#039;&#039; Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
* &#039;&#039;&#039;1st Column:&#039;&#039;&#039; Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect. In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16791</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16791"/>
		<updated>2020-09-14T14:01:09Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: /* Root causes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
For example: Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Header:&#039;&#039;&#039; Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
* &#039;&#039;&#039;2nd Column:&#039;&#039;&#039; Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
* &#039;&#039;&#039;3rd Column:&#039;&#039;&#039; Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
* &#039;&#039;&#039;4th Column:&#039;&#039;&#039; Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
* &#039;&#039;&#039;1st Column:&#039;&#039;&#039; Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect. In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. &#039;&#039;&#039;This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16790</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16790"/>
		<updated>2020-09-14T14:00:42Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: /* Root causes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
For example: Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Header:&#039;&#039;&#039; Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
* &#039;&#039;&#039;2nd Column:&#039;&#039;&#039; Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
* &#039;&#039;&#039;3rd Column:&#039;&#039;&#039; Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
* &#039;&#039;&#039;4th Column:&#039;&#039;&#039; Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
* &#039;&#039;&#039;1st Column:&#039;&#039;&#039; Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect. In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16789</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16789"/>
		<updated>2020-09-14T14:00:03Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
For example: Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Header:&#039;&#039;&#039; Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
* &#039;&#039;&#039;2nd Column:&#039;&#039;&#039; Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
* &#039;&#039;&#039;3rd Column:&#039;&#039;&#039; Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
* &#039;&#039;&#039;4th Column:&#039;&#039;&#039; Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
* &#039;&#039;&#039;1st Column:&#039;&#039;&#039; Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect.&lt;br /&gt;
In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16788</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16788"/>
		<updated>2020-09-14T13:59:03Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
For example: Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
Header: Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
2nd Column: Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
3rd Column: Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
&lt;br /&gt;
4th Column: Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
&lt;br /&gt;
1st Column: Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect.&lt;br /&gt;
In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_12rootcauses2.png&amp;diff=16787</id>
		<title>File:Tabs 12rootcauses2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_12rootcauses2.png&amp;diff=16787"/>
		<updated>2020-09-14T13:58:41Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16786</id>
		<title>Chart Basics</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Chart_Basics&amp;diff=16786"/>
		<updated>2020-09-14T13:56:58Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use Charts in QPR ProcessAnalyzer Process Discovery and Dashboards:&lt;br /&gt;
*Using default analysis elements in Process Discovery&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements in Process Discovery =&lt;br /&gt;
In Process Discovery you can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 7eventduration.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Standard deviation of the duration of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses.png|600px]]&lt;br /&gt;
&lt;br /&gt;
The idea of Root-cause analysis is to see whether some Subsets of data (=Case Attributes) correlate with any selected process behavior. Moreover, to provide insights where to focus business initiatives to maximize or minimize the selected process behavior.&lt;br /&gt;
For example: Order Price Change ratio is on average 17%. Is it 17% through all the case attributes such as Purchasing Country or is the Order Price Change ratio potentially 2% in Country X and 9% in Country Z. -&amp;gt; Best practices from Country X to be rolled into Country Z operations.&lt;br /&gt;
&lt;br /&gt;
Header: Average of the analyzed feature in whole data model. Used as a benchmark for all the data subsets e.g. dimensioning with all case attribute values and seeing whether there are any subsets of data which have a higher or lower average. &lt;br /&gt;
2nd Column: Subset of data: Case Attribute + Concerned Case Attribute value e.g. Case Attribute: SO: Customer Country: United Kingdom&lt;br /&gt;
3rd Column: Case count within the Subset of data (see column #2), 24 700 cases&lt;br /&gt;
&lt;br /&gt;
4th Column: Percentage of the cases having the analyzed feature in the concerned subset of data e.g. Case Attribute Value SO: Customer country: United Kingdom has 7.8% of orders having the analyzed features (Order Price Changes). Note. Clearly lower than global average 17%.&lt;br /&gt;
&lt;br /&gt;
1st Column: Because the subset of data (e.g. concerned case attribute value for example SO: Customer country: United Kingdom) has a lower or a higher percentage of cases having the concerned feature compared to global average, it is responsible for X% of the whole featured effect.&lt;br /&gt;
In other words, how many cases too many/too little there are in this Data subset compared to global average. Finally, this number of cases is divided by the total number of cases having the analyzed feature to make it a “contribution percentage”. This means that global average is now 15% lower than it would be if United Kingdom was on a global average level 17% (contracts to 7.8% what it currently has).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Feature&#039;&#039;&#039; and &#039;&#039;&#039;Value&#039;&#039;&#039;: These two columns list the case attribute and other values that are common to the cases in the cluster.&lt;br /&gt;
* &#039;&#039;&#039;Cluster Density %&#039;&#039;&#039;: Share of cases having this feature value within the cluster (i.e. the number of cases having the value shown on the row in this particular cluster divided by the number of cases in the cluster * 100).&lt;br /&gt;
* &#039;&#039;&#039;Total Density %&#039;&#039;&#039;: Share of cases having this feature value in the whole data set (i.e. the total number of cases having the value shown on the row divided by the total number of cases * 100).&lt;br /&gt;
* &#039;&#039;&#039;Contribution %&#039;&#039;&#039;: Amount of cases that can be explained to belong to this cluster because of this feature value. The scale is such that 0% means that the feature value isn&#039;t specific to this cluster and 100% means that all cases belonging to this cluster can be explained by this feature value.&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16557</id>
		<title>Process Discovery Analysis View</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16557"/>
		<updated>2020-08-27T14:35:28Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use the Process Discovery Analysis View (right side view)&lt;br /&gt;
*Using default analysis elements from the header tabs&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements from the header tabs =&lt;br /&gt;
You can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 4caseattributes.png|600px]]&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 5eventattributes.png|600px]]&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 6caseduration.png|600px]]&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs7eventduration.png|600px]]&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 8casecounts.png|600px]]&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
[[File:Tabs 9eventcounts.png|600px]]&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
[[File:Tabs 10variations.png|600px]]&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
[[File:Tabs 11flows.png|600px]]&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Duration standard deviation of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
[[File:Tabs 12rootcauses.png|600px]]&lt;br /&gt;
To be updated&lt;br /&gt;
== Clustering ==&lt;br /&gt;
[[File:Tabs 13clustering.png|600px]]To be updated&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16553</id>
		<title>Process Discovery Analysis View</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16553"/>
		<updated>2020-08-27T14:30:08Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use the Process Discovery Analysis View (right side view)&lt;br /&gt;
*Using default analysis elements from the header tabs&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements from the header tabs =&lt;br /&gt;
You can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 2events.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
&lt;br /&gt;
== Event Types ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 3eventtypes.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Duration standard deviation of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
To be updated&lt;br /&gt;
== Clustering ==&lt;br /&gt;
To be updated&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_13clustering.png&amp;diff=16551</id>
		<title>File:Tabs 13clustering.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_13clustering.png&amp;diff=16551"/>
		<updated>2020-08-27T14:28:57Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_12rootcauses.png&amp;diff=16550</id>
		<title>File:Tabs 12rootcauses.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_12rootcauses.png&amp;diff=16550"/>
		<updated>2020-08-27T14:28:50Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_11flows.png&amp;diff=16549</id>
		<title>File:Tabs 11flows.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_11flows.png&amp;diff=16549"/>
		<updated>2020-08-27T14:28:43Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_10variations.png&amp;diff=16548</id>
		<title>File:Tabs 10variations.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_10variations.png&amp;diff=16548"/>
		<updated>2020-08-27T14:28:35Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_9eventcounts.png&amp;diff=16547</id>
		<title>File:Tabs 9eventcounts.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_9eventcounts.png&amp;diff=16547"/>
		<updated>2020-08-27T14:28:26Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_8casecounts.png&amp;diff=16546</id>
		<title>File:Tabs 8casecounts.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_8casecounts.png&amp;diff=16546"/>
		<updated>2020-08-27T14:28:16Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_7eventduration.png&amp;diff=16545</id>
		<title>File:Tabs 7eventduration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_7eventduration.png&amp;diff=16545"/>
		<updated>2020-08-27T14:28:07Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_6caseduration.png&amp;diff=16544</id>
		<title>File:Tabs 6caseduration.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_6caseduration.png&amp;diff=16544"/>
		<updated>2020-08-27T14:27:59Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_5eventattributes.png&amp;diff=16543</id>
		<title>File:Tabs 5eventattributes.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_5eventattributes.png&amp;diff=16543"/>
		<updated>2020-08-27T14:27:51Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_4caseattributes.png&amp;diff=16542</id>
		<title>File:Tabs 4caseattributes.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_4caseattributes.png&amp;diff=16542"/>
		<updated>2020-08-27T14:27:32Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_3eventtypes.png&amp;diff=16541</id>
		<title>File:Tabs 3eventtypes.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_3eventtypes.png&amp;diff=16541"/>
		<updated>2020-08-27T14:27:21Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_2events.png&amp;diff=16540</id>
		<title>File:Tabs 2events.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_2events.png&amp;diff=16540"/>
		<updated>2020-08-27T14:27:13Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16539</id>
		<title>Process Discovery Analysis View</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16539"/>
		<updated>2020-08-27T14:27:05Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use the Process Discovery Analysis View (right side view)&lt;br /&gt;
*Using default analysis elements from the header tabs&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements from the header tabs =&lt;br /&gt;
You can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px]]&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
== Event Types ==&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Duration standard deviation of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
To be updated&lt;br /&gt;
== Clustering ==&lt;br /&gt;
To be updated&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16538</id>
		<title>Process Discovery Analysis View</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Process_Discovery_Analysis_View&amp;diff=16538"/>
		<updated>2020-08-27T14:25:21Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: /* Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are four ways to use the Process Discovery Analysis View (right side view)&lt;br /&gt;
*Using default analysis elements from the header tabs&lt;br /&gt;
*Using presets&lt;br /&gt;
*Creating your own ChartView analysis elements&lt;br /&gt;
*Creating custom KPIs with ExpressionLanguage&lt;br /&gt;
&lt;br /&gt;
= Default analysis elements from the header tabs =&lt;br /&gt;
You can use the default analysis elements by browsing the header tabs on top of the ChartView. You can see more options by clicking on the left and right arrows. Each type of analysis is explained below.&lt;br /&gt;
&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView1.png|450px]]&lt;br /&gt;
== Cases ==&lt;br /&gt;
&lt;br /&gt;
[[File:Tabs 1cases.png|600px|right]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Case start:&#039;&#039;&#039; Time stamp of the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case end:&#039;&#039;&#039; Time stamp of the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Case duration:&#039;&#039;&#039; End-to-end duration from the first event of the case to the last event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Latest event:&#039;&#039;&#039; Last event in the chain of events of the case.&lt;br /&gt;
*&#039;&#039;&#039;Events:&#039;&#039;&#039; Count of event occurrences in the case.&lt;br /&gt;
*&#039;&#039;&#039;Event types:&#039;&#039;&#039; Count of event types in the case.&lt;br /&gt;
&lt;br /&gt;
== Events ==&lt;br /&gt;
*&#039;&#039;&#039;Case ID:&#039;&#039;&#039; The individual identifier assigned to a case.&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Event time:&#039;&#039;&#039; Time stamp of the event.&lt;br /&gt;
*&#039;&#039;&#039;Duration from case start:&#039;&#039;&#039; Duration between the event and the first event of the case.&lt;br /&gt;
*&#039;&#039;&#039;Duration from previous event:&#039;&#039;&#039; Duration between the event and the event preceeding it.&lt;br /&gt;
*&#039;&#039;&#039;Event order number:&#039;&#039;&#039; Sequence/index number of the event within the case.&lt;br /&gt;
== Event Types ==&lt;br /&gt;
*&#039;&#039;&#039;Event type:&#039;&#039;&#039; Name of the event.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the event type.&lt;br /&gt;
*&#039;&#039;&#039;Events occured:&#039;&#039;&#039; Event count of the event type in all (filtered) cases.&lt;br /&gt;
*&#039;&#039;&#039;Incoming flows:&#039;&#039;&#039; Number of event types directly preceeding the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Outgoing flows:&#039;&#039;&#039; Number of event types directly following the event type within the selected cases.&lt;br /&gt;
*&#039;&#039;&#039;Events per case:&#039;&#039;&#039; Calculation rule: &#039;&#039;Events occurred / Cases&#039;&#039;.&lt;br /&gt;
== Case Attribute profiling ==&lt;br /&gt;
Case Attribute profiling  visualizes the break down of the case count according to Case Attribute values. You can choose different Case Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event Attribute Profiling ==&lt;br /&gt;
Event Attribute profiling visualizes the break down of the event count according to Event Attribute values. You can choose different Event Attributes to analyze by toggling the drop down menu. The Visualization defaults to bar chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case duration analysis ==&lt;br /&gt;
Case duration analysis breaks down the case count according to the duration of the cases within the (filtered) dataset. You can choose the granularity of the case durations from the dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event duration analysis ==&lt;br /&gt;
Event duration analysis breaks down the flow duration between two selected events. You can choose the analysis target by either:&lt;br /&gt;
*Selecting a flow from the flowchart.&lt;br /&gt;
*Toggling the &amp;quot;Start&amp;quot; and &amp;quot;End&amp;quot; drop down menus and selecting the desired events.&lt;br /&gt;
	&lt;br /&gt;
You can choose the granularity of the event durations from the &amp;quot;Time unit&amp;quot; dropdown menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Case counts ==&lt;br /&gt;
Case Counts analysis breaks down the Case Count based on the starting time of the (filtered) Cases in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Event counts ==&lt;br /&gt;
Event Counts analysis breaks down the Event Count based on the starting time of the (filtered) Events in the data. You can choose the granularity of the time periods from the &amp;quot;Period&amp;quot; drop down menu. The Visualization defaults to column chart which you can change from the &amp;quot;General&amp;quot; tab of the Chart Settings.&lt;br /&gt;
== Variations ==&lt;br /&gt;
Variations analysis aggregates Case Counts of identical process flows and sorts them in a descending order of Case Count. When Events in case &amp;gt; Event types in case, there is rework and/or looping in the process.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases containing the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the specific process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Events in case:&#039;&#039;&#039; Count of occurred events in the process flow variation&lt;br /&gt;
*&#039;&#039;&#039;Event types in case:&#039;&#039;&#039; Count of event types in the process flow variation&lt;br /&gt;
== Flows ==&lt;br /&gt;
Flows analysis aggregates all start event to end event flows and sorts them in a descending order of Average duration of the flows.&lt;br /&gt;
*&#039;&#039;&#039;Start:&#039;&#039;&#039; Name of the start event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;End:&#039;&#039;&#039; Name of the end event of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Average duration:&#039;&#039;&#039; Average duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Median duration:&#039;&#039;&#039; Median duration of the flow.&lt;br /&gt;
*&#039;&#039;&#039;Cases:&#039;&#039;&#039; Count of cases which contain the flow.&lt;br /&gt;
*&#039;&#039;&#039;Occurrences:&#039;&#039;&#039; Count of flow occurrences.&lt;br /&gt;
*&#039;&#039;&#039;Looping:&#039;&#039;&#039; Looping percentage (repetition per case count). Calculation rule: &#039;&#039;(Occurrences / Cases - 1) * 100&#039;&#039;.&lt;br /&gt;
*&#039;&#039;&#039;St.dev.:&#039;&#039;&#039; Duration standard deviation of the flow.&lt;br /&gt;
== Root causes ==&lt;br /&gt;
To be updated&lt;br /&gt;
== Clustering ==&lt;br /&gt;
To be updated&lt;br /&gt;
&lt;br /&gt;
= Using presets =&lt;br /&gt;
[[File:ProcessDiscoveryAnalysisView2.png|right|450px]]You can expand your selection of analyses to 50+ pre-made presets. To open the presets you need to:&lt;br /&gt;
*Click on the ChartView area&lt;br /&gt;
*Click on the cog on the top-right corner to open the Chart Settings&lt;br /&gt;
*Select you preferred analysis from the use cases in the &amp;quot;Presets&amp;quot; tab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Creating your own ChartView analysis elements =&lt;br /&gt;
To create your own customized analysis views you can toggle the values directly in Chart Settings. Most of the time you can understand &amp;quot;Dimensions&amp;quot; as the X-axis of the chart and &amp;quot;Measures&amp;quot; as the Y-axis of the chart. To get started please see [[QPR ProcessAnalyzer Chart]] or reach out to QPR staff for advice. In order to avoid any unexpected errors it is adviced to start from a blank ChartView by clicking &amp;quot;Create New&amp;quot; under the &amp;quot;Presets&amp;quot; tab.&lt;br /&gt;
= Creating custom KPIs with ExpressionLanguage =&lt;br /&gt;
For more complicated calculations which cannot be done with standard configuration options you need to use ExpressionLanguage code. ExpressionLanguage is a JSON based QPR language that is used for building KPIs in QPR ProcessAnalyzer. To get started please see [[QPR ProcessAnalyzer Expressions]] or reach out to QPR staff for advice.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=File:Tabs_1cases.png&amp;diff=16537</id>
		<title>File:Tabs 1cases.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=File:Tabs_1cases.png&amp;diff=16537"/>
		<updated>2020-08-27T14:23:43Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16076</id>
		<title>QPR ProcessAnalyzer Chart</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16076"/>
		<updated>2020-05-19T13:25:37Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ChartView allows creation of versatile and visually appealing charts with flexible KPI definitions to answer specific business needs. ChartView allows to calculate KPI&#039;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&#039;s also possible to disable slicing to show a simple list of all analyzed items.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
ChartView is available as the first item in the tool palette which can be seen when editing is started.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The basic flow of using the ChartView is the following:&lt;br /&gt;
# Choose objects to visualize, e.g. cases, events, event types or variations.&lt;br /&gt;
# Choose how to slice (or dimension) the data into parts, e.g. by attributes (regions, products), by durations or by dates (months, quarters).&lt;br /&gt;
# Choose measures/KPI&#039;s to be calculated for each dimension. Measure could be e.g. number of items, average duration, or cost.&lt;br /&gt;
# Choose the best visualization for the data, such as column charts, donut charts or tables.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ChartView is available in the navigation menu where there are ready-made views containing ChartView, such as &#039;&#039;Advanced Process Discovery&#039;&#039; and &#039;&#039;ChartView&#039;&#039;. The ready-made views are for ad-hoc analysis, and the settings cannot be saved, but they are preserved during the user session. ChartView is also available as a component when creating dashboards, where ChartView settings are saved as part of the dashboard, and thus all users see the dashboard as it was designed.&lt;br /&gt;
&lt;br /&gt;
== Data Selection Settings ==&lt;br /&gt;
When creating a chart, the first thing to decide, are which items to be analyze.&lt;br /&gt;
&lt;br /&gt;
Settings that determine which data is &lt;br /&gt;
* &#039;&#039;&#039;Analyze&#039;&#039;&#039;: 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&#039;s recommended to use chart filter if a subset of cases is needed.&lt;br /&gt;
* &#039;&#039;&#039;Slice into Dimensions&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Sorting&#039;&#039;&#039;: Data can be ordered based on data chosen to the measures/dimensions/columns. Both ascending and descending ordering is available. Sorting can also be disabled if it doesn&#039;t have any use, as sorting affects performance when there is large number of rows. Note that for charts having numerical or date X-axis, sorting doesn&#039;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. When &#039;&#039;custom&#039;&#039; is selected, a custom sorting can be defined when clicking the &#039;&#039;Advanced sorting&#039;&#039; button as an object array with the follow properties for each object (see an example below):&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: either &#039;&#039;&#039;measure&#039;&#039;&#039; or &#039;&#039;&#039;dimension&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: measure or dimension order number (starts from 0)&lt;br /&gt;
** &#039;&#039;&#039;direction&#039;&#039;&#039;: Either &#039;&#039;&#039;ascending&#039;&#039;&#039; or &#039;&#039;&#039;descending&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;ascending&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;descending&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum Rows&#039;&#039;&#039;: Number of rows returned are limited to this maximum count. This setting is useful with sorting to show only the most relevant items. In addition, in certain selections there may be a large number of rows, so the maximum should always be limited.&lt;br /&gt;
&lt;br /&gt;
== Visualization Settings ==&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: Choose how data is visualized. There are variety of charts available, and also a table, a pivot chart, and a KPI card (see more in [[#Available_Visualizations|next chapter]]. It depends on the visualization, which mappings can be selected for measures/dimensions/columns.&lt;br /&gt;
* &#039;&#039;&#039;Stacking&#039;&#039;&#039;: In charts, stacking is used to show series on top of each other, which better visualizes the sum of the measures across different series.&lt;br /&gt;
* &#039;&#039;&#039;% Stacking&#039;&#039;&#039;: In charts, percentage stacking shows the measures as percentages of the sum of the measures. The total is thus always 100%.&lt;br /&gt;
* &#039;&#039;&#039;Polar Chart&#039;&#039;&#039;: In charts, 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.&lt;br /&gt;
* &#039;&#039;&#039;Show Data Labels&#039;&#039;&#039;: When checked, numerical measure values are shown next to the data point in charts.&lt;br /&gt;
* &#039;&#039;&#039;Group Rows Exceeding Maximum&#039;&#039;&#039;: When checked and when number of rows is limited by the &#039;&#039;Maximum Rows&#039;&#039; setting, the extra rows are aggregated into the last row.&lt;br /&gt;
* &#039;&#039;&#039;Title&#039;&#039;&#039;: Custom title for a chart or table can be defined that replaces the automatically created title. When this field is empty, an automatically created title is used in charts. Note that the table does not have an automatically created title. To hide the title, a space character can be defined.&lt;br /&gt;
* &#039;&#039;&#039;Subtitle&#039;&#039;&#039;: Custom subtitle for a chart that replaces the automatically created subtitle. When this field is empty, an automatically created subtitle is used showing the chart filter (if defined). To hide the subtitle, a space character can be defined.&lt;br /&gt;
&lt;br /&gt;
== Available Visualizations ==&lt;br /&gt;
ChartView provides variety of visualization. Here are mentioned some of those:&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: The table shows the data in a similar form that it is returned from the server, and thus the table is useful when defining dimensions and measures. In the table, dimensions are first starting from the left and then there are measures. Filters can be created from the table by clicking dimensions/columns (it&#039;s not possible to create filter by clicking measures). Also when creating a column filter to the table (which only filters the data in the table), a process mining filter is automatically suggested which can be accepted or ignored. Columns widths can also be changed, and tables are able to remember the adjusted widths.&lt;br /&gt;
* &#039;&#039;&#039;Pivot Table&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;KPI Card&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Area Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Area Spline Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Column Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Error Bar Chart&#039;&#039;&#039;: These chart types use &#039;&#039;low&#039;&#039; and &#039;&#039;high&#039;&#039; mappings.&lt;br /&gt;
* &#039;&#039;&#039;Root Causes&#039;&#039;&#039;: Special visualization for the Root Causes analysis. When using this visualization, also the analyzed objects need to be &#039;&#039;Root causes&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Case Attribute Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Measures, Dimensions and Columns ==&lt;br /&gt;
When dimensioning is used (&#039;&#039;Slice into Dimensions&#039;&#039; setting checked), &#039;&#039;&#039;measures&#039;&#039;&#039; and &#039;&#039;&#039;dimensions&#039;&#039;&#039; can be chosen (in the respective tabs), and when dimensioning is not used, &#039;&#039;&#039;columns&#039;&#039;&#039; can be chosen (in the respective tab).&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Analyze&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each measure, dimension and column contain the following buttons when hovering:&lt;br /&gt;
* &#039;&#039;&#039;Measure/dimension/column detailed settings&#039;&#039;&#039;: Opens a dialog for the detailed settings that affect only to this measure/dimension/column (see the next chapter).&lt;br /&gt;
* &#039;&#039;&#039;Move down&#039;&#039;&#039;: Moves this measure/dimension/column one step down and moves the one previously below, one step up (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Move up&#039;&#039;&#039;: Moves the measure/dimension/column one step up and moves the one previously above, one step down (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Convert to custom expression&#039;&#039;&#039;: Converts the measure/dimension/column to a custom expression for advanced editing. Note that it&#039;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&#039;s useful to start with a ready-made measure/dimension/column to get an expression to further edit.&lt;br /&gt;
* &#039;&#039;&#039;Add measure/dimension/column&#039;&#039;&#039;: Moves this measures/dimensions/columns and all below it one step down to make space for a new one.&lt;br /&gt;
* &#039;&#039;&#039;Delete measure/dimension/column&#039;&#039;&#039;: Deletes this measure/dimension/column and moves all others below one step up.&lt;br /&gt;
&lt;br /&gt;
== Measure, Dimension and Column Specific Settings ==&lt;br /&gt;
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:&lt;br /&gt;
* &#039;&#039;&#039;Custom label&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: In charts, series specific visualization for this measures/dimensions/columns. Overrides the default visualization defined in the &#039;&#039;General&#039;&#039; tab.&lt;br /&gt;
* &#039;&#039;&#039;Visualization color&#039;&#039;&#039;: In charts, color for visualizing this measure/dimension/column, appearing for example as a column or line color.&lt;br /&gt;
* &#039;&#039;&#039;Rounding&#039;&#039;&#039;: Numeric values are rounded to this defined number of decimals. Note that despite the rounding, values are sorted based on the accurate values.&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Data type&#039;&#039;&#039;: Expected data type for the measure/dimension/column. The defined data type must match with the actual datatype of the calculated data to work correctly. As an exception, the &#039;&#039;text&#039;&#039; type can be used with any type of data, because all types of data can be converted into strings. Data types are very important for the visualization to work, e.g. charts require numerical data to be numbers. Data type list also contains &#039;&#039;Auto detect&#039;&#039; which analyzes the calculated data and chooses the datatype based on the most common datatype in the data. Note that the auto detect doesn&#039;t give the correct data type when there is no data available.&lt;br /&gt;
* &#039;&#039;&#039;Mapping in chart&#039;&#039;&#039;: When using the chart, defines how this measure/dimension/column is mapped in the chart, for example to Y-axis, X-axis, series etc.&lt;br /&gt;
* &#039;&#039;&#039;Date format&#039;&#039;&#039;: Date type of data is presented with this date format. &lt;br /&gt;
* &#039;&#039;&#039;Adjustment expression&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Statistical calculations&#039;&#039;&#039;: Different kind of calculations done to measure/dimension/column data. Several items from the list can be used at the same time. Some calculations require an additional parameter, that is specified in the &#039;&#039;Reference value for statistical calculations&#039;&#039; field. Available calculations are:&lt;br /&gt;
** &#039;&#039;&#039;Remove empties (nulls)&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a null value.&lt;br /&gt;
** &#039;&#039;&#039;Remove outliers using normal distribution&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a value that is outside the [average] +/- X * [standard deviation]. The X is defined as an additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Remove insignificant values from start and end&#039;&#039;&#039;: Removes rows from the beginning and end of the dataset the measure/dimension/column value is below the defined percentage of the maximum value in the dataset. This setting can be used to remove e.g. indiscernible items in a column chart.&lt;br /&gt;
** &#039;&#039;&#039;Remove values lower than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is lower than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove values greater than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is greater than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates older than (days)&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is earlier than the defined number of days. Requires a date type of column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates that are in future&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is in future when comparing to the current time.&lt;br /&gt;
** &#039;&#039;&#039;Show cumulative values&#039;&#039;&#039;: Calculates sum of values for the measure/dimension/column from the beginning until that data point.&lt;br /&gt;
** &#039;&#039;&#039;Show change from previous&#039;&#039;&#039;: Calculates difference to the previous value. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Show percentual change from previous&#039;&#039;&#039;: Calculates a percentual change to the previous value. The shown unit changes to percentage. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Smooth using moving average&#039;&#039;&#039;: Calculates all measure/dimension/column values as an average of the nearest values. The additional parameter is the number of steps to go back and forth to take into account.&lt;br /&gt;
** &#039;&#039;&#039;Calculate moving sum&#039;&#039;&#039;: Calculates sum for each measure/dimension/column values. Goes back number of steps defined by the additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Add by&#039;&#039;&#039;: Adds the specified number to all the measure/dimension/column values.&lt;br /&gt;
** &#039;&#039;&#039;Multiply by&#039;&#039;&#039;: Multiplies all measure/dimension/column values by the specified number.&lt;br /&gt;
** &#039;&#039;&#039;Divide by&#039;&#039;&#039;: Divides all measure/dimension/column values by the specified number.&lt;br /&gt;
* &#039;&#039;&#039;Reference value for statistical calculations&#039;&#039;&#039;: The reference numerical value that is used in some of the statistical calculations.&lt;br /&gt;
&lt;br /&gt;
In addtion, measures have the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Calculate measure for&#039;&#039;&#039;: Measure can be calculated for &#039;&#039;each dimension separately&#039;&#039; (the default option) which is the normal dimensioning behavior. It&#039;s also possible to ignore the dimensioning for this measure and calculate the measure for the &#039;&#039;currently filtered data&#039;&#039; (i.e. the measure is calculated for the entire dataset that the chart is based on). Furthermore, it&#039;s also possible to ignore filters and calculate the measure value for the &#039;&#039;entire model data&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Variable for other measures&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Filtering Settings ==&lt;br /&gt;
In QPR ProcessAnalyzer, filters can be applied on two levels:&lt;br /&gt;
* 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.&lt;br /&gt;
* Individual 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.&lt;br /&gt;
&lt;br /&gt;
Chart filters and behavior for the chart filtering is defined in the Filter tab having the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Chart Follows Dashboard Filters&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Create Filters from Chart&#039;&#039;&#039;: When checked, filters can be created based on selected items in the chart. When unchecked, no filters are created when clicking the chart.&lt;br /&gt;
* &#039;&#039;&#039;Update Filter During Selection&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Chart Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
Note that in addition to the process mining filters, objects can be filtered in the ChartView using the expression language. For that there are many ready-made selections. The process mining filters should be used when when the process mining model should be kept in a consistent state, e.g. filtering event types recalculates variations. Certain kind of filtering is not possible through the process mining filters, and then expression based filtering should be used, e.g. filter events based on event attributes or filtering flow objects.&lt;br /&gt;
&lt;br /&gt;
== Visualize KPI Targets with Colors==&lt;br /&gt;
When visualizing KPI&#039;s, it&#039;s essential show how the measure is performing comparing to targets. ChartView is able to visualize the targets with colors in the charts and KPI card.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the KPI card as follows:&lt;br /&gt;
# Select the &#039;&#039;KPI Card&#039;&#039; as a visualization.&lt;br /&gt;
# Define your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as a colored square next to the KPI value.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the charts as follows:&lt;br /&gt;
# Select e.g. the &#039;&#039;Column Chart&#039;&#039; as a visualization. (Colors can be visualized also with other chart types.)&lt;br /&gt;
# Select your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
# For the Data point colors measure, select &#039;&#039;Mapping in Chart&#039;&#039; is &#039;&#039;Data point color&#039;&#039; in the measure settings.&lt;br /&gt;
# When using charts, usually a dimension is selected as well.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as colored columns.&lt;br /&gt;
&lt;br /&gt;
== Advanced Settings ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Visible Case Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Types&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Update Chart When Changing Settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;On-screen Settings&#039;&#039;&#039;: 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:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: Either &#039;&#039;measure&#039;&#039;, &#039;&#039;dimension&#039;&#039; or &#039;&#039;root&#039;&#039;. If slicing into dimensions is disabled, columns correspond to dimensions. &lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: Index of the measure, dimension or column starting from zero.&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the parameter.&lt;br /&gt;
** &#039;&#039;&#039;label&#039;&#039;&#039;: Custom label for the setting.&lt;br /&gt;
** &#039;&#039;&#039;maxWidth&#039;&#039;&#039;: Maximum width of the shown setting in pixels.&lt;br /&gt;
** &#039;&#039;&#039;newLine&#039;&#039;&#039;: Defines whether the setting is positioned to a new line for more spacing between settings.&lt;br /&gt;
** &#039;&#039;&#039;control&#039;&#039;&#039;: &#039;singleselectlist&#039;, &#039;dynamicsingleselectlist&#039;, &#039;multiselectlist&#039;, &#039;singlelinetext&#039;, &#039;multilinetext&#039;, &#039;numericfield&#039;, &#039;datefield&#039;, &#039;datetimefield&#039;, &#039;checkbox&#039;, &#039;bpmneditor&#039;, &#039;colorpicker&#039;&lt;br /&gt;
** &#039;&#039;&#039;mandatory&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;escape&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;defaultValue&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;minValue&#039;&#039;&#039;:&lt;br /&gt;
** &#039;&#039;&#039;maxValue&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;,&lt;br /&gt;
    &amp;quot;maxWidth&amp;quot;: 500&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Time&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Custom Layout&#039;&#039;&#039;: Advanced settings for the chart and table can be accessed using the JSON format. Settings defined here override the default chart and table that are created by ChartView. Overriding is done for individual properties, so only the customized settings need to be mentioned.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example for hiding legend.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;legend&amp;quot;: {&lt;br /&gt;
    &amp;quot;enabled&amp;quot;: false&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the first (left side) Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for two Y-axes (left and right side).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    },&lt;br /&gt;
        {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 10000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the X-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;xAxis&amp;quot;: {&lt;br /&gt;
    &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;max&amp;quot;: 10&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Variable mappings&#039;&#039;&#039;: Setting are for binding [[Dashboard_Variables|dashboard variables]] to ChartView settings, meaning that ChartView settings are changed when variables are changed. It&#039;s possible for example to add a drop-down list component, bind the list to a dashboard variable, and then bind the variable to settings in several ChartViews. When using dashboard variables, the used variables need to be defined in the &#039;&#039;Dashboard Properties&#039;&#039; dialog in the &#039;&#039;Variables&#039;&#039; tab, so that the initial values of the variables are stored to the dashboard. Note that dashboard variables can be used in custom expressions using tags without specifying them in the variable mappings. Variable mappings are configured as an array of mappings where each item is an object with the following properties:&lt;br /&gt;
** &#039;&#039;&#039;variable&#039;&#039;&#039;: Name of the bound dashboard variable.&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039; (for the &#039;&#039;Analyze&#039;&#039; list parameters), &#039;&#039;&#039;generic&#039;&#039;&#039; (all other settings in ChartView), &#039;&#039;&#039;filter&#039;&#039;&#039; (to map to chart filter).&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is a &#039;&#039;measure&#039;&#039; or &#039;&#039;dimension&#039;&#039;, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
** &#039;&#039;&#039;filterType&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039;, define the filter type as &#039;&#039;&#039;IncludeCases&#039;&#039;&#039;, &#039;&#039;&#039;ExcludeCases&#039;&#039;&#039;, &#039;&#039;&#039;IncludeEventTypes&#039;&#039;&#039;, &#039;&#039;&#039;ExcludeEventTypes&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;ruleType&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039;, define the rule type as &#039;&#039;&#039;CaseAttributeValue&#039;&#039;&#039;, &#039;&#039;&#039;EventAttributeValue&#039;&#039;&#039;, &#039;&#039;&#039;EventType&#039;, &#039;&#039;&#039;Case&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;attribute&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;filter&#039;&#039; and &#039;&#039;ruleType&#039;&#039; is &#039;&#039;CaseAttributeValue&#039;&#039; or &#039;&#039;EventAttributeValue&#039;&#039;, define the attribute name.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;CaseAttributeVariable&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;EventTypes&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;filter&amp;quot;,&lt;br /&gt;
    &amp;quot;filterType&amp;quot;: &amp;quot;IncludeEventTypes&amp;quot;,&lt;br /&gt;
    &amp;quot;ruleType&amp;quot;: &amp;quot;EventType&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Linked settings&#039;&#039;&#039;: Settings are for linking settings or parameters within a single ChartView. When configured, the linked settings are kept in synchronization, i.e. when any of the settings is changed, other linked settings are also changed. Linked settings are configured as an array of &#039;&#039;setting groups&#039;&#039; which are array of objects. Each object points to an individual setting using the following properties:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039;, &#039;&#039;&#039;generic&#039;&#039;&#039;, &#039;&#039;&#039;tag&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
** &#039;&#039;&#039;tagName&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;tag&#039;&#039;, defined the linked tag name. The tag can be used in custom expression similar to variables.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;tagName&amp;quot;: &amp;quot;AutomationAttribute&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Go to Query Designer&#039;&#039;&#039;: For testing and development purposes, clicking this button starts editing the current expression in the Expression Designer.&lt;br /&gt;
&lt;br /&gt;
== View Technical Information ==&lt;br /&gt;
In the &#039;&#039;Advanced&#039;&#039; tab, there is a dropdown list on the bottom for showing different kind of technical information for advanced usage:.&lt;br /&gt;
* &#039;&#039;&#039;Show chart&#039;&#039;&#039;: This is the normal mode showing the chart.&lt;br /&gt;
* &#039;&#039;&#039;Show expressions&#039;&#039;&#039;: This option shows expressions that are sent to the server for calculation. Expression syntax is described in the [[QPR_ProcessAnalyzer_Expression_Analysis|Expression Analysis]].&lt;br /&gt;
* &#039;&#039;&#039;Show query&#039;&#039;&#039;: This option shows the query that are sent to the server for calculation. The query also contains the expression (the previous option), and also other information, such as the model id, filter and comparison.&lt;br /&gt;
* &#039;&#039;&#039;Show chart filter&#039;&#039;&#039;: Shows the chart filter in JSON format. This only contains the chart filter (not the dashboard filter). Syntax for the filter JSON is described in [[Filtering_in_QPR_ProcessAnalyzer_Queries|Filtering Queries]].&lt;br /&gt;
* &#039;&#039;&#039;Show dimensions/columns as calculated attributes&#039;&#039;&#039;: Shows the defined dimensions/columns as a calculated case attribute definitions. This options is useful, when you want to add the defined dimensions/columns as case attributes for a model, and you can see the correctly formatted syntax directly from here.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (with data)&#039;&#039;&#039;: This is similar option as the previous, except the data is also included.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (single line)&#039;&#039;&#039;: ChartView settings shown in a single line, which is useful if you need to store the settings directly into a [[Dashboard_Variables|dashboard variable]].&lt;br /&gt;
* &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;: All settings in a ChartView are stored as single entity that is part of the dashboard. These settings can be edited directly using this option. There are validations in place, so invalid settings are not accepted.&lt;br /&gt;
&lt;br /&gt;
== Copy Chart Settings from Another Chart ==&lt;br /&gt;
You can copy chart settings and use them in another chart as follows: Go to the &#039;&#039;&#039;Advanced&#039;&#039;&#039; tab and choose from the bottom dropdown list &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;. 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.&lt;br /&gt;
&lt;br /&gt;
== ChartView JSON Settings Format==&lt;br /&gt;
ChartView stores all its settings to a JSON format that that is described in this chapter. Normally there is no need to directly edit the ChartView JSON settings, but in certain cases it may be useful. ChartView JSON settings is also a useful way to [[#Copy_Chart_Settings_from_Another_Chart|move ChartViews between QPR ProcessAnalyzer environments]].&lt;br /&gt;
&lt;br /&gt;
ChartView JSON settings is a JSON object which contains the following settings: &lt;br /&gt;
* &#039;&#039;&#039;visualization&#039;&#039;&#039; (string): Defined the visualization setting.&lt;br /&gt;
* &#039;&#039;&#039;stacking&#039;&#039;&#039; (string): Defines the &#039;&#039;Stacking&#039;&#039; and &#039;&#039;% Stacking&#039;&#039; settings. Valid values are &#039;&#039;null&#039;&#039;, &#039;&#039;normal&#039;&#039; and &#039;&#039;percent&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;polar&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Polar Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;maxRows&#039;&#039;&#039; (integer): Defines the &#039;&#039;Maximum Rows&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;showOthers&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Group Rows Exceeding Maximum&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;datalabels&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Show Data Labels&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;useViewFilter&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableFiltering&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Create Filters from Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateFilterDuringSelection&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateVisualization&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableDimensioning&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Slice into Dimensions&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;sorting&#039;&#039;&#039;: Defines the &#039;&#039;Sorting&#039;&#039; setting. Valid values are &#039;&#039;1. measure ascending&#039;&#039;, &#039;&#039;1. measure descending&#039;&#039;, &#039;&#039;1. dimension ascending&#039;&#039;, &#039;&#039;1. dimension descending&#039;&#039;, &#039;&#039;2. dimension ascending&#039;&#039;, &#039;&#039;2. dimension descending&#039;&#039;, &#039;&#039;3. dimension ascending&#039;&#039;, &#039;&#039;3. dimension descending&#039;&#039;, &#039;&#039;none&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;visibleCaseAttributes&#039;&#039;&#039; (string array): Defines the &#039;&#039;Visible Case Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventAttributes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventTypes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Types&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;filterCaseAttribute&#039;&#039;&#039; (string): Case attribute name used for filtering.&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; (object): Custom title of charts and tables.&lt;br /&gt;
* &#039;&#039;&#039;subtitle&#039;&#039;&#039; (object): Custom title for charts.&lt;br /&gt;
* &#039;&#039;&#039;enableResultCaching&#039;&#039;&#039; (boolean): Defines whether the calculation results are cached (both in the server and browser side).&lt;br /&gt;
* &#039;&#039;&#039;forceRowSelectionModeInTable&#039;&#039;&#039; (boolean):&lt;br /&gt;
* &#039;&#039;&#039;root&#039;&#039;&#039; (string array):&lt;br /&gt;
* &#039;&#039;&#039;measures&#039;&#039;&#039; (object array): Array of measures where each measure is an object containing the measure settings. Measures have following common settings: name, context, decimals, label, unit, visualization, color, mapping, type, isVariable, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;dimensions&#039;&#039;&#039; (object array): Array of dimensions/columns where each measure is an object containing the measure settings. Dimensions have the following common settings: name, decimals, label, unit, visualization, color, mapping, type, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;tableColumnWidths&#039;&#039;&#039; (number array): Defines column widths in the table. Taken into use, when user resizes columns.&lt;br /&gt;
* &#039;&#039;&#039;componentFilter&#039;&#039;&#039; (object): Chart filter as a [[Filtering_in_QPR_ProcessAnalyzer_Queries|json object]].&lt;br /&gt;
* &#039;&#039;&#039;onscreenSettings&#039;&#039;&#039; (object array): On-screen settings as json object.&lt;br /&gt;
* &#039;&#039;&#039;customLayout&#039;&#039;&#039; (object): Json object to directly access charts and tables custom settings.&lt;br /&gt;
* &#039;&#039;&#039;preset&#039;&#039;&#039; (string): Name of the preset.&lt;br /&gt;
* &#039;&#039;&#039;version&#039;&#039;&#039; (integer): ChartView settings version.&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16009</id>
		<title>QPR ProcessAnalyzer Chart</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16009"/>
		<updated>2020-05-14T06:10:25Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ChartView allows creation of versatile and visually appealing charts with flexible KPI definitions to answer specific business needs. ChartView allows to calculate KPI&#039;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&#039;s also possible to disable slicing to show a simple list of all analyzed items.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
ChartView is available as the first item in the tool palette which can be seen when editing is started.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The basic flow of using the ChartView is the following:&lt;br /&gt;
# Choose objects to visualize, e.g. cases, events, event types or variations.&lt;br /&gt;
# Choose how to slice (or dimension) the data into parts, e.g. by attributes (regions, products), by durations or by dates (months, quarters).&lt;br /&gt;
# Choose measures/KPI&#039;s to be calculated for each dimension. Measure could be e.g. number of items, average duration, or cost.&lt;br /&gt;
# Choose the best visualization for the data, such as column charts, donut charts or tables.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ChartView is available in the navigation menu where there are ready-made views containing ChartView, such as &#039;&#039;Advanced Process Discovery&#039;&#039; and &#039;&#039;ChartView&#039;&#039;. The ready-made views are for ad-hoc analysis, and the settings cannot be saved, but they are preserved during the user session. ChartView is also available as a component when creating dashboards, where ChartView settings are saved as part of the dashboard, and thus all users see the dashboard as it was designed.&lt;br /&gt;
&lt;br /&gt;
== Data Selection Settings ==&lt;br /&gt;
When creating a chart, the first thing to decide, are which items to be analyze.&lt;br /&gt;
&lt;br /&gt;
Settings that determine which data is &lt;br /&gt;
* &#039;&#039;&#039;Analyze&#039;&#039;&#039;: 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&#039;s recommended to use chart filter if a subset of cases is needed.&lt;br /&gt;
* &#039;&#039;&#039;Slice into Dimensions&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Sorting&#039;&#039;&#039;: Data can be ordered based on data chosen to the measures/dimensions/columns. Both ascending and descending ordering is available. Sorting can also be disabled if it doesn&#039;t have any use, as sorting affects performance when there is large number of rows. Note that for charts having numerical or date X-axis, sorting doesn&#039;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. When &#039;&#039;custom&#039;&#039; is selected, a custom sorting can be defined when clicking the &#039;&#039;Advanced sorting&#039;&#039; button as an object array with the follow properties for each object (see an example below):&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: either &#039;&#039;&#039;measure&#039;&#039;&#039; or &#039;&#039;&#039;dimension&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: measure or dimension order number (starts from 0)&lt;br /&gt;
** &#039;&#039;&#039;direction&#039;&#039;&#039;: Either &#039;&#039;&#039;ascending&#039;&#039;&#039; or &#039;&#039;&#039;descending&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;ascending&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;descending&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum Rows&#039;&#039;&#039;: Number of rows returned are limited to this maximum count. This setting is useful with sorting to show only the most relevant items. In addition, in certain selections there may be a large number of rows, so the maximum should always be limited.&lt;br /&gt;
&lt;br /&gt;
== Visualization Settings ==&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: Choose how data is visualized. There are variety of charts available, and also a table, a pivot chart, and a KPI card (see more in [[#Available_Visualizations|next chapter]]. It depends on the visualization, which mappings can be selected for measures/dimensions/columns.&lt;br /&gt;
* &#039;&#039;&#039;Stacking&#039;&#039;&#039;: In charts, stacking is used to show series on top of each other, which better visualizes the sum of the measures across different series.&lt;br /&gt;
* &#039;&#039;&#039;% Stacking&#039;&#039;&#039;: In charts, percentage stacking shows the measures as percentages of the sum of the measures. The total is thus always 100%.&lt;br /&gt;
* &#039;&#039;&#039;Polar Chart&#039;&#039;&#039;: In charts, 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.&lt;br /&gt;
* &#039;&#039;&#039;Show Data Labels&#039;&#039;&#039;: When checked, numerical measure values are shown next to the data point in charts.&lt;br /&gt;
* &#039;&#039;&#039;Group Rows Exceeding Maximum&#039;&#039;&#039;: When checked and when number of rows is limited by the &#039;&#039;Maximum Rows&#039;&#039; setting, the extra rows are aggregated into the last row.&lt;br /&gt;
* &#039;&#039;&#039;Title&#039;&#039;&#039;: Custom title for a chart or table can be defined that replaces the automatically created title. When this field is empty, an automatically created title is used in charts. Note that the table does not have an automatically created title. To hide the title, a space character can be defined.&lt;br /&gt;
* &#039;&#039;&#039;Subtitle&#039;&#039;&#039;: Custom subtitle for a chart that replaces the automatically created subtitle. When this field is empty, an automatically created subtitle is used showing the chart filter (if defined). To hide the subtitle, a space character can be defined.&lt;br /&gt;
&lt;br /&gt;
== Available Visualizations ==&lt;br /&gt;
ChartView provides variety of visualization. Here are mentioned some of those:&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: The table shows the data in a similar form that it is returned from the server, and thus the table is useful when defining dimensions and measures. In the table, dimensions are first starting from the left and then there are measures. Filters can be created from the table by clicking dimensions/columns (it&#039;s not possible to create filter by clicking measures). Also when creating a column filter to the table (which only filters the data in the table), a process mining filter is automatically suggested which can be accepted or ignored. Columns widths can also be changed, and tables are able to remember the adjusted widths.&lt;br /&gt;
* &#039;&#039;&#039;Pivot Table&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;KPI Card&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Area Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Area Spline Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Column Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Error Bar Chart&#039;&#039;&#039;: These chart types use &#039;&#039;low&#039;&#039; and &#039;&#039;high&#039;&#039; mappings.&lt;br /&gt;
* &#039;&#039;&#039;Root Causes&#039;&#039;&#039;: Special visualization for the Root Causes analysis. When using this visualization, also the analyzed objects need to be &#039;&#039;Root causes&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Case Attribute Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Measures, Dimensions and Columns ==&lt;br /&gt;
When dimensioning is used (&#039;&#039;Slice into Dimensions&#039;&#039; setting checked), &#039;&#039;&#039;measures&#039;&#039;&#039; and &#039;&#039;&#039;dimensions&#039;&#039;&#039; can be chosen (in the respective tabs), and when dimensioning is not used, &#039;&#039;&#039;columns&#039;&#039;&#039; can be chosen (in the respective tab).&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Analyze&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each measure, dimension and column contain the following buttons when hovering:&lt;br /&gt;
* &#039;&#039;&#039;Measure/dimension/column detailed settings&#039;&#039;&#039;: Opens a dialog for the detailed settings that affect only to this measure/dimension/column (see the next chapter).&lt;br /&gt;
* &#039;&#039;&#039;Move down&#039;&#039;&#039;: Moves this measure/dimension/column one step down and moves the one previously below, one step up (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Move up&#039;&#039;&#039;: Moves the measure/dimension/column one step up and moves the one previously above, one step down (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Convert to custom expression&#039;&#039;&#039;: Converts the measure/dimension/column to a custom expression for advanced editing. Note that it&#039;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&#039;s useful to start with a ready-made measure/dimension/column to get an expression to further edit.&lt;br /&gt;
* &#039;&#039;&#039;Add measure/dimension/column&#039;&#039;&#039;: Moves this measures/dimensions/columns and all below it one step down to make space for a new one.&lt;br /&gt;
* &#039;&#039;&#039;Delete measure/dimension/column&#039;&#039;&#039;: Deletes this measure/dimension/column and moves all others below one step up.&lt;br /&gt;
&lt;br /&gt;
== Measure, Dimension and Column Specific Settings ==&lt;br /&gt;
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:&lt;br /&gt;
* &#039;&#039;&#039;Custom label&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: In charts, series specific visualization for this measures/dimensions/columns. Overrides the default visualization defined in the &#039;&#039;General&#039;&#039; tab.&lt;br /&gt;
* &#039;&#039;&#039;Visualization color&#039;&#039;&#039;: In charts, color for visualizing this measure/dimension/column, appearing for example as a column or line color.&lt;br /&gt;
* &#039;&#039;&#039;Rounding&#039;&#039;&#039;: Numeric values are rounded to this defined number of decimals. Note that despite the rounding, values are sorted based on the accurate values.&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Data type&#039;&#039;&#039;: Expected data type for the measure/dimension/column. The defined data type must match with the actual datatype of the calculated data to work correctly. As an exception, the &#039;&#039;text&#039;&#039; type can be used with any type of data, because all types of data can be converted into strings. Data types are very important for the visualization to work, e.g. charts require numerical data to be numbers. Data type list also contains &#039;&#039;Auto detect&#039;&#039; which analyzes the calculated data and chooses the datatype based on the most common datatype in the data. Note that the auto detect doesn&#039;t give the correct data type when there is no data available.&lt;br /&gt;
* &#039;&#039;&#039;Mapping in chart&#039;&#039;&#039;: When using the chart, defines how this measure/dimension/column is mapped in the chart, for example to Y-axis, X-axis, series etc.&lt;br /&gt;
* &#039;&#039;&#039;Date format&#039;&#039;&#039;: Date type of data is presented with this date format. &lt;br /&gt;
* &#039;&#039;&#039;Adjustment expression&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Statistical calculations&#039;&#039;&#039;: Different kind of calculations done to measure/dimension/column data. Several items from the list can be used at the same time. Some calculations require an additional parameter, that is specified in the &#039;&#039;Reference value for statistical calculations&#039;&#039; field. Available calculations are:&lt;br /&gt;
** &#039;&#039;&#039;Remove empties (nulls)&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a null value.&lt;br /&gt;
** &#039;&#039;&#039;Remove outliers using normal distribution&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a value that is outside the [average] +/- X * [standard deviation]. The X is defined as an additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Remove insignificant values from start and end&#039;&#039;&#039;: Removes rows from the beginning and end of the dataset the measure/dimension/column value is below the defined percentage of the maximum value in the dataset. This setting can be used to remove e.g. indiscernible items in a column chart.&lt;br /&gt;
** &#039;&#039;&#039;Remove values lower than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is lower than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove values greater than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is greater than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates older than (days)&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is earlier than the defined number of days. Requires a date type of column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates that are in future&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is in future when comparing to the current time.&lt;br /&gt;
** &#039;&#039;&#039;Show cumulative values&#039;&#039;&#039;: Calculates sum of values for the measure/dimension/column from the beginning until that data point.&lt;br /&gt;
** &#039;&#039;&#039;Show change from previous&#039;&#039;&#039;: Calculates difference to the previous value. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Show percentual change from previous&#039;&#039;&#039;: Calculates a percentual change to the previous value. The shown unit changes to percentage. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Smooth using moving average&#039;&#039;&#039;: Calculates all measure/dimension/column values as an average of the nearest values. The additional parameter is the number of steps to go back and forth to take into account.&lt;br /&gt;
** &#039;&#039;&#039;Calculate moving sum&#039;&#039;&#039;: Calculates sum for each measure/dimension/column values. Goes back number of steps defined by the additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Add by&#039;&#039;&#039;: Adds the specified number to all the measure/dimension/column values.&lt;br /&gt;
** &#039;&#039;&#039;Multiply by&#039;&#039;&#039;: Multiplies all measure/dimension/column values by the specified number.&lt;br /&gt;
** &#039;&#039;&#039;Divide by&#039;&#039;&#039;: Divides all measure/dimension/column values by the specified number.&lt;br /&gt;
* &#039;&#039;&#039;Reference value for statistical calculations&#039;&#039;&#039;: The reference numerical value that is used in some of the statistical calculations.&lt;br /&gt;
&lt;br /&gt;
In addtion, measures have the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Calculate measure for&#039;&#039;&#039;: Measure can be calculated for &#039;&#039;each dimension separately&#039;&#039; (the default option) which is the normal dimensioning behavior. It&#039;s also possible to ignore the dimensioning for this measure and calculate the measure for the &#039;&#039;currently filtered data&#039;&#039; (i.e. the measure is calculated for the entire dataset that the chart is based on). Furthermore, it&#039;s also possible to ignore filters and calculate the measure value for the &#039;&#039;entire model data&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Variable for other measures&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Filtering Settings ==&lt;br /&gt;
In QPR ProcessAnalyzer, filters can be applied on two levels:&lt;br /&gt;
* 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.&lt;br /&gt;
* Individual 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.&lt;br /&gt;
&lt;br /&gt;
Chart filters and behavior for the chart filtering is defined in the Filter tab having the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Chart Follows Dashboard Filters&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Create Filters from Chart&#039;&#039;&#039;: When checked, filters can be created based on selected items in the chart. When unchecked, no filters are created when clicking the chart.&lt;br /&gt;
* &#039;&#039;&#039;Update Filter During Selection&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Chart Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
Note that in addition to the process mining filters, objects can be filtered in the ChartView using the expression language. For that there are many ready-made selections. The process mining filters should be used when when the process mining model should be kept in a consistent state, e.g. filtering event types recalculates variations. Certain kind of filtering is not possible through the process mining filters, and then expression based filtering should be used, e.g. filter events based on event attributes or filtering flow objects.&lt;br /&gt;
&lt;br /&gt;
== Visualize KPI Targets with Colors==&lt;br /&gt;
When visualizing KPI&#039;s, it&#039;s essential show how the measure is performing comparing to targets. ChartView is able to visualize the targets with colors in the charts and KPI card.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the KPI card as follows:&lt;br /&gt;
# Select the &#039;&#039;KPI Card&#039;&#039; as a visualization.&lt;br /&gt;
# Define your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as a colored square next to the KPI value.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the charts as follows:&lt;br /&gt;
# Select e.g. the &#039;&#039;Column Chart&#039;&#039; as a visualization. (Colors can be visualized also with other chart types.)&lt;br /&gt;
# Select your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
# For the Data point colors measure, select &#039;&#039;Mapping in Chart&#039;&#039; is &#039;&#039;Data point color&#039;&#039; in the measure settings.&lt;br /&gt;
# When using charts, usually a dimension is selected as well.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as colored columns.&lt;br /&gt;
&lt;br /&gt;
== Advanced Settings ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Visible Case Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Types&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Update Chart When Changing Settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;On-screen Settings&#039;&#039;&#039;: 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:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: Either &#039;&#039;measure&#039;&#039;, &#039;&#039;dimension&#039;&#039; or &#039;&#039;root&#039;&#039;. If slicing into dimensions is disabled, columns correspond to dimensions. &lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: Index of the measure, dimension or column starting from zero.&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the parameter.&lt;br /&gt;
** &#039;&#039;&#039;label&#039;&#039;&#039;: Custom label for the setting.&lt;br /&gt;
** &#039;&#039;&#039;maxWidth&#039;&#039;&#039;: Maximum width of the shown setting in pixels.&lt;br /&gt;
** &#039;&#039;&#039;newLine&#039;&#039;&#039;: Defines whether the setting is positioned to a new line for more spacing between settings.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;,&lt;br /&gt;
    &amp;quot;maxWidth&amp;quot;: 500&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Time&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Custom Layout&#039;&#039;&#039;: Advanced settings for the chart and table can be accessed using the JSON format. Settings defined here override the default chart and table that are created by ChartView. Overriding is done for individual properties, so only the customized settings need to be mentioned.&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the first (left side) Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for two Y-axes (left and right side).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    },&lt;br /&gt;
        {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 10000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the X-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;xAxis&amp;quot;: {&lt;br /&gt;
    &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;max&amp;quot;: 10&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Variable mappings&#039;&#039;&#039;: Setting are for linking [[Dashboard_Variables|dashboard variables]] to ChartView settings, and then ChartView settings are changed when variables are changed. It&#039;s thus possible for example to add a drop-down list component, link the list to a dashboard variable, and then link the variable to settings in several ChartViews. When using dashboard variables, the used variables need to be defined in the &#039;&#039;Dashboard Properties&#039;&#039; dialog in the &#039;&#039;Variables&#039;&#039; tab, so that the initial values of the variables are stored to the dashboard. Note that dashboard variables can be used in custom expressions using tags without specifying them in the variable mappings. Variable mappings are configured as an array of mappings where each item is an object with the following properties:&lt;br /&gt;
** &#039;&#039;&#039;variable&#039;&#039;&#039;: Name of the linked dashboard variable.&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039; (for the &#039;&#039;Analyze&#039;&#039; list parameters), &#039;&#039;&#039;generic&#039;&#039;&#039; (all other settings in ChartView).&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;CaseAttributeVariable&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Linked settings&#039;&#039;&#039;: Settings are for linking settings or parameters within a single ChartView. When configured, the linked settings are kept in synchronization, i.e. when any of the settings is changed, other linked settings are also changed. Linked settings are configured as an array of &#039;&#039;setting groups&#039;&#039; which are array of objects. Each object points to an individual setting using the following properties:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039;, &#039;&#039;&#039;generic&#039;&#039;&#039;, &#039;&#039;&#039;tag&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
** &#039;&#039;&#039;tagName&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;tag&#039;&#039;, defined the linked tag name. The tag can be used in custom expression similar to variables.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;tagName&amp;quot;: &amp;quot;AutomationAttribute&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Go to Query Designer&#039;&#039;&#039;: For testing and development purposes, clicking this button starts editing the current expression in the Expression Designer.&lt;br /&gt;
&lt;br /&gt;
== View Technical Information ==&lt;br /&gt;
In the &#039;&#039;Advanced&#039;&#039; tab, there is a dropdown list on the bottom for showing different kind of technical information for advanced usage:.&lt;br /&gt;
* &#039;&#039;&#039;Show chart&#039;&#039;&#039;: This is the normal mode showing the chart.&lt;br /&gt;
* &#039;&#039;&#039;Show expressions&#039;&#039;&#039;: This option shows expressions that are sent to the server for calculation. Expression syntax is described in the [[QPR_ProcessAnalyzer_Expression_Analysis|Expression Analysis]].&lt;br /&gt;
* &#039;&#039;&#039;Show query&#039;&#039;&#039;: This option shows the query that are sent to the server for calculation. The query also contains the expression (the previous option), and also other information, such as the model id, filter and comparison.&lt;br /&gt;
* &#039;&#039;&#039;Show chart filter&#039;&#039;&#039;: Shows the chart filter in JSON format. This only contains the chart filter (not the dashboard filter). Syntax for the filter JSON is described in [[Filtering_in_QPR_ProcessAnalyzer_Queries|Filtering Queries]].&lt;br /&gt;
* &#039;&#039;&#039;Show dimensions/columns as calculated attributes&#039;&#039;&#039;: Shows the defined dimensions/columns as a calculated case attribute definitions. This options is useful, when you want to add the defined dimensions/columns as case attributes for a model, and you can see the correctly formatted syntax directly from here.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (with data)&#039;&#039;&#039;: This is similar option as the previous, except the data is also included.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (single line)&#039;&#039;&#039;: ChartView settings shown in a single line, which is useful if you need to store the settings directly into a [[Dashboard_Variables|dashboard variable]].&lt;br /&gt;
* &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;: All settings in a ChartView are stored as single entity that is part of the dashboard. These settings can be edited directly using this option. There are validations in place, so invalid settings are not accepted.&lt;br /&gt;
&lt;br /&gt;
== Copy Chart Settings from Another Chart ==&lt;br /&gt;
You can copy chart settings and use them in another chart as follows: Go to the &#039;&#039;&#039;Advanced&#039;&#039;&#039; tab and choose from the bottom dropdown list &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;. 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.&lt;br /&gt;
&lt;br /&gt;
== ChartView JSON Settings Format==&lt;br /&gt;
ChartView stores all its settings to a JSON format that that is described in this chapter. Normally there is no need to directly edit the ChartView JSON settings, but in certain cases it may be useful. ChartView JSON settings is also a useful way to [[#Copy_Chart_Settings_from_Another_Chart|move ChartViews between QPR ProcessAnalyzer environments]].&lt;br /&gt;
&lt;br /&gt;
ChartView JSON settings is a JSON object which contains the following settings: &lt;br /&gt;
* &#039;&#039;&#039;visualization&#039;&#039;&#039; (string): Defined the visualization setting.&lt;br /&gt;
* &#039;&#039;&#039;stacking&#039;&#039;&#039; (string): Defines the &#039;&#039;Stacking&#039;&#039; and &#039;&#039;% Stacking&#039;&#039; settings. Valid values are &#039;&#039;null&#039;&#039;, &#039;&#039;normal&#039;&#039; and &#039;&#039;percent&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;polar&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Polar Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;maxRows&#039;&#039;&#039; (integer): Defines the &#039;&#039;Maximum Rows&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;showOthers&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Group Rows Exceeding Maximum&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;datalabels&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Show Data Labels&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;useViewFilter&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableFiltering&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Create Filters from Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateFilterDuringSelection&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateVisualization&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableDimensioning&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Slice into Dimensions&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;sorting&#039;&#039;&#039;: Defines the &#039;&#039;Sorting&#039;&#039; setting. Valid values are &#039;&#039;1. measure ascending&#039;&#039;, &#039;&#039;1. measure descending&#039;&#039;, &#039;&#039;1. dimension ascending&#039;&#039;, &#039;&#039;1. dimension descending&#039;&#039;, &#039;&#039;2. dimension ascending&#039;&#039;, &#039;&#039;2. dimension descending&#039;&#039;, &#039;&#039;3. dimension ascending&#039;&#039;, &#039;&#039;3. dimension descending&#039;&#039;, &#039;&#039;none&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;visibleCaseAttributes&#039;&#039;&#039; (string array): Defines the &#039;&#039;Visible Case Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventAttributes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventTypes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Types&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;filterCaseAttribute&#039;&#039;&#039; (string): Case attribute name used for filtering.&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; (object): Custom title of charts and tables.&lt;br /&gt;
* &#039;&#039;&#039;subtitle&#039;&#039;&#039; (object): Custom title for charts.&lt;br /&gt;
* &#039;&#039;&#039;enableResultCaching&#039;&#039;&#039; (boolean): Defines whether the calculation results are cached (both in the server and browser side).&lt;br /&gt;
* &#039;&#039;&#039;forceRowSelectionModeInTable&#039;&#039;&#039; (boolean):&lt;br /&gt;
* &#039;&#039;&#039;root&#039;&#039;&#039; (string array):&lt;br /&gt;
* &#039;&#039;&#039;measures&#039;&#039;&#039; (object array): Array of measures where each measure is an object containing the measure settings. Measures have following common settings: name, context, decimals, label, unit, visualization, color, mapping, type, isVariable, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;dimensions&#039;&#039;&#039; (object array): Array of dimensions/columns where each measure is an object containing the measure settings. Dimensions have the following common settings: name, decimals, label, unit, visualization, color, mapping, type, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;tableColumnWidths&#039;&#039;&#039; (number array): Defines column widths in the table. Taken into use, when user resizes columns.&lt;br /&gt;
* &#039;&#039;&#039;componentFilter&#039;&#039;&#039; (object): Chart filter as a [[Filtering_in_QPR_ProcessAnalyzer_Queries|json object]].&lt;br /&gt;
* &#039;&#039;&#039;onscreenSettings&#039;&#039;&#039; (object array): On-screen settings as json object.&lt;br /&gt;
* &#039;&#039;&#039;customLayout&#039;&#039;&#039; (object): Json object to directly access charts and tables custom settings.&lt;br /&gt;
* &#039;&#039;&#039;preset&#039;&#039;&#039; (string): Name of the preset.&lt;br /&gt;
* &#039;&#039;&#039;version&#039;&#039;&#039; (integer): ChartView settings version.&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16008</id>
		<title>QPR ProcessAnalyzer Chart</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_Chart&amp;diff=16008"/>
		<updated>2020-05-14T06:09:38Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ChartView allows creation of versatile and visually appealing charts with flexible KPI definitions to answer specific business needs. ChartView allows to calculate KPI&#039;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&#039;s also possible to disable slicing to show a simple list of all analyzed items.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
ChartView is available as the first item in the tool palette which can be seen when editing is started.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
The basic flow of using the ChartView is the following:&lt;br /&gt;
# Choose objects to visualize, e.g. cases, events, event types or variations.&lt;br /&gt;
# Choose how to slice (or dimension) the data into parts, e.g. by attributes (regions, products), by durations or by dates (months, quarters).&lt;br /&gt;
# Choose measures/KPI&#039;s to be calculated for each dimension. Measure could be e.g. number of items, average duration, or cost.&lt;br /&gt;
# Choose the best visualization for the data, such as column charts, donut charts or tables.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
ChartView is available in the navigation menu where there are ready-made views containing ChartView, such as &#039;&#039;Advanced Process Discovery&#039;&#039; and &#039;&#039;ChartView&#039;&#039;. The ready-made views are for ad-hoc analysis, and the settings cannot be saved, but they are preserved during the user session. ChartView is also available as a component when creating dashboards, where ChartView settings are saved as part of the dashboard, and thus all users see the dashboard as it was designed.&lt;br /&gt;
&lt;br /&gt;
== Data Selection Settings ==&lt;br /&gt;
When creating a chart, the first thing to decide, are which items to be analyze.&lt;br /&gt;
&lt;br /&gt;
Settings that determine which data is &lt;br /&gt;
* &#039;&#039;&#039;Analyze&#039;&#039;&#039;: 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&#039;s recommended to use chart filter if a subset of cases is needed.&lt;br /&gt;
* &#039;&#039;&#039;Slice into Dimensions&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Sorting&#039;&#039;&#039;: Data can be ordered based on data chosen to the measures/dimensions/columns. Both ascending and descending ordering is available. Sorting can also be disabled if it doesn&#039;t have any use, as sorting affects performance when there is large number of rows. Note that for charts having numerical or date X-axis, sorting doesn&#039;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. When &#039;&#039;custom&#039;&#039; is selected, a custom sorting can be defined when clicking the &#039;&#039;Advanced sorting&#039;&#039; button as an object array with the follow properties for each object (see an example below):&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: either &#039;&#039;&#039;measure&#039;&#039;&#039; or &#039;&#039;&#039;dimension&#039;&#039;&#039;&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: measure or dimension order number (starts from 0)&lt;br /&gt;
** &#039;&#039;&#039;direction&#039;&#039;&#039;: Either &#039;&#039;&#039;ascending&#039;&#039;&#039; or &#039;&#039;&#039;descending&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 2,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;ascending&amp;quot;&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;direction&amp;quot;: &amp;quot;descending&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Maximum Rows&#039;&#039;&#039;: Number of rows returned are limited to this maximum count. This setting is useful with sorting to show only the most relevant items. In addition, in certain selections there may be a large number of rows, so the maximum should always be limited.&lt;br /&gt;
&lt;br /&gt;
== Visualization Settings ==&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: Choose how data is visualized. There are variety of charts available, and also a table, a pivot chart, and a KPI card (see more in [[#Available_Visualizations|next chapter]]. It depends on the visualization, which mappings can be selected for measures/dimensions/columns.&lt;br /&gt;
* &#039;&#039;&#039;Stacking&#039;&#039;&#039;: In charts, stacking is used to show series on top of each other, which better visualizes the sum of the measures across different series.&lt;br /&gt;
* &#039;&#039;&#039;% Stacking&#039;&#039;&#039;: In charts, percentage stacking shows the measures as percentages of the sum of the measures. The total is thus always 100%.&lt;br /&gt;
* &#039;&#039;&#039;Polar Chart&#039;&#039;&#039;: In charts, 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.&lt;br /&gt;
* &#039;&#039;&#039;Show Data Labels&#039;&#039;&#039;: When checked, numerical measure values are shown next to the data point in charts.&lt;br /&gt;
* &#039;&#039;&#039;Group Rows Exceeding Maximum&#039;&#039;&#039;: When checked and when number of rows is limited by the &#039;&#039;Maximum Rows&#039;&#039; setting, the extra rows are aggregated into the last row.&lt;br /&gt;
* &#039;&#039;&#039;Title&#039;&#039;&#039;: Custom title for a chart or table can be defined that replaces the automatically created title. When this field is empty, an automatically created title is used in charts. Note that the table does not have an automatically created title. To hide the title, a space character can be defined.&lt;br /&gt;
* &#039;&#039;&#039;Subtitle&#039;&#039;&#039;: Custom subtitle for a chart that replaces the automatically created subtitle. When this field is empty, an automatically created subtitle is used showing the chart filter (if defined). To hide the subtitle, a space character can be defined.&lt;br /&gt;
&lt;br /&gt;
== Available Visualizations ==&lt;br /&gt;
ChartView provides variety of visualization. Here are mentioned some of those:&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: The table shows the data in a similar form that it is returned from the server, and thus the table is useful when defining dimensions and measures. In the table, dimensions are first starting from the left and then there are measures. Filters can be created from the table by clicking dimensions/columns (it&#039;s not possible to create filter by clicking measures). Also when creating a column filter to the table (which only filters the data in the table), a process mining filter is automatically suggested which can be accepted or ignored. Columns widths can also be changed, and tables are able to remember the adjusted widths.&lt;br /&gt;
* &#039;&#039;&#039;Pivot Table&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;KPI Card&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Area Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Area Spline Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Column Range Chart&#039;&#039;&#039;, &#039;&#039;&#039;Error Bar Chart&#039;&#039;&#039;: These chart types use &#039;&#039;low&#039;&#039; and &#039;&#039;high&#039;&#039; mappings.&lt;br /&gt;
* &#039;&#039;&#039;Root Causes&#039;&#039;&#039;: Special visualization for the Root Causes analysis. When using this visualization, also the analyzed objects need to be &#039;&#039;Root causes&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Case Attribute Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Measures, Dimensions and Columns ==&lt;br /&gt;
When dimensioning is used (&#039;&#039;Slice into Dimensions&#039;&#039; setting checked), &#039;&#039;&#039;measures&#039;&#039;&#039; and &#039;&#039;&#039;dimensions&#039;&#039;&#039; can be chosen (in the respective tabs), and when dimensioning is not used, &#039;&#039;&#039;columns&#039;&#039;&#039; can be chosen (in the respective tab).&lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;Analyze&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Each measure, dimension and column contain the following buttons when hovering:&lt;br /&gt;
* &#039;&#039;&#039;Measure/dimension/column detailed settings&#039;&#039;&#039;: Opens a dialog for the detailed settings that affect only to this measure/dimension/column (see the next chapter).&lt;br /&gt;
* &#039;&#039;&#039;Move down&#039;&#039;&#039;: Moves this measure/dimension/column one step down and moves the one previously below, one step up (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Move up&#039;&#039;&#039;: Moves the measure/dimension/column one step up and moves the one previously above, one step down (they are switching places).&lt;br /&gt;
* &#039;&#039;&#039;Convert to custom expression&#039;&#039;&#039;: Converts the measure/dimension/column to a custom expression for advanced editing. Note that it&#039;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&#039;s useful to start with a ready-made measure/dimension/column to get an expression to further edit.&lt;br /&gt;
* &#039;&#039;&#039;Add measure/dimension/column&#039;&#039;&#039;: Moves this measures/dimensions/columns and all below it one step down to make space for a new one.&lt;br /&gt;
* &#039;&#039;&#039;Delete measure/dimension/column&#039;&#039;&#039;: Deletes this measure/dimension/column and moves all others below one step up.&lt;br /&gt;
&lt;br /&gt;
== Measure, Dimension and Column Specific Settings ==&lt;br /&gt;
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:&lt;br /&gt;
* &#039;&#039;&#039;Custom label&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visualization&#039;&#039;&#039;: In charts, series specific visualization for this measures/dimensions/columns. Overrides the default visualization defined in the &#039;&#039;General&#039;&#039; tab.&lt;br /&gt;
* &#039;&#039;&#039;Visualization color&#039;&#039;&#039;: In charts, color for visualizing this measure/dimension/column, appearing for example as a column or line color.&lt;br /&gt;
* &#039;&#039;&#039;Rounding&#039;&#039;&#039;: Numeric values are rounded to this defined number of decimals. Note that despite the rounding, values are sorted based on the accurate values.&lt;br /&gt;
* &#039;&#039;&#039;Unit&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Data type&#039;&#039;&#039;: Expected data type for the measure/dimension/column. The defined data type must match with the actual datatype of the calculated data to work correctly. As an exception, the &#039;&#039;text&#039;&#039; type can be used with any type of data, because all types of data can be converted into strings. Data types are very important for the visualization to work, e.g. charts require numerical data to be numbers. Data type list also contains &#039;&#039;Auto detect&#039;&#039; which analyzes the calculated data and chooses the datatype based on the most common datatype in the data. Note that the auto detect doesn&#039;t give the correct data type when there is no data available.&lt;br /&gt;
* &#039;&#039;&#039;Mapping in chart&#039;&#039;&#039;: When using the chart, defines how this measure/dimension/column is mapped in the chart, for example to Y-axis, X-axis, series etc.&lt;br /&gt;
* &#039;&#039;&#039;Date format&#039;&#039;&#039;: Date type of data is presented with this date format. &lt;br /&gt;
* &#039;&#039;&#039;Adjustment expression&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Statistical calculations&#039;&#039;&#039;: Different kind of calculations done to measure/dimension/column data. Several items from the list can be used at the same time. Some calculations require an additional parameter, that is specified in the &#039;&#039;Reference value for statistical calculations&#039;&#039; field. Available calculations are:&lt;br /&gt;
** &#039;&#039;&#039;Remove empties (nulls)&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a null value.&lt;br /&gt;
** &#039;&#039;&#039;Remove outliers using normal distribution&#039;&#039;&#039;: Removes rows where the measure/dimension/column has a value that is outside the [average] +/- X * [standard deviation]. The X is defined as an additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Remove insignificant values from start and end&#039;&#039;&#039;: Removes rows from the beginning and end of the dataset the measure/dimension/column value is below the defined percentage of the maximum value in the dataset. This setting can be used to remove e.g. indiscernible items in a column chart.&lt;br /&gt;
** &#039;&#039;&#039;Remove values lower than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is lower than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove values greater than&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is greater than the defined limit. Requires numerical column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates older than (days)&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is earlier than the defined number of days. Requires a date type of column.&lt;br /&gt;
** &#039;&#039;&#039;Remove dates that are in future&#039;&#039;&#039;: Removes rows where the measure/dimension/column value is in future when comparing to the current time.&lt;br /&gt;
** &#039;&#039;&#039;Show cumulative values&#039;&#039;&#039;: Calculates sum of values for the measure/dimension/column from the beginning until that data point.&lt;br /&gt;
** &#039;&#039;&#039;Show change from previous&#039;&#039;&#039;: Calculates difference to the previous value. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Show percentual change from previous&#039;&#039;&#039;: Calculates a percentual change to the previous value. The shown unit changes to percentage. The first value shows zero.&lt;br /&gt;
** &#039;&#039;&#039;Smooth using moving average&#039;&#039;&#039;: Calculates all measure/dimension/column values as an average of the nearest values. The additional parameter is the number of steps to go back and forth to take into account.&lt;br /&gt;
** &#039;&#039;&#039;Calculate moving sum&#039;&#039;&#039;: Calculates sum for each measure/dimension/column values. Goes back number of steps defined by the additional parameter.&lt;br /&gt;
** &#039;&#039;&#039;Add by&#039;&#039;&#039;: Adds the specified number to all the measure/dimension/column values.&lt;br /&gt;
** &#039;&#039;&#039;Multiply by&#039;&#039;&#039;: Multiplies all measure/dimension/column values by the specified number.&lt;br /&gt;
** &#039;&#039;&#039;Divide by&#039;&#039;&#039;: Divides all measure/dimension/column values by the specified number.&lt;br /&gt;
* &#039;&#039;&#039;Reference value for statistical calculations&#039;&#039;&#039;: The reference numerical value that is used in some of the statistical calculations.&lt;br /&gt;
&lt;br /&gt;
In addtion, measures have the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Calculate measure for&#039;&#039;&#039;: Measure can be calculated for &#039;&#039;each dimension separately&#039;&#039; (the default option) which is the normal dimensioning behavior. It&#039;s also possible to ignore the dimensioning for this measure and calculate the measure for the &#039;&#039;currently filtered data&#039;&#039; (i.e. the measure is calculated for the entire dataset that the chart is based on). Furthermore, it&#039;s also possible to ignore filters and calculate the measure value for the &#039;&#039;entire model data&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;Variable for other measures&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
== Filtering Settings ==&lt;br /&gt;
In QPR ProcessAnalyzer, filters can be applied on two levels:&lt;br /&gt;
* 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.&lt;br /&gt;
* Individual 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.&lt;br /&gt;
&lt;br /&gt;
Chart filters and behavior for the chart filtering is defined in the Filter tab having the following settings:&lt;br /&gt;
* &#039;&#039;&#039;Chart Follows Dashboard Filters&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Create Filters from Chart&#039;&#039;&#039;: When checked, filters can be created based on selected items in the chart. When unchecked, no filters are created when clicking the chart.&lt;br /&gt;
* &#039;&#039;&#039;Update Filter During Selection&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Chart Filter&#039;&#039;&#039;: 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.&lt;br /&gt;
&lt;br /&gt;
Note that in addition to the process mining filters, objects can be filtered in the ChartView using the expression language. For that there are many ready-made selections. The process mining filters should be used when when the process mining model should be kept in a consistent state, e.g. filtering event types recalculates variations. Certain kind of filtering is not possible through the process mining filters, and then expression based filtering should be used, e.g. filter events based on event attributes or filtering flow objects.&lt;br /&gt;
&lt;br /&gt;
== Visualize KPI Targets with Colors==&lt;br /&gt;
When visualizing KPI&#039;s, it&#039;s essential show how the measure is performing comparing to targets. ChartView is able to visualize the targets with colors in the charts and KPI card.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the KPI card as follows:&lt;br /&gt;
# Select the &#039;&#039;KPI Card&#039;&#039; as a visualization.&lt;br /&gt;
# Define your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as a colored square next to the KPI value.&lt;br /&gt;
&lt;br /&gt;
Target values can be shown in the charts as follows:&lt;br /&gt;
# Select e.g. the &#039;&#039;Column Chart&#039;&#039; as a visualization. (Colors can be visualized also with other chart types.)&lt;br /&gt;
# Select your KPI as the first measure.&lt;br /&gt;
# For the measure, select &#039;&#039;Variable for other measures&#039;&#039; in the measure settings.&lt;br /&gt;
# Select &#039;&#039;Data point colors&#039;&#039; as the second measure, and define the limit values between green-yellow and red-yellow.&lt;br /&gt;
# For the Data point colors measure, select &#039;&#039;Mapping in Chart&#039;&#039; is &#039;&#039;Data point color&#039;&#039; in the measure settings.&lt;br /&gt;
# When using charts, usually a dimension is selected as well.&lt;br /&gt;
&lt;br /&gt;
Now the KPI targets are visualized as colored columns.&lt;br /&gt;
&lt;br /&gt;
== Advanced Settings ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Visible Case Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Attributes&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Visible Event Types&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Update Chart When Changing Settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;On-screen Settings&#039;&#039;&#039;: 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:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: Either &#039;&#039;measure&#039;&#039;, &#039;&#039;dimension&#039;&#039; or &#039;&#039;root&#039;&#039;. If slicing into dimensions is disabled, columns correspond to dimensions. &lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: Index of the measure, dimension or column starting from zero.&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the parameter.&lt;br /&gt;
** &#039;&#039;&#039;label&#039;&#039;&#039;: Custom label for the setting.&lt;br /&gt;
** &#039;&#039;&#039;maxWidth&#039;&#039;&#039;: Maximum width of the shown setting in pixels.&lt;br /&gt;
** &#039;&#039;&#039;newLine&#039;&#039;&#039;: Defines whether the setting is positioned to a new line for more spacing between settings.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;,&lt;br /&gt;
    &amp;quot;maxWidth&amp;quot;: 500&lt;br /&gt;
  },&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;dimension&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;,&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Time&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Custom Layout&#039;&#039;&#039;: Advanced settings for the chart and table can be accessed using the JSON format. Settings defined here override the default chart and table that are created by ChartView. Overriding is done for individual properties, so only the customized settings need to be mentioned.&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the first (left side) Y-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for two different Y-axis (left and right side).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;yAxis&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 100&lt;br /&gt;
    },&lt;br /&gt;
        {&lt;br /&gt;
      &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;max&amp;quot;: 10000&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example for forcing a minimum value for the X-axis.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;xAxis&amp;quot;: {&lt;br /&gt;
    &amp;quot;min&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;max&amp;quot;: 10&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Variable mappings&#039;&#039;&#039;: Setting are for linking [[Dashboard_Variables|dashboard variables]] to ChartView settings, and then ChartView settings are changed when variables are changed. It&#039;s thus possible for example to add a drop-down list component, link the list to a dashboard variable, and then link the variable to settings in several ChartViews. When using dashboard variables, the used variables need to be defined in the &#039;&#039;Dashboard Properties&#039;&#039; dialog in the &#039;&#039;Variables&#039;&#039; tab, so that the initial values of the variables are stored to the dashboard. Note that dashboard variables can be used in custom expressions using tags without specifying them in the variable mappings. Variable mappings are configured as an array of mappings where each item is an object with the following properties:&lt;br /&gt;
** &#039;&#039;&#039;variable&#039;&#039;&#039;: Name of the linked dashboard variable.&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039; (for the &#039;&#039;Analyze&#039;&#039; list parameters), &#039;&#039;&#039;generic&#039;&#039;&#039; (all other settings in ChartView).&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  {&lt;br /&gt;
    &amp;quot;variable&amp;quot;: &amp;quot;CaseAttributeVariable&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
    &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;parameter&amp;quot;: &amp;quot;Attribute&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Linked settings&#039;&#039;&#039;: Settings are for linking settings or parameters within a single ChartView. When configured, the linked settings are kept in synchronization, i.e. when any of the settings is changed, other linked settings are also changed. Linked settings are configured as an array of &#039;&#039;setting groups&#039;&#039; which are array of objects. Each object points to an individual setting using the following properties:&lt;br /&gt;
** &#039;&#039;&#039;type&#039;&#039;&#039;: One of the following type of ChartView setting: &#039;&#039;&#039;measure&#039;&#039;&#039;, &#039;&#039;&#039;dimension&#039;&#039;&#039;, &#039;&#039;&#039;root&#039;&#039;&#039;, &#039;&#039;&#039;generic&#039;&#039;&#039;, &#039;&#039;&#039;tag&#039;&#039;&#039;.&lt;br /&gt;
** &#039;&#039;&#039;index&#039;&#039;&#039;: When type is a measure or dimension, the order number of the measure/dimension (starts from 0).&lt;br /&gt;
** &#039;&#039;&#039;parameter&#039;&#039;&#039;: Name of the ChartView setting or parameter.&lt;br /&gt;
** &#039;&#039;&#039;tagName&#039;&#039;&#039;: When &#039;&#039;type&#039;&#039; is &#039;&#039;tag&#039;&#039;, defined the linked tag name. The tag can be used in custom expression similar to variables.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[&lt;br /&gt;
  [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 0,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;measure&amp;quot;,&lt;br /&gt;
      &amp;quot;index&amp;quot;: 1,&lt;br /&gt;
      &amp;quot;parameter&amp;quot;: &amp;quot;Period&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;tag&amp;quot;,&lt;br /&gt;
      &amp;quot;tagName&amp;quot;: &amp;quot;AutomationAttribute&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Go to Query Designer&#039;&#039;&#039;: For testing and development purposes, clicking this button starts editing the current expression in the Expression Designer.&lt;br /&gt;
&lt;br /&gt;
== View Technical Information ==&lt;br /&gt;
In the &#039;&#039;Advanced&#039;&#039; tab, there is a dropdown list on the bottom for showing different kind of technical information for advanced usage:.&lt;br /&gt;
* &#039;&#039;&#039;Show chart&#039;&#039;&#039;: This is the normal mode showing the chart.&lt;br /&gt;
* &#039;&#039;&#039;Show expressions&#039;&#039;&#039;: This option shows expressions that are sent to the server for calculation. Expression syntax is described in the [[QPR_ProcessAnalyzer_Expression_Analysis|Expression Analysis]].&lt;br /&gt;
* &#039;&#039;&#039;Show query&#039;&#039;&#039;: This option shows the query that are sent to the server for calculation. The query also contains the expression (the previous option), and also other information, such as the model id, filter and comparison.&lt;br /&gt;
* &#039;&#039;&#039;Show chart filter&#039;&#039;&#039;: Shows the chart filter in JSON format. This only contains the chart filter (not the dashboard filter). Syntax for the filter JSON is described in [[Filtering_in_QPR_ProcessAnalyzer_Queries|Filtering Queries]].&lt;br /&gt;
* &#039;&#039;&#039;Show dimensions/columns as calculated attributes&#039;&#039;&#039;: Shows the defined dimensions/columns as a calculated case attribute definitions. This options is useful, when you want to add the defined dimensions/columns as case attributes for a model, and you can see the correctly formatted syntax directly from here.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings&#039;&#039;&#039;: 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.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (with data)&#039;&#039;&#039;: This is similar option as the previous, except the data is also included.&lt;br /&gt;
* &#039;&#039;&#039;Show chart settings (single line)&#039;&#039;&#039;: ChartView settings shown in a single line, which is useful if you need to store the settings directly into a [[Dashboard_Variables|dashboard variable]].&lt;br /&gt;
* &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;: All settings in a ChartView are stored as single entity that is part of the dashboard. These settings can be edited directly using this option. There are validations in place, so invalid settings are not accepted.&lt;br /&gt;
&lt;br /&gt;
== Copy Chart Settings from Another Chart ==&lt;br /&gt;
You can copy chart settings and use them in another chart as follows: Go to the &#039;&#039;&#039;Advanced&#039;&#039;&#039; tab and choose from the bottom dropdown list &#039;&#039;&#039;Edit chart settings&#039;&#039;&#039;. 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.&lt;br /&gt;
&lt;br /&gt;
== ChartView JSON Settings Format==&lt;br /&gt;
ChartView stores all its settings to a JSON format that that is described in this chapter. Normally there is no need to directly edit the ChartView JSON settings, but in certain cases it may be useful. ChartView JSON settings is also a useful way to [[#Copy_Chart_Settings_from_Another_Chart|move ChartViews between QPR ProcessAnalyzer environments]].&lt;br /&gt;
&lt;br /&gt;
ChartView JSON settings is a JSON object which contains the following settings: &lt;br /&gt;
* &#039;&#039;&#039;visualization&#039;&#039;&#039; (string): Defined the visualization setting.&lt;br /&gt;
* &#039;&#039;&#039;stacking&#039;&#039;&#039; (string): Defines the &#039;&#039;Stacking&#039;&#039; and &#039;&#039;% Stacking&#039;&#039; settings. Valid values are &#039;&#039;null&#039;&#039;, &#039;&#039;normal&#039;&#039; and &#039;&#039;percent&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;polar&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Polar Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;maxRows&#039;&#039;&#039; (integer): Defines the &#039;&#039;Maximum Rows&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;showOthers&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Group Rows Exceeding Maximum&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;datalabels&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Show Data Labels&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;useViewFilter&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableFiltering&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Create Filters from Chart&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateFilterDuringSelection&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;updateVisualization&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Chart Follows Dashboard Filters&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;enableDimensioning&#039;&#039;&#039; (boolean): Defines the &#039;&#039;Slice into Dimensions&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;sorting&#039;&#039;&#039;: Defines the &#039;&#039;Sorting&#039;&#039; setting. Valid values are &#039;&#039;1. measure ascending&#039;&#039;, &#039;&#039;1. measure descending&#039;&#039;, &#039;&#039;1. dimension ascending&#039;&#039;, &#039;&#039;1. dimension descending&#039;&#039;, &#039;&#039;2. dimension ascending&#039;&#039;, &#039;&#039;2. dimension descending&#039;&#039;, &#039;&#039;3. dimension ascending&#039;&#039;, &#039;&#039;3. dimension descending&#039;&#039;, &#039;&#039;none&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;visibleCaseAttributes&#039;&#039;&#039; (string array): Defines the &#039;&#039;Visible Case Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventAttributes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Attributes&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;visibleEventTypes&#039;&#039;&#039;: Defines the &#039;&#039;Visible Event Types&#039;&#039; setting.&lt;br /&gt;
* &#039;&#039;&#039;filterCaseAttribute&#039;&#039;&#039; (string): Case attribute name used for filtering.&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; (object): Custom title of charts and tables.&lt;br /&gt;
* &#039;&#039;&#039;subtitle&#039;&#039;&#039; (object): Custom title for charts.&lt;br /&gt;
* &#039;&#039;&#039;enableResultCaching&#039;&#039;&#039; (boolean): Defines whether the calculation results are cached (both in the server and browser side).&lt;br /&gt;
* &#039;&#039;&#039;forceRowSelectionModeInTable&#039;&#039;&#039; (boolean):&lt;br /&gt;
* &#039;&#039;&#039;root&#039;&#039;&#039; (string array):&lt;br /&gt;
* &#039;&#039;&#039;measures&#039;&#039;&#039; (object array): Array of measures where each measure is an object containing the measure settings. Measures have following common settings: name, context, decimals, label, unit, visualization, color, mapping, type, isVariable, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;dimensions&#039;&#039;&#039; (object array): Array of dimensions/columns where each measure is an object containing the measure settings. Dimensions have the following common settings: name, decimals, label, unit, visualization, color, mapping, type, hidden, dateFormat, suffixExpression.&lt;br /&gt;
* &#039;&#039;&#039;tableColumnWidths&#039;&#039;&#039; (number array): Defines column widths in the table. Taken into use, when user resizes columns.&lt;br /&gt;
* &#039;&#039;&#039;componentFilter&#039;&#039;&#039; (object): Chart filter as a [[Filtering_in_QPR_ProcessAnalyzer_Queries|json object]].&lt;br /&gt;
* &#039;&#039;&#039;onscreenSettings&#039;&#039;&#039; (object array): On-screen settings as json object.&lt;br /&gt;
* &#039;&#039;&#039;customLayout&#039;&#039;&#039; (object): Json object to directly access charts and tables custom settings.&lt;br /&gt;
* &#039;&#039;&#039;preset&#039;&#039;&#039; (string): Name of the preset.&lt;br /&gt;
* &#039;&#039;&#039;version&#039;&#039;&#039; (integer): ChartView settings version.&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Sample_Eventlog_Files&amp;diff=15292</id>
		<title>Sample Eventlog Files</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Sample_Eventlog_Files&amp;diff=15292"/>
		<updated>2020-02-23T16:45:13Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample files contain case and event data that can be used for demo purposes. &lt;br /&gt;
&lt;br /&gt;
== Accessing Sample Files ==&lt;br /&gt;
* Excel sample files: &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/Dynamics_OrderToCash.xlsx Dynamics_OrderToCash.xlsx] &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/Dynamics_ProcureToPay.xlsx Dynamics_ProcureToPay.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/Epicor_OrderToCash.xlsx Epicor_OrderToCash.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/Healthcare_Patient_Journey.xlsx Healthcare_Patient_Journey.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/LoanApproval.xlsx LoanApproval.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/O2C_Manufacturing.xlsx O2C_Manufacturing.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_OrderToCash.xlsx SAP_OrderToCash.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_OrderToCash_10K.xlsx SAP_OrderToCash_10K.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_OrderToCash_Extended.xlsx SAP_OrderToCash_Extended.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_OrderToCash_v2.xlsx SAP_OrderToCash_v2.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_PurchaseToPay.xlsx SAP_PurchaseToPay.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/SAP_PurchaseToPay_v2.xlsx SAP_PurchaseToPay_v2.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/ServiceNow_IncidentManagement.xlsx ServiceNow_IncidentManagement.xlsx]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/excel/ServiceTicket.xlsx ServiceTicket.xlsx]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* PACM sample files: &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/Dynamics_OrderToCash.pacm Dynamics_OrderToCash.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/Dynamics_ProcureToPay.pacm Dynamics_ProcureToPay.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/Epicor_OrderToCash.pacm Epicor_OrderToCash.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/Healthcare_Patient_Journey.pacm Healthcare_Patient_Journey.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/LoanApproval.pacm LoanApproval.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/O2C_Manufacturing.pacm O2C_Manufacturing.pacm] &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_OrderToCash.pacm SAP_OrderToCash.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_OrderToCash_10K.pacm SAP_OrderToCash_10K.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_OrderToCash_Extended.pacm SAP_OrderToCash_Extended.pacm] &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_OrderToCash_v2.pacm SAP_OrderToCash_v2.pacm] &lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_PurchaseToPay.pacm SAP_PurchaseToPay.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/SAP_PurchaseToPay_v2.pacm SAP_PurchaseToPay_v2.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/ServiceNow_IncidentManagement.pacm ServiceNow_IncidentManagement.pacm]&lt;br /&gt;
** [http://files.qpr.com/releases/PASampleFiles/pacm/ServiceTicket.pacm ServiceTicket.pacm]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* CSV sample files: &lt;br /&gt;
** Epicor_OrderToCash model: [http://files.qpr.com/releases/PASampleFiles/csv/Epicor_OrderToCash_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/Epicor_OrderToCash_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  LoanApproval model: [http://files.qpr.com/releases/PASampleFiles/csv/LoanApproval_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/LoanApproval_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_OrderToCash model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_Events.csv Event Data] (event date format: d.M.yyyy H:mm) and  [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_OrderToCash_10K model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_10K_Events.csv Event Data] (event date format: d.M.yyyy H\:mm\:ss) and [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_10K_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_OrderToCash_Extended model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_Extended_Events.csv Event Data] (event date format: d.M.yyyy H\:mm\:ss) and [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_Extended_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_OrderToCash_v2 model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_v2_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/SAP_OrderToCash_v2_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_PurchaseToPay model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_PurchaseToPay_Events.csv Event Data] (event date format: d.M.yyyy H\:mm\:ss) and [http://files.qpr.com/releases/PASampleFiles/csv/SAP_PurchaseToPay_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  SAP_PurchaseToPay_v2 model: [http://files.qpr.com/releases/PASampleFiles/csv/SAP_PurchaseToPay_v2_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/SAP_PurchaseToPay_v2_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  ServiceNow_IncidentManagement model: [http://files.qpr.com/releases/PASampleFiles/csv/ServiceNow_IncidentManagement_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/ServiceNow_IncidentManagement_CaseAttributes.csv Case Attributes]&lt;br /&gt;
**  ServiceTicket model: [http://files.qpr.com/releases/PASampleFiles/csv/ServiceTicket_Events.csv Event Data] (event date format: d.M.yyyy H\:mm) and [http://files.qpr.com/releases/PASampleFiles/csv/ServiceTicket_CaseAttributes.csv Case Attributes]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* XES sample files:&lt;br /&gt;
** Some real-life XES event log files can be found from IEEE Task Force on Process Mining repository at [https://data.4tu.nl/repository/collection:event_logs_real 4TU.Centre for Research Data]&lt;br /&gt;
&lt;br /&gt;
== Creating Model from Excel Sample Files ==&lt;br /&gt;
#To load events to QPR ProcessAnalyzer, select the worksheet that contains Event Data.&lt;br /&gt;
#On the QPR tab, select &#039;&#039;&#039;Project Workspace&#039;&#039;&#039;.&lt;br /&gt;
#Click the &#039;&#039;&#039;Import...&#039;&#039;&#039; button.&lt;br /&gt;
#The Import Wizard opens. Select &#039;&#039;&#039;Events&#039;&#039;&#039; to be imported and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Current Worksheet&#039;&#039;&#039; and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Create New&#039;&#039;&#039; and from the &#039;&#039;&#039;Project&#039;&#039;&#039; drop-down menu, select either &amp;quot;Create New Project&amp;quot; or choose an existing project.&lt;br /&gt;
#In &#039;&#039;&#039;Model Name&#039;&#039;&#039;, type in a name for the model and click &#039;&#039;&#039;Import&#039;&#039;&#039;.&lt;br /&gt;
#Next, the case data will be imported to the model. Select the Excel worksheet that contains Case Attribute Data.&lt;br /&gt;
#On the QPR tab, click &#039;&#039;&#039;Project Workspace&#039;&#039;&#039;.&lt;br /&gt;
#In the Workspace dialog, click the &#039;&#039;&#039;Import...&#039;&#039;&#039; button.&lt;br /&gt;
#The Import Wizard opens. Select &#039;&#039;&#039;Case Attributes&#039;&#039;&#039; to be imported and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Current Worksheet&#039;&#039;&#039; and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Add to Existing&#039;&#039;&#039; and select the model for which you gave the name earlier.&lt;br /&gt;
#Click &#039;&#039;&#039;Import&#039;&#039;&#039;.&lt;br /&gt;
#The resulting model will now have Events and Case Data. In the &#039;&#039;&#039;Project Workspace&#039;&#039;&#039; dialog, select the model and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Creating Model from PACM Sample Files ==&lt;br /&gt;
To load a model to QPR ProcessAnalyzer using PACM file:&lt;br /&gt;
#On the QPR tab, select &#039;&#039;&#039;Project Workspace&#039;&#039;&#039;.&lt;br /&gt;
#Click the &#039;&#039;&#039;Import...&#039;&#039;&#039; button.&lt;br /&gt;
#The Import Wizard opens. Select &#039;&#039;&#039;QPR PrrocessAnalyzer file&#039;&#039;&#039; to be imported and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Click&#039;&#039;&#039;Select...&#039;&#039;&#039;, locate the pacm file to use and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;br /&gt;
#Click the &#039;&#039;&#039;Next&#039;&#039;&#039; button.&lt;br /&gt;
#Select &#039;&#039;&#039;Create New&#039;&#039;&#039; and from the &#039;&#039;&#039;Project&#039;&#039;&#039; drop-down menu, select either &amp;quot;Create New Project&amp;quot; or choose an existing project.&lt;br /&gt;
#In &#039;&#039;&#039;Model Name&#039;&#039;&#039;, type in a name for the model and click &#039;&#039;&#039;Import&#039;&#039;&#039;.&lt;br /&gt;
#The resulting model will now have Events and Case Data. In the &#039;&#039;&#039;Project Workspace&#039;&#039;&#039; dialog, select the model and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Creating Model from CSV Sample Files ==&lt;br /&gt;
To create a model to QPR ProcessAnalyzer using CSV files:&lt;br /&gt;
#On the QPR tab, select &#039;&#039;&#039;Project Workspace&#039;&#039;&#039;.&lt;br /&gt;
#Click the &#039;&#039;&#039;Import...&#039;&#039;&#039; button.&lt;br /&gt;
#The Import Wizard opens. Select &#039;&#039;&#039;Events&#039;&#039;&#039; to be imported and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Text File&#039;&#039;&#039; and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Click&#039;&#039;&#039;Select...&#039;&#039;&#039;, locate the CSV file containing event data to use and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;br /&gt;
#Select the proper delimiter and TimeDate Format, e.g. d.M.yyyy H\:mm.&lt;br /&gt;
#Select &#039;&#039;&#039;Create New&#039;&#039;&#039; and from the &#039;&#039;&#039;Project&#039;&#039;&#039; drop-down menu, select either &amp;quot;Create New Project&amp;quot; or choose an existing project.&lt;br /&gt;
#In &#039;&#039;&#039;Model Name&#039;&#039;&#039;, type in a name for the model and click &#039;&#039;&#039;Import&#039;&#039;&#039;.&lt;br /&gt;
#Next, the case data will be imported to the model. &lt;br /&gt;
#On the QPR tab, click &#039;&#039;&#039;Project Workspace&#039;&#039;&#039;.&lt;br /&gt;
#In the Workspace dialog, click the &#039;&#039;&#039;Import...&#039;&#039;&#039; button.&lt;br /&gt;
#The Import Wizard opens. Select &#039;&#039;&#039;Case Attributes&#039;&#039;&#039; to be imported and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Select &#039;&#039;&#039;Text File&#039;&#039;&#039; and click &#039;&#039;&#039;Next&#039;&#039;&#039;.&lt;br /&gt;
#Click&#039;&#039;&#039;Select...&#039;&#039;&#039;, locate the CSV file containing event data to use and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;br /&gt;
#Select the proper delimiter and TimeDate Format, e.g. d.M.yyyy H\:mm.&lt;br /&gt;
#Select &#039;&#039;&#039;Add to Existing&#039;&#039;&#039; and select the model for which you gave the name earlier.&lt;br /&gt;
#Click &#039;&#039;&#039;Import&#039;&#039;&#039;.&lt;br /&gt;
#The resulting model will now have Events and Case Data. In the &#039;&#039;&#039;Project Workspace&#039;&#039;&#039; dialog, select the model and click &#039;&#039;&#039;Open&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13944</id>
		<title>Importing Data to QPR ProcessAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13944"/>
		<updated>2019-09-24T09:49:53Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to import data to QPR ProcessAnalyzer using the Data Import view in [[QPR_ProcessAnalyzer_Deployment_Package_for_QPR_UI|QPR ProcessAnalyzer UI]].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Imported File ==&lt;br /&gt;
First choose the file to be imported from your disk drive. It&#039;s possible to import &#039;&#039;&#039;csv&#039;&#039;&#039;, &#039;&#039;&#039;pacm&#039;&#039;&#039; and &#039;&#039;&#039;xes&#039;&#039;&#039; files. If importing from a csv file, you need to define, whether the data contains cases or events, or other data to be loaded into a [[Data_Tables_in_QPR_ProcessAnalyzer|data table]]. &#039;&#039;Pacm&#039;&#039; and &#039;&#039;xes&#039;&#039; files contain the entire QPR ProcessAnalyzer model, so with those formats no further selections are needed.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Import Destination ==&lt;br /&gt;
Cases and/or events can be imported to an existing QPR ProcessAnalyzer model or to a new model:&lt;br /&gt;
* &#039;&#039;&#039;Import to Existing Model&#039;&#039;&#039;: Select a project and model which the data will be import to. You can click the &#039;&#039;&#039;Open&#039;&#039;&#039; button to check the model that is currently selected.&lt;br /&gt;
* &#039;&#039;&#039;Create New Model&#039;&#039;&#039;: Select a project to which the new model will be created, and define a name for the new model.&lt;br /&gt;
&lt;br /&gt;
When importing a data table, the target project and data table name needs to be defined.&lt;br /&gt;
&lt;br /&gt;
== Step 3: CSV File Format ==&lt;br /&gt;
When importing from a csv file, you need to define in which format the data is stored in the file. If uncertain, open the file to see its contents. Following settings can be set:&lt;br /&gt;
* &#039;&#039;&#039;Column Delimiter&#039;&#039;&#039;: Column delimiter is the character that separates data cells within a row. Usually the column delimiter is a semicolon or tab. It&#039;s possible to define any character by selecting the Other option.&lt;br /&gt;
* &#039;&#039;&#039;Date Format&#039;&#039;&#039;: Date format is used to interpret date values in the csv file. Default format is &amp;quot;yyyy-MM-dd HH:mm:ss,fff&amp;quot;. More information about formatting: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings.&lt;br /&gt;
&lt;br /&gt;
Csv files need to be UTF-8 encoded and size limit is 230mb (tested on Firefox).&lt;br /&gt;
&lt;br /&gt;
When importing cases from a csv file, the first column must contain case ID and the rest of the columns are case attributes. When importing events, the column order in the csv file must be the following:&lt;br /&gt;
* 1. column: case ID&#039;s&lt;br /&gt;
* 2. column: event type name&lt;br /&gt;
* 3. column: event timestamp&lt;br /&gt;
* 4. column onwards: event attributes&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13943</id>
		<title>Importing Data to QPR ProcessAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13943"/>
		<updated>2019-09-24T09:41:10Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to import data to QPR ProcessAnalyzer using the Data Import view in [[QPR_ProcessAnalyzer_Deployment_Package_for_QPR_UI|QPR ProcessAnalyzer UI]].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Imported File ==&lt;br /&gt;
First choose the file to be imported from your disk drive. It&#039;s possible to import &#039;&#039;&#039;csv&#039;&#039;&#039;, &#039;&#039;&#039;pacm&#039;&#039;&#039; and &#039;&#039;&#039;xes&#039;&#039;&#039; files. If importing from a csv file, you need to define, whether the data contains cases or events, or other data to be loaded into a [[Data_Tables_in_QPR_ProcessAnalyzer|data table]]. &#039;&#039;Pacm&#039;&#039; and &#039;&#039;xes&#039;&#039; files contain the entire QPR ProcessAnalyzer model, so with those formats no further selections are needed.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Import Destination ==&lt;br /&gt;
Cases and/or events can be imported to an existing QPR ProcessAnalyzer model or to a new model:&lt;br /&gt;
* &#039;&#039;&#039;Import to Existing Model&#039;&#039;&#039;: Select a project and model which the data will be import to. You can click the &#039;&#039;&#039;Open&#039;&#039;&#039; button to check the model that is currently selected.&lt;br /&gt;
* &#039;&#039;&#039;Create New Model&#039;&#039;&#039;: Select a project to which the new model will be created, and define a name for the new model.&lt;br /&gt;
&lt;br /&gt;
When importing a data table, the target project and data table name needs to be defined.&lt;br /&gt;
&lt;br /&gt;
== Step 3: CSV File Format ==&lt;br /&gt;
When importing from a csv file, you need to define in which format the data is stored in the file. If uncertain, open the file to see its contents. Following settings can be set:&lt;br /&gt;
* &#039;&#039;&#039;Column Delimiter&#039;&#039;&#039;: Column delimiter is the character that separates data cells within a row. Usually the column delimiter is a semicolon or tab. It&#039;s possible to define any character by selecting the Other option.&lt;br /&gt;
* &#039;&#039;&#039;Date Format&#039;&#039;&#039;: Date format is used to interpret date values in the csv file. Default format is &amp;quot;yyyy-MM-dd HH:mm:ss,fff&amp;quot;. More information about formatting: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings.&lt;br /&gt;
&lt;br /&gt;
Csv files need to be UTF-8 encoded and size limit is about 230mb depending web browser.&lt;br /&gt;
&lt;br /&gt;
When importing cases from a csv file, the first column must contain case ID and the rest of the columns are case attributes. When importing events, the column order in the csv file must be the following:&lt;br /&gt;
* 1. column: case ID&#039;s&lt;br /&gt;
* 2. column: event type name&lt;br /&gt;
* 3. column: event timestamp&lt;br /&gt;
* 4. column onwards: event attributes&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13942</id>
		<title>Importing Data to QPR ProcessAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Importing_Data_to_QPR_ProcessAnalyzer&amp;diff=13942"/>
		<updated>2019-09-24T07:57:52Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page describes how to import data to QPR ProcessAnalyzer using the Data Import view in [[QPR_ProcessAnalyzer_Deployment_Package_for_QPR_UI|QPR ProcessAnalyzer UI]].&lt;br /&gt;
&lt;br /&gt;
== Step 1: Imported File ==&lt;br /&gt;
First choose the file to be imported from your disk drive. It&#039;s possible to import &#039;&#039;&#039;csv&#039;&#039;&#039;, &#039;&#039;&#039;pacm&#039;&#039;&#039; and &#039;&#039;&#039;xes&#039;&#039;&#039; files. If importing from a csv file, you need to define, whether the data contains cases or events, or other data to be loaded into a [[Data_Tables_in_QPR_ProcessAnalyzer|data table]]. &#039;&#039;Pacm&#039;&#039; and &#039;&#039;xes&#039;&#039; files contain the entire QPR ProcessAnalyzer model, so with those formats no further selections are needed.&lt;br /&gt;
&lt;br /&gt;
== Step 2: Import Destination ==&lt;br /&gt;
Cases and/or events can be imported to an existing QPR ProcessAnalyzer model or to a new model:&lt;br /&gt;
* &#039;&#039;&#039;Import to Existing Model&#039;&#039;&#039;: Select a project and model which the data will be import to. You can click the &#039;&#039;&#039;Open&#039;&#039;&#039; button to check the model that is currently selected.&lt;br /&gt;
* &#039;&#039;&#039;Create New Model&#039;&#039;&#039;: Select a project to which the new model will be created, and define a name for the new model.&lt;br /&gt;
&lt;br /&gt;
When importing a data table, the target project and data table name needs to be defined.&lt;br /&gt;
&lt;br /&gt;
== Step 3: CSV File Format ==&lt;br /&gt;
When importing from a csv file, you need to define in which format the data is stored in the file. If uncertain, open the file to see its contents. Following settings can be set:&lt;br /&gt;
* &#039;&#039;&#039;Column Delimiter&#039;&#039;&#039;: Column delimiter is the character that separates data cells within a row. Usually the column delimiter is a semicolon or tab. It&#039;s possible to define any character by selecting the Other option.&lt;br /&gt;
* &#039;&#039;&#039;Date Format&#039;&#039;&#039;: Date format is used to interpret date values in the csv file. Default format is &amp;quot;yyyy-MM-dd HH:mm:ss,fff&amp;quot;. More information about formatting: https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings.&lt;br /&gt;
&lt;br /&gt;
Csv files need to be UTF-8 encoded and size limit is about XX mb.&lt;br /&gt;
&lt;br /&gt;
When importing cases from a csv file, the first column must contain case ID and the rest of the columns are case attributes. When importing events, the column order in the csv file must be the following:&lt;br /&gt;
* 1. column: case ID&#039;s&lt;br /&gt;
* 2. column: event type name&lt;br /&gt;
* 3. column: event timestamp&lt;br /&gt;
* 4. column onwards: event attributes&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_System_Requirements&amp;diff=13711</id>
		<title>QPR ProcessAnalyzer System Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_System_Requirements&amp;diff=13711"/>
		<updated>2019-06-19T10:10:37Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer Excel Client ==&lt;br /&gt;
System requirements for QPR ProcessAnalyzer Excel Client:&lt;br /&gt;
* Microsoft Windows 10 operating system (64 bit version)&lt;br /&gt;
** Mac users need to use Windows in a pure virtual machine, created on e.g. [http://www.parallels.com/products/desktop/ Parallels Desktop], [http://www.vmware.com/products/fusion/overview.html VMware Fusion], or as a virtualized Boot Camp partition created by either one.&lt;br /&gt;
* Microsoft Office 2013, 2016 (32 bit and 64 bit versions) or 2019.&lt;br /&gt;
* Internet connection for connecting to QPR ProcessAnalyzer Service&lt;br /&gt;
&lt;br /&gt;
The following components are also required and they will be installed if not found on your computer:&lt;br /&gt;
* Microsoft .NET Framework 4.6.1&lt;br /&gt;
* Microsoft Visual Studio Tools for Office Runtime&lt;br /&gt;
&lt;br /&gt;
Additional requirement for using [[Data_Extraction,_Transformation,_and_Loading#--.23ImportSapQuery|ImportSapQuery]] script command: [[Installing QPR ProcessAnalyzer Excel Client#Installing_SAP_Connector_for_Microsoft_.NET_Version_3.0_Dll_Files|install the SAP Connector for Microsoft .NET Dll files]].&lt;br /&gt;
&lt;br /&gt;
== Additional System Requirements for QPR ProcessAnalyzer Xpress ==&lt;br /&gt;
In addition to the requirements for QPR ProcessAnalyzer Excel Client, there are the following additional requirements for QPR ProcessAnalyzer Xpress:&lt;br /&gt;
* 64-bit Microsoft Windows 10 operating system&lt;br /&gt;
* SQL Server LocalDB 2016 database&lt;br /&gt;
* Internet connection in order to [[Activating QPR ProcessAnalyzer|activate]] the product&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer Server ==&lt;br /&gt;
QPR ProcessAnalyzer Server is needed for QPR ProcessAnalyzer Pro. System requirements for QPR ProcessAnalyzer Server:&lt;br /&gt;
* Microsoft Windows Server 2008 R2, 2012 or 2016 operating system&lt;br /&gt;
* Microsoft SQL Server 2012, 2014, 2016 or 2017 database with Database Engine Services installed&lt;br /&gt;
* Sufficiently powerful enough hardware to run the operating system&lt;br /&gt;
* &#039;&#039;&#039;Microsoft .NET Framework 4.6.1&#039;&#039;&#039; is installed &lt;br /&gt;
* [[Installing_QPR_ProcessAnalyzer_Server#Install_Server_Roles_and_Features_for_IIS | Install Server Roles and Features for Microsoft Internet Information Services (IIS)]]&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer ScriptLauncher ==&lt;br /&gt;
* Microsoft Windows 10 or Windows Server 2012 R2 operating system. Mac users need to use Windows as a pure virtual machine, created on e.g. [http://www.parallels.com/products/desktop/ Parallels Desktop] or [http://www.vmware.com/products/fusion/overview.html VMware Fusion], or as a virtualized Boot Camp partition created by either one.&lt;br /&gt;
* Internet connection &lt;br /&gt;
* The sapnco.dll and sapnco_utils.dll files distributed in the [http://service.sap.com/connectors SAP Connector for Microsoft .NET Version 3.0 (requires SAP Service Marketplace credentials)] package are needed in order to use the [[Data_Extraction,_Transformation,_and_Loading#--.23ImportSapQuery|ImportSapQuery]] script command. See the [[Installing QPR ProcessAnalyzer Excel Client#Installing_QPR_ProcessAnalyzer_ScriptLauncher|instructions]] for installing them.&lt;br /&gt;
* Microsoft .NET Framework 4.6.1 or newer&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Pro Server ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Small&#039;&#039;&#039; datasets (up to 5 million events per model) with simultaneous users&lt;br /&gt;
** 32GB memory&lt;br /&gt;
** 4 processor cores&lt;br /&gt;
** 50GB disk &lt;br /&gt;
* &#039;&#039;&#039;Medium&#039;&#039;&#039; datasets (10-20 million events per model) with simultaneous users&lt;br /&gt;
** 64GB memory&lt;br /&gt;
** 8 processor cores&lt;br /&gt;
** 100GB disk &lt;br /&gt;
* &#039;&#039;&#039;Large&#039;&#039;&#039; datasets (20-80 million events per model) with simultaneous users&lt;br /&gt;
** 256GB memory&lt;br /&gt;
** 16 processor cores&lt;br /&gt;
** 150GB disk &lt;br /&gt;
* &#039;&#039;&#039;Very large&#039;&#039;&#039; datasets (more than 80 million events per model) with simultaneous users&lt;br /&gt;
** 512GB memory&lt;br /&gt;
** 32 processor cores&lt;br /&gt;
** 200GB disk&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Pro Database Server ==&lt;br /&gt;
Recommended hardware configuration for the server computer running Microsoft SQL Server database:&lt;br /&gt;
* 16GB memory&lt;br /&gt;
* 4 processor cores&lt;br /&gt;
* 300GB - 1TB available SSD disk for SQL Server temp database&lt;br /&gt;
* 500GB - 10TB available SSD disk for data storage on a disk dedicated to QPR ProcessAnalyzer&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Xpress Excel Client==&lt;br /&gt;
* 8GB memory&lt;br /&gt;
* 4 core processor&lt;br /&gt;
* 32GB disk&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_System_Requirements&amp;diff=13679</id>
		<title>QPR ProcessAnalyzer System Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=QPR_ProcessAnalyzer_System_Requirements&amp;diff=13679"/>
		<updated>2019-06-18T05:47:46Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer Excel Client ==&lt;br /&gt;
System requirements for QPR ProcessAnalyzer Excel Client:&lt;br /&gt;
* Microsoft Windows 10 operating system (64 bit version)&lt;br /&gt;
** Mac users need to use Windows in a pure virtual machine, created on e.g. [http://www.parallels.com/products/desktop/ Parallels Desktop], [http://www.vmware.com/products/fusion/overview.html VMware Fusion], or as a virtualized Boot Camp partition created by either one.&lt;br /&gt;
* Microsoft Office 2013, 2016 (32 bit and 64 bit versions) or 2019.&lt;br /&gt;
* Internet connection for connecting to QPR ProcessAnalyzer Service&lt;br /&gt;
&lt;br /&gt;
The following components are also required and they will be installed if not found on your computer:&lt;br /&gt;
* Microsoft .NET Framework 4.6.1&lt;br /&gt;
* Microsoft Visual Studio Tools for Office Runtime&lt;br /&gt;
&lt;br /&gt;
Additional requirement for using [[Data_Extraction,_Transformation,_and_Loading#--.23ImportSapQuery|ImportSapQuery]] script command: [[Installing QPR ProcessAnalyzer Excel Client#Installing_SAP_Connector_for_Microsoft_.NET_Version_3.0_Dll_Files|install the SAP Connector for Microsoft .NET Dll files]].&lt;br /&gt;
&lt;br /&gt;
== Additional System Requirements for QPR ProcessAnalyzer Xpress ==&lt;br /&gt;
In addition to the requirements for QPR ProcessAnalyzer Excel Client, there are the following additional requirements for QPR ProcessAnalyzer Xpress:&lt;br /&gt;
* 64-bit Microsoft Windows 10 operating system&lt;br /&gt;
* SQL Server LocalDB 2016 database&lt;br /&gt;
* Internet connection in order to [[Activating QPR ProcessAnalyzer|activate]] the product&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer Server ==&lt;br /&gt;
QPR ProcessAnalyzer Server is needed for QPR ProcessAnalyzer Pro. System requirements for QPR ProcessAnalyzer Server:&lt;br /&gt;
* Microsoft Windows Server 2008 R2, 2012 or 2016 operating system&lt;br /&gt;
* Microsoft SQL Server 2012, 2014, 2016 or 2017 database with Database Engine Services installed&lt;br /&gt;
* Sufficiently powerful enough hardware to run the operating system&lt;br /&gt;
* &#039;&#039;&#039;Microsoft .NET Framework 4.6.1&#039;&#039;&#039; is installed &lt;br /&gt;
* [[Installing_QPR_ProcessAnalyzer_Server#Install_Server_Roles_and_Features_for_Microsoft_Internet_Information_Services_(IIS) | Install Server Roles and Features for Microsoft Internet Information Services (IIS)]]&lt;br /&gt;
&lt;br /&gt;
== System Requirements for QPR ProcessAnalyzer ScriptLauncher ==&lt;br /&gt;
* Microsoft Windows 10 or Windows Server 2012 R2 operating system. Mac users need to use Windows as a pure virtual machine, created on e.g. [http://www.parallels.com/products/desktop/ Parallels Desktop] or [http://www.vmware.com/products/fusion/overview.html VMware Fusion], or as a virtualized Boot Camp partition created by either one.&lt;br /&gt;
* Internet connection &lt;br /&gt;
* The sapnco.dll and sapnco_utils.dll files distributed in the [http://service.sap.com/connectors SAP Connector for Microsoft .NET Version 3.0 (requires SAP Service Marketplace credentials)] package are needed in order to use the [[Data_Extraction,_Transformation,_and_Loading#--.23ImportSapQuery|ImportSapQuery]] script command. See the [[Installing QPR ProcessAnalyzer Excel Client#Installing_QPR_ProcessAnalyzer_ScriptLauncher|instructions]] for installing them.&lt;br /&gt;
* Microsoft .NET Framework 4.6.1 or newer&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Pro Server ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Small&#039;&#039;&#039; datasets (up to 5 million events per model) with simultaneous users&lt;br /&gt;
** 32GB memory&lt;br /&gt;
** 4 processor cores&lt;br /&gt;
** 50GB disk &lt;br /&gt;
* &#039;&#039;&#039;Medium&#039;&#039;&#039; datasets (10-20 million events per model) with simultaneous users&lt;br /&gt;
** 64GB memory&lt;br /&gt;
** 8 processor cores&lt;br /&gt;
** 100GB disk &lt;br /&gt;
* &#039;&#039;&#039;Large&#039;&#039;&#039; datasets (20-80 million events per model) with simultaneous users&lt;br /&gt;
** 256GB memory&lt;br /&gt;
** 16 processor cores&lt;br /&gt;
** 150GB disk &lt;br /&gt;
* &#039;&#039;&#039;Very large&#039;&#039;&#039; datasets (more than 80 million events per model) with simultaneous users&lt;br /&gt;
** 512GB memory&lt;br /&gt;
** 32 processor cores&lt;br /&gt;
** 200GB disk&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Pro Database Server ==&lt;br /&gt;
Recommended hardware configuration for the server computer running Microsoft SQL Server database:&lt;br /&gt;
* 16GB memory&lt;br /&gt;
* 4 processor cores&lt;br /&gt;
* 300GB - 1TB available SSD disk for SQL Server temp database&lt;br /&gt;
* 500GB - 10TB available SSD disk for data storage on a disk dedicated to QPR ProcessAnalyzer&lt;br /&gt;
&lt;br /&gt;
== Recommended Hardware for QPR ProcessAnalyzer Xpress Excel Client==&lt;br /&gt;
* 8GB memory&lt;br /&gt;
* 4 core processor&lt;br /&gt;
* 32GB disk&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Calculated_Attributes_in_QPR_ProcessAnalyzer&amp;diff=13621</id>
		<title>Calculated Attributes in QPR ProcessAnalyzer</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Calculated_Attributes_in_QPR_ProcessAnalyzer&amp;diff=13621"/>
		<updated>2019-06-07T09:24:15Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Calculated attributes enable to create case and event attributes using an expression (calculation formula) based on data in the QPR ProcessAnalyzer model.&lt;br /&gt;
&lt;br /&gt;
== Introduction and Usecases==&lt;br /&gt;
Data to &#039;&#039;&#039;case attributes&#039;&#039;&#039; and &#039;&#039;&#039;event attributes&#039;&#039;&#039; can be originated as follows:&lt;br /&gt;
* &#039;&#039;&#039;importing&#039;&#039;&#039; them into QPR ProcessAnalyzer from a source system, csv file etc.&lt;br /&gt;
* &#039;&#039;&#039;calculating&#039;&#039;&#039; attribute values when the model is loaded using an [[QPR ProcessAnalyzer Expressions|expression]].&lt;br /&gt;
&lt;br /&gt;
Calculated attributes have following use cases:&lt;br /&gt;
* Conversions: If an imported attribute data is not in a suitable format, the data can be overridden by defining a calculated attribute with the same name. The calculated attribute expression performs conversions for the data.&lt;br /&gt;
* Aggregations: It&#039;s possible to aggregate e.g. event level information to case level using a calculated case attribute.&lt;br /&gt;
* Performance: If there is an expression to aggregate event level information to a case level, the aggregation can be done already in the model loading using a calculated case attribute for better performance.&lt;br /&gt;
&lt;br /&gt;
== Functioning Principle ==&lt;br /&gt;
Calculated attributes work as follows:&lt;br /&gt;
* After the model is loaded, the calculated and imported attributes work similarly, e.g. both are available in the profiling and influence analyses.&lt;br /&gt;
* Calculated attributes are calculated when the model is loaded, and thus calculated attribute values don&#039;t change after the model loading during the time the model is in the memory. If attributes need to be calculated again, the model needs to be reloaded.&lt;br /&gt;
* Calculated attribute values are stored into the memory like the imported attributes, meaning the model requires more memory, the more there are calculated attributes.&lt;br /&gt;
* For calculated case attributes, the expression is evaluated in each case&#039;s context, and for calculated event attributes, for each event&#039;s context. It&#039;s thus possible to access the entire model data in the expressions, such as variations, event types, flow and flow occurrences.&lt;br /&gt;
* Calculated event attributes are processed before calculated case attributes, so it&#039;s possible to use calculated event attributes in calculated case attributes expressions. Also, calculated case and event attributes are processed in the order they are defined, so it&#039;s possible to use an earlier defined calculated attribute in expressions of later attributes.&lt;br /&gt;
* Calculated attribute will replace an imported attribute, if there is an imported attribute with the same name. Note that it&#039;s not possible to override event timestamp, event type name or case id.&lt;br /&gt;
* If there is an error in the calculated attribute expression, the model loading fails, and the error needs to be corrected before the model can be used.&lt;br /&gt;
&lt;br /&gt;
Calculated case and event attributes are configured to the model JSON settings are follows:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&#039;&#039;&#039;Property&#039;&#039;&#039;&lt;br /&gt;
! &#039;&#039;&#039;Description&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
CaseAttributes&lt;br /&gt;
||&lt;br /&gt;
Array of calculated case attributes with the following properties:&lt;br /&gt;
* &#039;&#039;&#039;name&#039;&#039;&#039;: Calculated attribute name. There are no restrictions for the attribute names, but avoid names starting or ending with spaces to avoid confusion.&lt;br /&gt;
*&#039;&#039;&#039;expression&#039;&#039;&#039;: Expression to calculate the calculated attribute. The expression is calculated in the case&#039;s or event&#039;s context. Only when an expression has been defined, the attribute is a calculated attribute.&lt;br /&gt;
|-&lt;br /&gt;
||&lt;br /&gt;
EventAttributes&lt;br /&gt;
||&lt;br /&gt;
Calculated event attributes are defined using the same structure as calculated case attributes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
Example 1: One calculated case attribute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;CaseAttributes&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Cost&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;Cost * 1.5&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 2: Two calculated event attributes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;EventAttributes&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Event Month&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;Timestamp.Truncate(\&amp;quot;month\&amp;quot;)&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Duration to Next Event&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;If(IsNull(_.NextInCase), null, (_.NextInCase.Timestamp-_.Timestamp))&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 3: Several calculated case and event attributes:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;CaseAttributes&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;myBooleanAttribute1&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;CURRENCYCODE == \&amp;quot;RUB\&amp;quot;&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Combined status&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;PurchaseStatus+ \&amp;quot; \&amp;quot; + PurchaseType&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Repeated Events Count&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;Count(_.Events)-Count(Distinct(_.Events.Type))&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Duration between \&amp;quot;Invoice Sent\&amp;quot; and \&amp;quot;Payment Received\&amp;quot;&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;if(Count(_.EventsByType(\&amp;quot;Invoice Sent\&amp;quot;)) == 0 || Count(_.EventsByType(\&amp;quot;Purchase Order Line Created\&amp;quot;)) == 0, null, (GetAtReverse(0,_.EventsByType([\&amp;quot;Invoice Sent\&amp;quot;, \&amp;quot;Payment Received\&amp;quot;])).Timestamp-GetAt(0,_.EventsByType([\&amp;quot;Invoice Sent\&amp;quot;, \&amp;quot;Payment Received\&amp;quot;])).Timestamp))&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ],&lt;br /&gt;
  &amp;quot;EventAttributes&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;Event type occurrence number&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &amp;quot;Let(\&amp;quot;name\&amp;quot;, _.Typename);Count(_.Recurse(_.PreviousInCase).Where(_.Typename==name))&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example 4: Segregation of duties:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;CaseAttributes&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;name&amp;quot;: &amp;quot;KPI_SegregationOfDuties&amp;quot;,&lt;br /&gt;
      &amp;quot;expression&amp;quot;: &lt;br /&gt;
&amp;quot;If(Count(&lt;br /&gt;
  Intersect(&lt;br /&gt;
    _.EventsByType(\&amp;quot;Purchase Order Created\&amp;quot;).Attribute(\&amp;quot;User\&amp;quot;),&lt;br /&gt;
    _.EventsByType(\&amp;quot;Purchase Order Approved\&amp;quot;).Attribute(\&amp;quot;User\&amp;quot;)).&lt;br /&gt;
  Where(!Isnull(_) &amp;amp;&amp;amp; _!=\&amp;quot;\&amp;quot;))&amp;gt;0, \&amp;quot;False\&amp;quot;, \&amp;quot;True\&amp;quot;) &amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
  ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Navigation_Menu&amp;diff=13190</id>
		<title>Navigation Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Navigation_Menu&amp;diff=13190"/>
		<updated>2019-04-01T12:32:25Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;QPR ProcessAnalyzer Deployment Package installs QPR ProcessAnalyzer UI to QPR UI.&lt;br /&gt;
&lt;br /&gt;
== Installing Deployment Package ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;downloadButton&amp;quot; style=&amp;quot;width:300px;float:right;margin:15px 20px 0px 30px;&amp;quot;&amp;gt;[[QPR_Product_Downloads#QPR_ProcessAnalyzer_Deployment_Package|Download Deployment Package&amp;lt;br /&amp;gt;for QPR ProcessAnalyzer]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Download the deployment package (link on the right) and extract its contents to a temporary folder.&lt;br /&gt;
# In QPR UI, delete the possible previous versions of the QPR ProcessAnalyzer Deployment Package views. If the views have been &#039;&#039;published&#039;&#039;, to need to &#039;&#039;unpublish&#039;&#039; and &#039;&#039;unlock&#039;&#039; the views to be able to delete them.&lt;br /&gt;
# Go to the &#039;&#039;&#039;My Workspace&#039;&#039;&#039; screen, import all the views (.qprmdb files) from your temporary folder.&lt;br /&gt;
# In the My Workspace screen, open the &#039;&#039;&#039;QPR ProcessAnalyzer&#039;&#039;&#039; view, click the menu on top right (three dots), click &#039;&#039;&#039;Show Header&#039;&#039;&#039;, from the appearing header click &#039;&#039;&#039;File&#039;&#039;&#039;, click &#039;&#039;&#039;Lock views and panels&#039;&#039;&#039;, click &#039;&#039;&#039;File&#039;&#039;&#039; again, click &#039;&#039;&#039;Publish view&#039;&#039;&#039;.&lt;br /&gt;
# It&#039;s recommended to set the deployment package home page as the [[QPR_UI_System_Settings#Other_settings|default view]] in QPR UI (DEFAULT_VIEW_PATH setting with value &amp;quot;/QPRProcessAnalyzerHome&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
== Deployment Package Contents ==&lt;br /&gt;
This chapter introduces all the views that are in the deployment package. Note that the deployment packages manipulates QPR UI header by hiding the Help and Selections buttons.&lt;br /&gt;
&lt;br /&gt;
=== Home (QPR ProcessAnalyzer) ===&lt;br /&gt;
The Home page contains buttons to open all views in the deployment package. Note that the view name of the Home page is &#039;&#039;QPR ProcessAnalyzer&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Process Discovery ===&lt;br /&gt;
This [[QPR_ProcessAnalyzer_Presentation_Object_(PAPO)|QPR ProcessAnalyzer]] view is for analysts to discover the process.&lt;br /&gt;
&lt;br /&gt;
=== Conformance Analysis ===&lt;br /&gt;
The [[QPR ProcessAnalyzer - Conformance Analysis View|Conformance Analysis View]] incorporates the [[Conformance Checking in QPR ProcessAnalyzer]] capability of QPR ProcessAnalyzer. There are two views in the conformance analysis: the other shows the nonconformance reasons, and the other shows possible root causes for the nonconformance using the Influence Analysis for Case Attributes.&lt;br /&gt;
&lt;br /&gt;
=== Process Benchmarking ===&lt;br /&gt;
Process Benchmarking can be used to compare process flows e.g. between two selected case attribute values. The view works as follows:&lt;br /&gt;
# Open Profiling Case Analysis using the drop down menu.&lt;br /&gt;
# For the compared case attribute values, create a filter in the left side view and another filter in the right side view for another attribute value.&lt;br /&gt;
# Go back to the flowchart view using the drop down menu. Now you can see two flowcharts to make the benchmarking.&lt;br /&gt;
&lt;br /&gt;
=== ChartView ===&lt;br /&gt;
The ChartView allows the creation of customized charts to answer specific business needs, with measures and dimensions the user has selected. If you edit this view, make sure that the ChartView panel is placed on top of the QPR ProcessAnalyzer panel (you can do this by having the ChartView panel the last panel that you have moved), so that the BPMN editor is shown correctly.&lt;br /&gt;
&lt;br /&gt;
=== Clustering Analysis ===&lt;br /&gt;
The [[QPR_ProcessAnalyzer_-_Clustering_Analysis_View|Clustering Analysis View]] analyzes though the process mining data, and divides cases into similar groups based on case attributes and occurred types of events. Use it to get a deep understanding of the analyzed process mining data and also to validate the data.&lt;br /&gt;
&lt;br /&gt;
=== Data Import ===&lt;br /&gt;
Use this view to import models and datatables into QPR ProcessAnalyzer from files. Models can be imported from .csv, .pacm and .xes files and datatables from .csv files. For details, see [[Importing Data to QPR ProcessAnalyzer]].&lt;br /&gt;
&lt;br /&gt;
=== KPI Expressions Tester ===&lt;br /&gt;
This view is for testing QPR ProcessAnalyzer expressions, e.g. before using the expressions in the dashboards. The expressions are written in the left side using a JSON format. When the &#039;&#039;&#039;Run KPI Expression&#039;&#039;&#039; button is clicked, the defined query is run and results appear to a table in the right side. Details of the JSON format can be found in [[QPR_ProcessAnalyzer_Expression_Analysis|QPR ProcessAnalyzer Expression Analysis]].&lt;br /&gt;
&lt;br /&gt;
=== Model Manager ===&lt;br /&gt;
Model Manager is intended for administrators to see a list of all models in the system and manage their memory loading status. When selecting one or several models (while Ctrl key pressed) and clicking the right mouse button, a popup menu appears containing functions to load models into memory and drop them from the memory. It&#039;s also possible to export models in the .pacm format.&lt;br /&gt;
&lt;br /&gt;
More columns can be added to the table by clicking the &#039;&#039;&#039;Columns&#039;&#039;&#039; button in the top right and clicking checkboxes for the additional columns. Note that the new columns appear to the right and they can be seen by scrolling the table to the right.&lt;br /&gt;
&lt;br /&gt;
The models list can be sorted by any column by clicking the column header. Visible models can also be filtered by clicking the filter icon next to the column header.&lt;br /&gt;
&lt;br /&gt;
Functionalities available in the context menu:&lt;br /&gt;
* &#039;&#039;&#039;Refresh View&#039;&#039;&#039;: The view contents is reloaded from the server to get the latest status of the models.&lt;br /&gt;
* &#039;&#039;&#039;View Model&#039;&#039;&#039;: The model is opened in the Process Discovery view. Note that if the model loading takes much time, it might be better to use the &#039;&#039;Load Model&#039;&#039; function first, because that loads the model in background.&lt;br /&gt;
* &#039;&#039;&#039;Load Model&#039;&#039;&#039;: The selected model(s) are loaded into the memory.&lt;br /&gt;
* &#039;&#039;&#039;Drop Model&#039;&#039;&#039;: The selected model(s) are dropped from the memory to free memory resources.&lt;br /&gt;
* &#039;&#039;&#039;Reload Model&#039;&#039;&#039;: The selected model(s) are dropped from the memory and loaded again into the memory. Use the reloading to get the latest model data, e.g. when new data is loaded into the model.&lt;br /&gt;
* &#039;&#039;&#039;Export as .pacm&#039;&#039;&#039;: Export the model as a .pacm file. The .pacm file can be imported into another QPR ProcessAnalyzer environment.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;br /&gt;
[[Category: Deployment Packages]]&lt;br /&gt;
[[Category: QPR UI]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Navigation_Menu&amp;diff=13189</id>
		<title>Navigation Menu</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Navigation_Menu&amp;diff=13189"/>
		<updated>2019-04-01T12:28:02Z</updated>

		<summary type="html">&lt;p&gt;OllKomu: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;QPR ProcessAnalyzer Deployment Package installs QPR ProcessAnalyzer UI to QPR UI.&lt;br /&gt;
&lt;br /&gt;
== Installing Deployment Package ==&lt;br /&gt;
&amp;lt;div class=&amp;quot;downloadButton&amp;quot; style=&amp;quot;width:300px;float:right;margin:15px 20px 0px 30px;&amp;quot;&amp;gt;[[QPR_Product_Downloads#QPR_ProcessAnalyzer_Deployment_Package|Download Deployment Package&amp;lt;br /&amp;gt;for QPR ProcessAnalyzer]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Download the deployment package (link on the right) and extract its contents to a temporary folder.&lt;br /&gt;
# In QPR UI, delete the possible previous versions of the QPR ProcessAnalyzer Deployment Package views. If the views have been &#039;&#039;published&#039;&#039;, to need to &#039;&#039;unpublish&#039;&#039; and &#039;&#039;unlock&#039;&#039; the views to be able to delete them.&lt;br /&gt;
# Go to the &#039;&#039;&#039;My Workspace&#039;&#039;&#039; screen, import all the views (.qprmdb files) from your temporary folder.&lt;br /&gt;
# In the My Workspace screen, open the &#039;&#039;&#039;QPR ProcessAnalyzer&#039;&#039;&#039; view, click the menu on top right (three dots), click &#039;&#039;&#039;Show Header&#039;&#039;&#039;, from the appearing header click &#039;&#039;&#039;File&#039;&#039;&#039;, click &#039;&#039;&#039;Lock views and panels&#039;&#039;&#039;, click &#039;&#039;&#039;File&#039;&#039;&#039; again, click &#039;&#039;&#039;Publish view&#039;&#039;&#039;.&lt;br /&gt;
# It&#039;s recommended to set the deployment package home page (identifier: &amp;quot;QPRProcessAnalyzerHome&amp;quot;) as the [[QPR_UI_System_Settings#Other_settings|default view]] in QPR UI (see the DEFAULT_VIEW_PATH setting).&lt;br /&gt;
&lt;br /&gt;
== Deployment Package Contents ==&lt;br /&gt;
This chapter introduces all the views that are in the deployment package. Note that the deployment packages manipulates QPR UI header by hiding the Help and Selections buttons.&lt;br /&gt;
&lt;br /&gt;
=== Home (QPR ProcessAnalyzer) ===&lt;br /&gt;
The Home page contains buttons to open all views in the deployment package. Note that the view name of the Home page is &#039;&#039;QPR ProcessAnalyzer&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Process Discovery ===&lt;br /&gt;
This [[QPR_ProcessAnalyzer_Presentation_Object_(PAPO)|QPR ProcessAnalyzer]] view is for analysts to discover the process.&lt;br /&gt;
&lt;br /&gt;
=== Conformance Analysis ===&lt;br /&gt;
The [[QPR ProcessAnalyzer - Conformance Analysis View|Conformance Analysis View]] incorporates the [[Conformance Checking in QPR ProcessAnalyzer]] capability of QPR ProcessAnalyzer. There are two views in the conformance analysis: the other shows the nonconformance reasons, and the other shows possible root causes for the nonconformance using the Influence Analysis for Case Attributes.&lt;br /&gt;
&lt;br /&gt;
=== Process Benchmarking ===&lt;br /&gt;
Process Benchmarking can be used to compare process flows e.g. between two selected case attribute values. The view works as follows:&lt;br /&gt;
# Open Profiling Case Analysis using the drop down menu.&lt;br /&gt;
# For the compared case attribute values, create a filter in the left side view and another filter in the right side view for another attribute value.&lt;br /&gt;
# Go back to the flowchart view using the drop down menu. Now you can see two flowcharts to make the benchmarking.&lt;br /&gt;
&lt;br /&gt;
=== ChartView ===&lt;br /&gt;
The ChartView allows the creation of customized charts to answer specific business needs, with measures and dimensions the user has selected. If you edit this view, make sure that the ChartView panel is placed on top of the QPR ProcessAnalyzer panel (you can do this by having the ChartView panel the last panel that you have moved), so that the BPMN editor is shown correctly.&lt;br /&gt;
&lt;br /&gt;
=== Clustering Analysis ===&lt;br /&gt;
The [[QPR_ProcessAnalyzer_-_Clustering_Analysis_View|Clustering Analysis View]] analyzes though the process mining data, and divides cases into similar groups based on case attributes and occurred types of events. Use it to get a deep understanding of the analyzed process mining data and also to validate the data.&lt;br /&gt;
&lt;br /&gt;
=== Data Import ===&lt;br /&gt;
Use this view to import models and datatables into QPR ProcessAnalyzer from files. Models can be imported from .csv, .pacm and .xes files and datatables from .csv files. For details, see [[Importing Data to QPR ProcessAnalyzer]].&lt;br /&gt;
&lt;br /&gt;
=== KPI Expressions Tester ===&lt;br /&gt;
This view is for testing QPR ProcessAnalyzer expressions, e.g. before using the expressions in the dashboards. The expressions are written in the left side using a JSON format. When the &#039;&#039;&#039;Run KPI Expression&#039;&#039;&#039; button is clicked, the defined query is run and results appear to a table in the right side. Details of the JSON format can be found in [[QPR_ProcessAnalyzer_Expression_Analysis|QPR ProcessAnalyzer Expression Analysis]].&lt;br /&gt;
&lt;br /&gt;
=== Model Manager ===&lt;br /&gt;
Model Manager is intended for administrators to see a list of all models in the system and manage their memory loading status. When selecting one or several models (while Ctrl key pressed) and clicking the right mouse button, a popup menu appears containing functions to load models into memory and drop them from the memory. It&#039;s also possible to export models in the .pacm format.&lt;br /&gt;
&lt;br /&gt;
More columns can be added to the table by clicking the &#039;&#039;&#039;Columns&#039;&#039;&#039; button in the top right and clicking checkboxes for the additional columns. Note that the new columns appear to the right and they can be seen by scrolling the table to the right.&lt;br /&gt;
&lt;br /&gt;
The models list can be sorted by any column by clicking the column header. Visible models can also be filtered by clicking the filter icon next to the column header.&lt;br /&gt;
&lt;br /&gt;
Functionalities available in the context menu:&lt;br /&gt;
* &#039;&#039;&#039;Refresh View&#039;&#039;&#039;: The view contents is reloaded from the server to get the latest status of the models.&lt;br /&gt;
* &#039;&#039;&#039;View Model&#039;&#039;&#039;: The model is opened in the Process Discovery view. Note that if the model loading takes much time, it might be better to use the &#039;&#039;Load Model&#039;&#039; function first, because that loads the model in background.&lt;br /&gt;
* &#039;&#039;&#039;Load Model&#039;&#039;&#039;: The selected model(s) are loaded into the memory.&lt;br /&gt;
* &#039;&#039;&#039;Drop Model&#039;&#039;&#039;: The selected model(s) are dropped from the memory to free memory resources.&lt;br /&gt;
* &#039;&#039;&#039;Reload Model&#039;&#039;&#039;: The selected model(s) are dropped from the memory and loaded again into the memory. Use the reloading to get the latest model data, e.g. when new data is loaded into the model.&lt;br /&gt;
* &#039;&#039;&#039;Export as .pacm&#039;&#039;&#039;: Export the model as a .pacm file. The .pacm file can be imported into another QPR ProcessAnalyzer environment.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
[[Category: QPR ProcessAnalyzer]]&lt;br /&gt;
[[Category: Deployment Packages]]&lt;br /&gt;
[[Category: QPR UI]]&lt;/div&gt;</summary>
		<author><name>OllKomu</name></author>
	</entry>
</feed>