<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.onqpr.com/pa/index.php?action=history&amp;feed=atom&amp;title=Best_Practices_for_Designing_Dashboards</id>
	<title>Best Practices for Designing Dashboards - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.onqpr.com/pa/index.php?action=history&amp;feed=atom&amp;title=Best_Practices_for_Designing_Dashboards"/>
	<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;action=history"/>
	<updated>2026-06-22T01:23:33Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.1</generator>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21166&amp;oldid=prev</id>
		<title>Ollvihe: /* Exporting data */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21166&amp;oldid=prev"/>
		<updated>2022-03-31T11:47:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Exporting data&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 11:47, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l39&quot;&gt;Line 39:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 39:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data &lt;/del&gt;comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dataset &lt;/ins&gt;comparing to the Excel export. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Note that when using the CSV export, you don&amp;#039;t need to increase the &amp;#039;&amp;#039;Maximum rows&amp;#039;&amp;#039; setting, but instead set the &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; in the CSV export dialog (as the settings work independently of each other).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* &lt;/ins&gt;Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21163&amp;oldid=prev</id>
		<title>Ollvihe: /* Advanced performance optimization */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21163&amp;oldid=prev"/>
		<updated>2022-03-31T09:26:24Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced performance optimization&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:26, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l35&quot;&gt;Line 35:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 35:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling the data improves performance significantly. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. Still, in most charts sampling cannot be used, as it affects the analysis results, for example count of cases and events. See more of the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Analyzed objects sample size]] setting.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling the data improves performance significantly. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. Still, in most charts sampling cannot be used, as it affects the analysis results, for example count of cases and events. See more of the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Analyzed objects sample size]] setting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Calculated &lt;/del&gt;attributes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can &lt;/del&gt;be used to refer to the case itself and its events.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Especially for large models, calculated &lt;/ins&gt;attributes &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;should &lt;/ins&gt;be used to refer &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;only &lt;/ins&gt;to the case itself and its events.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21162&amp;oldid=prev</id>
		<title>Ollvihe: /* Advanced performance optimization */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21162&amp;oldid=prev"/>
		<updated>2022-03-31T09:25:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced performance optimization&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:25, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&#039;t affect them. Also, don&#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. Calculated attributes can be used to refer to the case itself and its events.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling the data improves performance significantly. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. Still, in most charts sampling cannot be used, as it affects the analysis results, for example count of cases and events. See more of the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Analyzed objects sample size]] setting.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling the data improves performance significantly. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. Still, in most charts sampling cannot be used, as it affects the analysis results, for example count of cases and events. See more of the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Analyzed objects sample size]] setting.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&#039;t affect them. Also, don&#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. Calculated attributes can be used to refer to the case itself and its events.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21161&amp;oldid=prev</id>
		<title>Ollvihe: /* Advanced performance optimization */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21161&amp;oldid=prev"/>
		<updated>2022-03-31T09:23:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced performance optimization&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:23, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. Calculated attributes can be used to refer to the case itself and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* In calculated attributes, avoid calculating anything from the entire model data, because it will lead to very slow performance in model loading. Calculated attributes can be used to refer to the case itself and its events.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;its events.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21160&amp;oldid=prev</id>
		<title>Ollvihe: /* Advanced performance optimization */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21160&amp;oldid=prev"/>
		<updated>2022-03-31T09:23:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced performance optimization&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:23, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow performing charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to experiment which settings provide the best performance. Usually the first thing to do is setting up a working chart, and if the chart shows too slowly, with the benchmark performance you can try to find an alternative and faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate expressions already in the model loading. For example, event level information can be calculated to case level using calculated case attributes. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect them. Also, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Don&amp;#039;t calculate &lt;/del&gt;anything from the entire model &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;level in calculated attributes expressions&lt;/del&gt;, because it will lead to very slow performance in model loading.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;In calculated attributes, avoid calculating &lt;/ins&gt;anything from the entire model &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data&lt;/ins&gt;, because it will lead to very slow performance in model loading&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Calculated attributes can be used to refer to the case itself and&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;its events&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid calculating same expressions multiple times in different measures of the same chart. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression that give same result for all measures/dimensions, calculate that part separately in the [[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|Additional root expression]] and store the result to a variable. This way the calculation is done only once improving performance significantly. For example, if creating a measure that makes a comparison to the entire model, such as percentage of the entire model data, the model level part should be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21159&amp;oldid=prev</id>
		<title>Ollvihe at 09:20, 31 March 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21159&amp;oldid=prev"/>
		<updated>2022-03-31T09:20:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:20, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Mappings from measures and dimensions to visualization, such as X- and Y-axis can be set freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures to the Y-axis. For some special analysis, it might be easier to use the table to first configure the desired measures and dimensions, and then switch to the desired graphical visualization (such as column, bar or line chart) and map the table columns to the chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Mappings from measures and dimensions to visualization, such as X- and Y-axis can be set freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures to the Y-axis. For some special analysis, it might be easier to use the table to first configure the desired measures and dimensions, and then switch to the desired graphical visualization (such as column, bar or line chart) and map the table columns to the chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use presets as basis when creating charts. The presets contain commonly needed analysis, so in many cases you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by starting from a preset, and continue modifying the chart settings for your customized needs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use presets as basis when creating charts. The presets contain commonly needed analysis, so in many cases you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by starting from a preset, and continue modifying the chart settings for your customized needs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avoid the [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout settings]] (JSON) as their compatibility with future QPR ProcessAnalyzer releases might not be maintained in a stable way. Use the custom layout settings only when it&#039;s absolutely necessary to achieve the desired visualization.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data visualization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Data visualization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot;&gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 12:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note how the [[Measure, Dimension and Column Settings#Special values|special values]], such as nulls and empty strings, are presented by setting descriptive labels for them. For example, when showing duration between events, cases which don&amp;#039;t have the events which the duration is calculated from, are shown as nulls, and instead of an empty label, the label can be &amp;quot;Events missing&amp;quot; etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note how the [[Measure, Dimension and Column Settings#Special values|special values]], such as nulls and empty strings, are presented by setting descriptive labels for them. For example, when showing duration between events, cases which don&amp;#039;t have the events which the duration is calculated from, are shown as nulls, and instead of an empty label, the label can be &amp;quot;Events missing&amp;quot; etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use the conditional formatting to improve KPI&amp;#039;s visualization, especially in [[QPR_ProcessAnalyzer_Table#Conditional_formatting_examples|tables]] where the bare numbers are slow to read. There are variety of visualization options, such as background color, databar and icons. Colors can be based on predefined traffic lights or continuous color scales.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use the conditional formatting to improve KPI&amp;#039;s visualization, especially in [[QPR_ProcessAnalyzer_Table#Conditional_formatting_examples|tables]] where the bare numbers are slow to read. There are variety of visualization options, such as background color, databar and icons. Colors can be based on predefined traffic lights or continuous color scales.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avoid the [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout settings]] (JSON) as their compatibility with future QPR ProcessAnalyzer releases might not be maintained in a stable way. Use the custom layout settings only when it&#039;s absolutely necessary to achieve the desired visualization.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Using filters ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Using filters ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21158&amp;oldid=prev</id>
		<title>Ollvihe at 09:05, 31 March 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21158&amp;oldid=prev"/>
		<updated>2022-03-31T09:05:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:05, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes common best practices that should be followed when working with dashboards. Following these best practices make sure that dashboards are easy to maintain, respond quickly and are understandable and illustrative.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes common best practices that should be followed when working with dashboards. Following these best practices make sure that dashboards are easy to maintain, respond quickly and are understandable and illustrative.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Usability &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Easiness of use &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use the [[QPR_ProcessAnalyzer_Chart#On-screen_Settings|on-screen settings]] for settings that often users want to change, as they are easier to access than opening the settings dialog. They also guide users to variate and adjust parameters that are relevant for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use the [[QPR_ProcessAnalyzer_Chart#On-screen_Settings|on-screen settings]] for settings that often users want to change, as they are easier to access than opening the settings dialog. They also guide users to variate and adjust parameters that are relevant for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Limit the shown case and event attributes and event types, if there are some that are not used in the analysis. This will make the dropdown lists shorter making it easier for users to find the relevant selections. The shorter lists don&amp;#039;t have performance impact, though.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Limit the shown case and event attributes and event types, if there are some that are not used in the analysis. This will make the dropdown lists shorter making it easier for users to find the relevant selections. The shorter lists don&amp;#039;t have performance impact, though.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Mappings from measures and dimensions to visualization, such as X- and Y-axis can be set freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures to the Y-axis. For some special analysis, it might be easier to use the table to first configure the desired measures and dimensions, and then switch to the desired graphical visualization (such as column, bar or line chart) and map the table columns to the chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Mappings from measures and dimensions to visualization, such as X- and Y-axis can be set freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures to the Y-axis. For some special analysis, it might be easier to use the table to first configure the desired measures and dimensions, and then switch to the desired graphical visualization (such as column, bar or line chart) and map the table columns to the chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use presets as basis when creating charts. The presets contain commonly needed analysis, so in many cases you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by starting from a preset, and continue modifying the chart settings for your customized needs.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use presets as basis when creating charts. The presets contain commonly needed analysis, so in many cases you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by starting from a preset, and continue modifying the chart settings for your customized needs.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid the [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;json &lt;/del&gt;settings]] as their compatibility with future QPR ProcessAnalyzer releases might not be maintained in a stable way. Use the custom layout &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;json &lt;/del&gt;only when it&amp;#039;s absolutely necessary to achieve the desired visualization.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid the [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout settings]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(JSON) &lt;/ins&gt;as their compatibility with future QPR ProcessAnalyzer releases might not be maintained in a stable way. Use the custom layout &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;settings &lt;/ins&gt;only when it&amp;#039;s absolutely necessary to achieve the desired visualization.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Visualization &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Data visualization &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If the automatically generated title is not descriptive enough, use a [[QPR_ProcessAnalyzer_Chart#Visual_Settings|custom title]]. Also define custom labels for measures and dimensions if they describe the them better. The measure and dimension labels are shown in chart axes, tooltips and table headers. In many measures and dimensions, the automatically generated titles are suitable.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If the automatically generated title is not descriptive enough, use a [[QPR_ProcessAnalyzer_Chart#Visual_Settings|custom title]]. Also define custom labels for measures and dimensions if they describe the them better. The measure and dimension labels are shown in chart axes, tooltips and table headers. In many measures and dimensions, the automatically generated titles are suitable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check that each measure and dimension has a descriptive unit. For example, the generic process mining terms &amp;quot;cases&amp;quot; and &amp;quot;events&amp;quot; might be replaced with what they actually represent, such as orders, incidents etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check that each measure and dimension has a descriptive unit. For example, the generic process mining terms &amp;quot;cases&amp;quot; and &amp;quot;events&amp;quot; might be replaced with what they actually represent, such as orders, incidents etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note how the [[Measure, Dimension and Column Settings#Special values|special values]], such as nulls and empty strings, are presented &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and set &lt;/del&gt;descriptive labels for them. For example, when showing duration between events, cases which don&amp;#039;t have the events which the duration is calculated from, are shown as nulls&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Instead &lt;/del&gt;of an empty label, the label can be &amp;quot;Events missing&amp;quot; etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note how the [[Measure, Dimension and Column Settings#Special values|special values]], such as nulls and empty strings, are presented &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by setting &lt;/ins&gt;descriptive labels for them. For example, when showing duration between events, cases which don&amp;#039;t have the events which the duration is calculated from, are shown as nulls&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and instead &lt;/ins&gt;of an empty label, the label can be &amp;quot;Events missing&amp;quot; etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use conditional formatting to improve KPI visualization, especially in [[QPR_ProcessAnalyzer_Table#Conditional_formatting_examples|tables]] where the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;pure &lt;/del&gt;numbers are slow to read. There are variety of visualization options, such as background color, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data bar or &lt;/del&gt;icons. Colors can be based on predefined traffic lights or continuous color scales.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;conditional formatting to improve KPI&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;s &lt;/ins&gt;visualization, especially in [[QPR_ProcessAnalyzer_Table#Conditional_formatting_examples|tables]] where the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;bare &lt;/ins&gt;numbers are slow to read. There are variety of visualization options, such as background color, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;databar and &lt;/ins&gt;icons. Colors can be based on predefined traffic lights or continuous color scales.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Working with &lt;/del&gt;filters ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Using &lt;/ins&gt;filters ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Filters can be added both to the dashboard level (affecting all charts) and to individual &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chart level&lt;/del&gt;. For filters that will be used by most &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of the &lt;/del&gt;charts, are usually best to set to the dashboard level. For those charts that don&amp;#039;t use the common filters, the [[QPR ProcessAnalyzer Chart#Filtering Settings|Chart Follows Dashboards Filters]] setting can be disabled. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Difference &lt;/del&gt;between the dashboard and chart &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;level &lt;/del&gt;filters&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/del&gt;is that the dashboard &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;level &lt;/del&gt;filters are all the time visible in the dashboard, and they can &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;also &lt;/del&gt;be easily changed by users. From the performance viewpoint, it doesn&amp;#039;t matter in which level the filters are defined.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Filters can be added both to the dashboard level (affecting all charts) and to individual &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;charts&lt;/ins&gt;. For filters that will be used by most charts, are usually best to set to the dashboard level. For those charts that don&amp;#039;t use the common filters, the [[QPR ProcessAnalyzer Chart#Filtering Settings|Chart Follows Dashboards Filters]] setting can be disabled. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Notable difference &lt;/ins&gt;between the dashboard and chart filters is that the dashboard filters are all the time visible in the dashboard, and they can be easily changed by users. From the performance viewpoint, it doesn&amp;#039;t matter in which level the filters are defined.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The dashboard level &lt;/del&gt;filter can either be an &amp;#039;&amp;#039;Unsaved filter&amp;#039;&amp;#039; or it can be saved as a separate filter object in the model. The dashboard anyways stores the filter rules, so saving the filter is not &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;necessary&lt;/del&gt;. The difference is that the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stored &lt;/del&gt;filter has a name which is visible below the model name. Also &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;if &lt;/del&gt;the dashboard level filter rules are changed, the original filter can be restored by selecting the saved filter in the filters menu.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dashboard &lt;/ins&gt;filter can either be an &amp;#039;&amp;#039;Unsaved filter&amp;#039;&amp;#039; or it can be saved as a separate filter object in the model. The dashboard anyways stores the filter rules, so saving the filter &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;separately &lt;/ins&gt;is not &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;required&lt;/ins&gt;. The difference is that the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;saved &lt;/ins&gt;filter has a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;descriptive &lt;/ins&gt;name which is visible below the model name. Also &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;when &lt;/ins&gt;the dashboard level filter rules are changed, the original filter can be restored by selecting the saved filter in the filters menu.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If no meaningful filters can be created from a chart, disable the [[QPR_ProcessAnalyzer_Chart#Filtering_Settings|Create Filters from Chart]] setting. When filtering is disabled, the cursor indicates that there are no clickable items in the chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If no meaningful filters can be created from a chart, disable the [[QPR_ProcessAnalyzer_Chart#Filtering_Settings|Create Filters from Chart]] setting. When filtering is disabled, the cursor indicates that there are no clickable items in the chart&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and users don&amp;#039;t accidentally create filters that have no meaning in the analysis&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21153&amp;oldid=prev</id>
		<title>Ollvihe at 00:28, 31 March 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21153&amp;oldid=prev"/>
		<updated>2022-03-31T00:28:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:28, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot;&gt;Line 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For the &amp;#039;&amp;#039;Analyzed objects&amp;#039;&amp;#039; setting, prefer &amp;#039;&amp;#039;Cases&amp;#039;&amp;#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;over &lt;/del&gt;&amp;#039;&amp;#039;Events&amp;#039;&amp;#039;, as calculating from events is slower than cases, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;because usually &lt;/del&gt;there are more events than cases. Some measures, even though calculated from the event data, can still be calculated from &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cases&lt;/del&gt;. Also &amp;#039;&amp;#039;Variations&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Event types&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Flows&amp;#039;&amp;#039; are generally fast&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. On the other hand&lt;/del&gt;, &amp;#039;&amp;#039;Flow Occurrences&amp;#039;&amp;#039; is slow, as there are even more flow occurrence objects than events.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For the &amp;#039;&amp;#039;Analyzed objects&amp;#039;&amp;#039; setting, prefer &amp;#039;&amp;#039;Cases&amp;#039;&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;&amp;#039;&amp;#039;Events&amp;#039;&amp;#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;only when required&lt;/ins&gt;, as calculating from events is slower than cases, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as &lt;/ins&gt;there are more events than cases. Some measures, even though calculated from the event &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;level &lt;/ins&gt;data, can still be calculated from &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;measures and dimensions available in &amp;#039;&amp;#039;Cases&amp;#039;&amp;#039;&lt;/ins&gt;. Also &amp;#039;&amp;#039;Variations&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Event types&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Flows&amp;#039;&amp;#039; are generally fast, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;whereas &lt;/ins&gt;&amp;#039;&amp;#039;Flow Occurrences&amp;#039;&amp;#039; is slow, as there are even more flow occurrence objects than events.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The more there are charts in the dashboard, the more it takes to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;get &lt;/del&gt;the dashboard &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;opened &lt;/del&gt;and all &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;chart &lt;/del&gt;shown. This is because each chart &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;requests &lt;/del&gt;a calculation which all &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;need to be &lt;/del&gt;done at the same time in the server. If the dashboard opens slowly, charts could be divided into multiple dashboards and [[Label and Link|links]] created to navigate between them.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The more there are charts in the dashboard, the more it takes to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;open &lt;/ins&gt;the dashboard and all &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;charts &lt;/ins&gt;shown. This is because each chart &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;performs &lt;/ins&gt;a calculation which &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;are &lt;/ins&gt;all done at the same time in the server. If the dashboard opens slowly, charts could be divided into multiple dashboards and [[Label and Link|links]] created to navigate between them.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Prefer ready-made measures and dimensions, and create custom only when there no ready-made available. This is because the ready-made measures and dimensions have been optimized for performance. When creating a custom measure or dimension, you need to be careful not to write the calculation formula in an inefficient way.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Prefer ready-made measures and dimensions, and create custom only when there &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/ins&gt;no ready-made available. This is because the ready-made measures and dimensions have been optimized for performance. When creating a custom measure or dimension, you need to be careful not to write the calculation formula in an inefficient way.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For some simple calculations, &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Measure, Dimension and Column Settings#Statistical calculations|Statistical calculations]] can be used instead of need to write a custom expression. Also the [[Measure, Dimension and Column Settings#Advanced settings|Adjustment expression]] is useful in avoiding a fully custom expressions in some occasions.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Limit &lt;/ins&gt;the number of returned rows by using the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Maximum Rows]] setting. The less there are rows, the better &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;performance as there is less data to calculate, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;less data to &lt;/ins&gt;transfer&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;less data to &lt;/ins&gt;visualize. In many dashboards, limiting the amount of shown data also &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;improves &lt;/ins&gt;usability, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as it avoids overflow of too detailed information&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Limit &lt;/del&gt;number of returned rows by using the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Maximum Rows]] setting. The less there are rows, the better performance as there is less data to calculate, transfer and visualize. In many dashboards, limiting the amount of shown data &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;also &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;desired for &lt;/del&gt;usability, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;e.g., show only the top-20 most important items&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;Sorting&amp;#039;&amp;#039; the data affects performance, so use sorting only when it&amp;#039;s relevant for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;Sorting&amp;#039;&amp;#039; the data affects performance, so use sorting only when it&amp;#039;s relevant for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* There are occasions when the [[Measure, Dimension and Column Settings#Statistical calculations|Statistical calculations]] can be used instead of going to a custom expression. Also the [[Measure, Dimension and Column Settings#Advanced settings|Adjustment expression]] may be useful in avoiding a custom expressions in some KPI&#039;s.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;Group Rows Exceeding Maximum&amp;#039;&amp;#039; goes through all rows that otherwise would be left out of the calculation, which has an impact on the performance, so use it only when the information is useful for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;Group Rows Exceeding Maximum&amp;#039;&amp;#039; goes through all rows that otherwise would be left out of the calculation, which has an impact on the performance, so use it only when the information is useful for the analysis.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Don&amp;#039;t use dimensioning when it&amp;#039;s &lt;/del&gt;not needed&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. When desire &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to have &lt;/del&gt;a row for each &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;root &lt;/del&gt;object, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dimensioning is unnecessary&lt;/del&gt;. For example, Cases as Analyzed objects and dimensioning by case id will lead to a row for each case, but the same result can be achieved by disabling dimensioning.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Dimensioning]] is &lt;/ins&gt;not needed&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, when there &lt;/ins&gt;is a row for each &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;analyzed &lt;/ins&gt;object &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(case, event&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;etc.)&lt;/ins&gt;. For example, Cases as Analyzed objects and dimensioning by case id will lead to a row for each case, but the same result can be achieved by disabling dimensioning&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, which will improve performance&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21152&amp;oldid=prev</id>
		<title>Ollvihe at 00:16, 31 March 2022</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21152&amp;oldid=prev"/>
		<updated>2022-03-31T00:16:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 00:16, 31 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;commonly used &lt;/del&gt;best practices that should be followed when &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;designing and editing &lt;/del&gt;dashboards. Following these best practices make sure that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;dashboards are easy to maintain, respond quickly and are understandable and illustrative.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;common &lt;/ins&gt;best practices that should be followed when &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;working with &lt;/ins&gt;dashboards. Following these best practices make sure that dashboards are easy to maintain, respond quickly and are understandable and illustrative&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Usability ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Use the [[QPR_ProcessAnalyzer_Chart#On-screen_Settings|on-screen settings]] for settings that often users want to change, as they are easier to access than opening the settings dialog. They also guide users to variate and adjust parameters that are relevant for the analysis.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Limit the shown case and event attributes and event types, if there are some that are not used in the analysis. This will make the dropdown lists shorter making it easier for users to find the relevant selections. The shorter lists don&amp;#039;t have performance impact, though.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Mappings from measures and dimensions to visualization, such as X- and Y-axis can be set freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures to the Y-axis. For some special analysis, it might be easier to use the table to first configure the desired measures and dimensions, and then switch to the desired graphical visualization (such as column, bar or line chart) and map the table columns to the chart.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Use presets as basis when creating charts. The presets contain commonly needed analysis, so in many cases you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by starting from a preset, and continue modifying the chart settings for your customized needs.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avoid the [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout json settings]] as their compatibility with future QPR ProcessAnalyzer releases might not be maintained in a stable way. Use the custom layout json only when it&amp;#039;s absolutely necessary to achieve the desired visualization&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Visualization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Visualization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Define a custom title for the chart, if &lt;/del&gt;the automatically generated title is not descriptive.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;If &lt;/ins&gt;the automatically generated title is not descriptive &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;enough, use a [[QPR_ProcessAnalyzer_Chart#Visual_Settings|custom title]]&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Also define &lt;/ins&gt;custom &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;labels for measures and dimensions &lt;/ins&gt;if they describe the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them &lt;/ins&gt;better. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The measure and dimension labels are shown in chart axes&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tooltips and table headers. In &lt;/ins&gt;many measures and dimensions, the automatically generated &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;titles are &lt;/ins&gt;suitable.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Define a &lt;/del&gt;custom &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;label text &lt;/del&gt;if they describe the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;measures and dimensions &lt;/del&gt;better. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Still&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in &lt;/del&gt;many measures and dimensions, the automatically generated &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;title is &lt;/del&gt;suitable.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check that each measure and dimension has a descriptive unit. For example, the generic &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;process mining &lt;/ins&gt;terms &amp;quot;cases&amp;quot; and &amp;quot;events&amp;quot; might &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;be replaced with what they actually represent&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;such as &lt;/ins&gt;orders, incidents etc.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Check that each measure and dimension has a descriptive unit. For example, the generic terms &amp;quot;cases&amp;quot; and &amp;quot;events&amp;quot; might &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not describe the counts best&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and cases might be &lt;/del&gt;orders, incidents etc.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note how the [[Measure, Dimension and Column Settings#Special values|special values]], such as &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nulls &lt;/ins&gt;and empty strings, are presented and set descriptive &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;labels for them&lt;/ins&gt;. For example, when showing duration between events, cases which don&amp;#039;t have the events &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which the duration is calculated from&lt;/ins&gt;, are shown as nulls. Instead of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an &lt;/ins&gt;empty label, the label can be &amp;quot;Events missing&amp;quot; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;etc&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Note &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;also &lt;/del&gt;how the [[Measure, Dimension and Column Settings#Special values|special values]] , such as &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;null &lt;/del&gt;and empty strings, are presented and set &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/del&gt;descriptive &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;label name&lt;/del&gt;. For example, when showing duration between events, cases which don&amp;#039;t have the events, are shown as nulls. Instead of empty label, the label can be &amp;quot;Events missing&amp;quot;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use conditional &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;formatting &lt;/ins&gt;to improve KPI visualization, especially in &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[QPR_ProcessAnalyzer_Table#Conditional_formatting_examples|&lt;/ins&gt;tables&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] where the pure numbers &lt;/ins&gt;are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;slow &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;read&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There &lt;/ins&gt;are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;variety of &lt;/ins&gt;visualization &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;options&lt;/ins&gt;, such as &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;background color&lt;/ins&gt;, data bar or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;icons&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Colors can &lt;/ins&gt;be &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;based on predefined traffic lights or continuous color scales&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use conditional &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;formattings &lt;/del&gt;to improve KPI visualization, especially in tables&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Usability ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Use on-screen settings for settings that often users want to change, as they &lt;/del&gt;are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;easier &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;use than opening the settings&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;They also guide users to change parameters that might be relevant from the analysis viewpoint.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Limit the shown case/event attributes and event types, if there &lt;/del&gt;are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;some that are not needed. This will make the dropdown lists shorter making it easier for users to find the important selections. This doesn&amp;#039;t have performance impact, though.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Mappings from measures and dimensions to &lt;/del&gt;visualization, such as &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;X-and Y axis can be done freely, so dimensions don&amp;#039;t always need to go to the X-axis and measures go to the Y-axis. For some special analysis&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;it might be easier to use the table to first set the desired measures and dimensions to get the needed &lt;/del&gt;data&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, and then switch to the graphical visualization (such as column, &lt;/del&gt;bar or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;line chart) and map the table columns to the chart&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Use preset as basis when designing dashboards. The preset contain commonly needed analysis, so in many cases, you&amp;#039;ll find what you are looking for from the presets. It&amp;#039;s easy to create a chart by taking a preset as a basis, and continue modifying the chart settings for your customized needs.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Avoid [[QPR_ProcessAnalyzer_Chart#Visual_Settings|Custom Layout json settings]] as their compatibility with future QPR ProcessAnalyzer versions might not &lt;/del&gt;be &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;maintained. Use the custom layout json only when it&amp;#039;s absolutely necessary to achieve the desired visualization&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Working with filters ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Working with filters ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
	<entry>
		<id>https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21147&amp;oldid=prev</id>
		<title>Ollvihe: /* Advanced performance optimization */</title>
		<link rel="alternate" type="text/html" href="https://wiki.onqpr.com/pa/index.php?title=Best_Practices_for_Designing_Dashboards&amp;diff=21147&amp;oldid=prev"/>
		<updated>2022-03-29T22:43:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Advanced performance optimization&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:43, 29 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 31:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Advanced performance optimization ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;find &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fastest settings&lt;/del&gt;. Usually &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;settings up a working chart is &lt;/del&gt;the first thing to do, and if the chart &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;appears &lt;/del&gt;too &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;slow&lt;/del&gt;, you can try to find &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;another, &lt;/del&gt;faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* For slow &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;performing &lt;/ins&gt;charts, use the [[QPR ProcessAnalyzer Chart#Benchmark performance|Benchmark Performance]] to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;experiment which settings provide &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;best performance&lt;/ins&gt;. Usually the first thing to do &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is setting up a working chart&lt;/ins&gt;, and if the chart &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;shows &lt;/ins&gt;too &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;slowly&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with the benchmark performance &lt;/ins&gt;you can try to find &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an alternative and &lt;/ins&gt;faster way to calculate the same chart.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate event level information to case level. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;only &lt;/del&gt;calculated when the model is loaded and thus filtering doesn&amp;#039;t affect &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the calculated attributes&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;On the other hand&lt;/del&gt;, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Calculated_Attributes_in_QPR_ProcessAnalyzer|Calculated attributes]] can improve performance, as they can pre-calculate &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expressions already in the model loading. For example, &lt;/ins&gt;event level information &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can be calculated &lt;/ins&gt;to case level &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;using calculated case attributes&lt;/ins&gt;. Calculated attributes cannot be used when there is event type filtering applied, as the calculated attributes are calculated when the model is loaded and thus filtering doesn&amp;#039;t affect &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Also&lt;/ins&gt;, don&amp;#039;t use calculated attributes unnecessarily, because they are stored into memory, and thus they consume memory similar to normal attributes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Don&amp;#039;t calculate anything from the entire model level in &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;calculated attributes &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expression&lt;/del&gt;, because it will lead to very slow performance in model loading.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Don&amp;#039;t calculate anything from the entire model level in calculated attributes &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expressions&lt;/ins&gt;, because it will lead to very slow performance in model loading.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;making &lt;/del&gt;same &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;calculations &lt;/del&gt;multiple times in different measures. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Avoid &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;calculating &lt;/ins&gt;same &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;expressions &lt;/ins&gt;multiple times in different measures &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of the same chart&lt;/ins&gt;. If there are repeating expressions, create a separate measure for the repeating part, and define the measure as a variable, which can then be referenced from other measures.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;produce &lt;/del&gt;same result for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;each measure&lt;/del&gt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dimension&lt;/del&gt;, calculate that part separately in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039;&lt;/del&gt;Additional root expression&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039; &lt;/del&gt;and store the result to a variable. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;There &lt;/del&gt;the calculation is done only once improving performance. For example, if creating measure that makes a comparison to the entire model, the model level part &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can &lt;/del&gt;be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When using custom expressions, and there are parts of the expression &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that give &lt;/ins&gt;same result for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;all measures&lt;/ins&gt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dimensions&lt;/ins&gt;, calculate that part separately in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[QPR_ProcessAnalyzer_Chart#Working_with_custom_expressions|&lt;/ins&gt;Additional root expression&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;and store the result to a variable. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This way &lt;/ins&gt;the calculation is done only once improving performance &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;significantly&lt;/ins&gt;. For example, if creating &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a &lt;/ins&gt;measure that makes a comparison to the entire model&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, such as percentage of the entire model data&lt;/ins&gt;, the model level part &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;should &lt;/ins&gt;be calculated in the Additional root expression.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling improves performance &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in cases when it can be used&lt;/del&gt;. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Unfortunately&lt;/del&gt;, in most &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cases, it &lt;/del&gt;cannot be used, as it affects the analysis results, for example &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in object counts&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Sampling &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the data &lt;/ins&gt;improves performance &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;significantly&lt;/ins&gt;. The idea of sampling is to pick only a portion of the root objects for the dimension and measure calculation to improve performance. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Still&lt;/ins&gt;, in most &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;charts sampling &lt;/ins&gt;cannot be used, as it affects the analysis results, for example &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;count of cases and events. See more of the [[QPR_ProcessAnalyzer_Chart#Analyzed_Data|Analyzed objects sample size]] setting&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Different models can be used in the same dashboard, and for example filtering still works if the models use same case/event attribute and event type names. This allows to create models optimized for specific charts, which might improve performance.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Exporting data ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* When exporting large amount of data, use the CSV export, as it performs better for large data comparing to the Excel export. Very large datasets (such as over million rows) cannot be exported even with the CSV export in one run. To get the data exported, the dataset can be divided into smaller parts by using the &amp;#039;&amp;#039;Start at row&amp;#039;&amp;#039; and &amp;#039;&amp;#039;Rows to export&amp;#039;&amp;#039; settings.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ollvihe</name></author>
	</entry>
</feed>