QPR ProcessAnalyzer Release Notes: Difference between revisions

From QPR ProcessAnalyzer Wiki
Jump to navigation Jump to search
No edit summary
 
(708 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This page contains new features and fixed issues for each QPR ProcessAnalyzer release.
This page lists all new features and fixed issues for each QPR ProcessAnalyzer release.


== Next Release: QPR ProcessAnalyzer 2023.5 (2023-09-05) ==
== Next Release: QPR ProcessAnalyzer 2025.7 (planned 2025-11-11) ==
[[Next_Release_Roadmap|See roadmap for next release features and fixes]]
 
== Latest Release: QPR ProcessAnalyzer 2025.6 (build 10690) (released 2025-10-01) ==
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_6.pdf QPR_ProcessAnalyzer_2025_6.pdf]


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
Big data chart support of models with local datatables (i.e., SQL Server stored) is deprecated. Big data chart has allowed to process data both in Snowflake and SQL Server. Now the support for SQL Server is deprecated and the Big data chart will only support calculation in Snowflake. If there are big data charts using SQL Server calculation in use, either switch to in-memory charts (requiring to load data in-memory) or migrate data to Snowflake.
Known issue: If the [[PA_Configuration_database_table#:~:text=DefaultUiLanguage|DefaultUiLanguage]] system configuration is not defined, users who haven't changed their own language, are unable to login. To prevent this problem, please ensure the DefaultUiLanguage is defined. The next release will fix this issue (D-14706).
</div>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
Following legacy analyses have been removed: Operation log (analysis number: 12), Root causes (14), Correlations (15), Idea feed (16) and Duration influence (29). This functionality may be in use in SQL scripts (in [[SQL_Scripting_Commands#--.23GetAnalysis|--#GetAnalysis]] command), and thus needs to be changed to the [[SQL_Scripting_Commands#--.23RunQuery|--#RunQuery]] command (see the [[RunQuery_Script_Examples|examples page]] how each legacy analysis can be replaced). The OperationLog analysis is replaced by the [[Generic_Properties_in_Expression_Language#OperationLog|OperationLog function]] and the Infcluencers analysis is replaced by the [[FindRootCauses_Function|FindRootCauses function]].
Content-Security-Policy (CSP) HTTP header has been updated to enhance security by implementing more restrictive settings. The following directives have been added:
* object-src 'none'
* frame-ancestors 'self'
* form-action 'none'
* base-uri 'none'
* worker-src blob:


Following script can be run in the [[Navigation_Menu#Expression_Designer|Expression Designer]] to show whether there are scripts that use the removed analyses (and thus require migration):
These new restrictions may affect usage that has previously been possible. For example, with the new settings, QPR ProcessAnalyzer can be embedded to a website only within the same origin. For detailed instructions on embedding QPR ProcessAnalyzer on a different website, please refer to [[Embed_to_Website|this quide]]. Additionally, for information on modifying the CSP settings, see documentation for [[QPR_ProcessAnalyzer_Security_Hardening#HTTP_Response_Headers|security hardening]].
<pre>
let removedAnalyses = [12, 14, 15, 16, 29];
OrderByDescending(Flatten(Projects.Scripts).Where({
  let scr = _;Sum(removedAnalyses.("'AnalysisType','" + _ + "')").{let num=_;(scr.code ?? "").Replace(" ", "").Replace("\t", "").Replace("\n", "").Replace("\r\n", "").Replace("\r", "").Contains(num)})>0;
}),LastRunStart).(Project.Name + ": " + name + " (id: " + id + ") (last run: " + (LastRunStart ?? "N/A") + ")");
</pre>
</div>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
By default the Snowflake ODBC driver generates quite much logging to files which might unnecessarily fill up the disk space. It's recommended to set the LogLevel parameter to value 0. The path where the logs are created can be seen in Windows registry (key LogPath). More information about configuring Snowflake ODBC parameters: https://docs.snowflake.com/en/developer-guide/odbc/odbc-parameters.
In the QPR ProcessAnalyzer 2025.6 Native App, the release version number is not displayed correctly in the User Settings dialog. This omission does not have any other complications. QPR ProcessAnalyzer 2025.6 is the only release with this issue, making it possible to identify this release despite the missing version number. This issue is specific to the Native App only. The next release will fix this issue (D-14703).
</div>
</div>


'''Features:'''
===New features===
* B-07971: Machine learning based [[Clustering_Analysis|Clustering analysis]] can be run in Snowflake.
* [[User_Settings#Starting_dashboard|Starting dashboard]] after login can be defined for user groups, allowing to create customized starting pages for easy navigation. (B-08791)
* B-07989: In dashboard designer the stacking order of charts can be changed with buttons [[QPR_ProcessAnalyzer_Dashboard_Designer#Viewing_and_Editing_Dashboards|Bring to front, Send to back, Bring forward and Send backward]].
* Snowflake [[QPR_ProcessAnalyzer_Chart#Filtering_Settings|chart's event filters]] are now embedded to filters created from chart, to precisely follow chart calculation. (B-08845)
* B-07977: For [[Sankey_Chart|sankey diagram]], added Start level and End level mappings to define custom start and end level for the sankey flows. Implemented also color mappings to define specific colors for specific values.
* Result data can be filtered in Snowflake charts using [[QPR_ProcessAnalyzer_Chart#:~:text=Result%20filtering%20expression|result filtering expression]] which works for any datasets. (B-08751)
* B-08010: To improve performance, charts are loaded and updated only when they are visible in the dashboard.
* Filter rules order now stays the same when making filter selections and confirming filter. (B-08801)
* B-07975: Added following [[SQL_Expressions#Date_functions|date related functions]] to Snowflake: DayOfYear, DayOfWeek, WeekOfYear, Quarter.
* Added model setting [[QPR_ProcessAnalyzer_Project_Workspace#Hiding_Object_Count_Statistics|Show object count statistics]] to hide object counts information in dropdown lists to optimize performance. (B-08849)
* B-07908: When [[QPR_ProcessAnalyzer_Project_Workspace#Duplicating_Model|model is duplicated]], also filters in the model are also duplicated.
* Added support for [[Chart_On-screen_Settings#:~:text=showStatistics|hiding statistics for on-screen setting]] dropdown lists to improve performance, and in addition the case ID is hidden Case/Event attribute profiling presets. (B-08840)
* B-07904: Filters and models API for expression language has been completed.
* Added following audit fields to users and groups: Created date, Created by, Last modified date, and Last modified by. (B-08792)
* B-07991: In [[Filter_Selectors|case and event type filter selectors]], threshold whether the dropdown list or search dialog is shown can be defined using the ''Maximum Rows'' setting. Also the search dialog filters search results by other filter rules in the dashboard.
* Snowflake Native App: Added procedure to that [[QPR_ProcessAnalyzer_Native_App_in_Snowflake#Recover_administrator_access|creates administrator user to Native App]] if access to the app has been lost. Also, prevented user management operations that remove own access. (B-08733)
* B-07999: Filters report has been changed to use the [[QPR_ProcessAnalyzer_Objects_in_Expression_Language#Filter|expression language API for filters]].
* Snowflake Native App: Added procedure to [[Change_Native_App_Compute_Pool_Size|change Native App compute pool size]]. Changed new Native Apps to use CPU_X64_S size compute pool, and improved Native App stability. (B-08859)
* B-07813: UI components are updated. There are small visual improvements, such as in flowchart flows are routed a bit differently and in charts the hidden series is shown as strike-through in the legend.
* B-07540: Added [[QPR_ProcessAnalyzer_Expressions#Throwing_objects|throw statement]] to expression language.
* B-07963: Following legacy analysis types have been removed: Operation log (analysis number: 12), Root causes (14), Correlations (15), Idea feed (16) and Duration influence (29) (see more information in the note above).


'''Fixed issues:'''
===Fixed issues===
* D-13777: Filters could not be created in charts when "Update Filter During Selection" setting was disabled.
* Snowflake Cortex based AI Assistant didn't show the results table. (D-14643)
* D-13767: Automation per Event Types preset in in-memory incorrectly showed only one event type.
* When percent stacking is used, Y-axis values are now shown as percentages in data label and tooltip. (D-14633)
* D-13674: Business calendar dialog layout was incorrect when a model with a long name was selected to copy holidays.
* Fixed issue where Label&Link component had sometimes unnecessary vertical scrollbar. (D-14685)
* D-13815: Dashboard designer background grid was not visible in entire area in edit mode. Improved also the grid to match to snapping in move and resize.
* Model validation showed incorrect error message for models with numeric duplicate case ID's. (D-14687)
* D-13756: Changing background color in KPI card didn't have any effect.
* In Workspace, scripts "View current run log" dialog didn't update log correctly when new entries were added. (D-14662)
* D-13812: "Exclude events" was incorrectly translated to "Exclure les cas" in French.
* Event type mapping in charts didn't work in object-centric models. (D-14620)
* D-13811: Table actions link to a new window didn't go to dashboard if there were other parameters in the link.
* Model generation didn't work as transformation step using _system.ML.ApplyTransformation function. (D-14654)
* D-13601: Fixed issue where some presets may have given error when attribute value selection and the automatically selected attribute conflicted by the data type.
* Others aggregation has been removed from date type of dimensions because tables don't work with textual data in date columns. (D-14623)
* D-13753: While Snowflake model was selected, in Filters and User Rights reports the Columns list could not be opened.
* Fixed issue in AI Assistant where using both Snowflake Cortex and OpenAI modes caused error. (D-14646)
* D-13720: Now table column filter and sorting are preserved when resizing or zooming page.
* In User Management Effective permissions table, column filter incorrectly showed "true" and "false" as options. (D-14639)
* D-13785: In table, increased number of rows to 20000 that are inspected to get available items shown in Excel-style column filter.
* Pivot table incorrectly showed "Numeric value is not recognized" error when Count or Unique count aggregations were used. (D-14559)
* D-13759: Some statistical processings had bad performance with large number of rows.
* Workspace buttons are now visible in small screens spanning to multiple lines. (D-14587)
* D-13787: Conformance statistics component didn't have scrollbars when text didn't fit to the visible area.
* Added tooltip text to "Move to" submenu containing projects so that long project names can be seen. (D-14612)
* D-13788: In-memory "Nonconformance reason" selection caused error when two of them was selected in the same chart.
* Translation was missing from error messages when deleting items from recycle bin. (D-14652)
* D-13783: When Analyzed objects was Generic analysis, column selection incorrectly caused "Analysis has not been selected" error.
* Fixed data type related issues with in-memory Floor, Ceiling and aggregation functions. (D-14622)
* D-13776: When measure name contained quotation mark, notification preview didn't work.
* Optimized resource loading by getting rid of unnecessary file assets/i18n/en_US.json. (D-14641)
* D-13747: Filtering with integer type of case id with case attribute value filter caused error in Snowflake.
* Fixed issue where opening script editor gave javascript error about content-security-policy violation. (D-14627)
* D-13791: In Firefox, model selection in chart settings didn't show models in the first open.
* Fixed issue in charts showing datatable content had a strange error when datatable was not selected. (D-14650)
* D-11984: Recycle bin buttons didn't fit to the screen when screen width was small.
* Fixed incorrect data types in some project, user and group related measures. (D-14619)
* D-13780: Using CaseId case attribute in clustering analysis did not work with Snowflake 106 cases standard model.
* Fixed issue where moving expression scripts was not possible when SQL Scripting was not allowed. (D-14624)
* D-13781: Clustering analysis produced Python error with a certain simple Snowflake model.
* Deleting and renaming scripts were not available for expression scripts when SQL Scripting was not allowed. (D-14625)
* D-13730: Snowflake: Case attribute filtering didn't work when there are cases without row in cases table.
* Improved documentation for situation when non-existing Snowflake warehouse is configured for a model. (D-14543)
* D-13803: There was chart configuration validation error in browser console when measures were moved into dimensions in Big data chart.
* Project properties dialog shows a descriptive text when no secrets have been defined instead of an empty table. (D-14611)
* D-13758: There was performance issue with the Recent tasks system preset.
* Improved messages and New project button visibility in Workspace top level when no projects are shown. (D-14609)
* D-13793: Snowflake clustering failed when cluster count is larger than case count.
* Event preset gave error if enabling Apply with Chart Filters setting and trying to create filters. (D-14695)
* D-13763: SQL expression based filter rule with Where function to filter events didn't filter anything in Snowflake.
* D-13804: Millisecond function could not be found from Snowflake.
* D-13772: Expression EventLog.Cases.Events caused error "Value cannot be null".
* D-13755: Model.CaseAttributes sometimes gave incorrectly Any datatype for all attributes.
* D-13739: When switching between System reports there was error: "Uncaught Error: 2nd dimension not found. at y.getExpressionConfiguration".
* D-12109: Sometimes flowcharts showed message "Error in querying event type measures. Input string was not in a correct format".
* D-12473: Cost Savings by Automation preset gave sometimes error "Unable to cast object of type 'System.Double' to type 'System.String'".
* D-13750: Snowflake model didn't work with the Case Duration vs. Manual Activities preset.
* D-13657: There was error converting data type nvarchar to bigint.
* D-13796: Some Snowflake operations didn't work with zero rows and columns.
* D-12494: Now when chart size changes, the table column filters and sorting are preserved.
* D-13736: In Performance benchmarking dialog, the Export result button exported wrong benchmark performance analysis result.
* D-13609: Improved conformance analysis related filter names.
* D-13594: Recycle bin buttons were not visible when opening recycle bin in a narrow screen.
* D-13226: Tooltips in the model properties dialog are now translated.
* D-12569: Table incorrectly showed ellipsis for narrow boolean type of columns showing checkboxes.
* D-13391: Emptying date or datetime picker value was not registered and it didn't trigger functionality.
* D-12621: Value search dialog didn't work with values containing backslashes.
* D-13796: Some Snowflake operation didn't work with zero rows/columns.


== Latest Release: QPR ProcessAnalyzer 2023.4 (build 2628) (released 2023-06-14) ==
===Other improvements===
* Added QPR ProcessAnalyzer API request ID to Snowflake queries to easily find matching query in Snowflake query history. (B-08839)
* [[QPR_ProcessAnalyzer_Security_Hardening#Added_HTTP_Headers|Content Security Policy HTTP header]] includes now object-src, frame-ancestors, form-action, base-uri, and worker-src. (B-08794)
* Snowflake queries have been optimized by removing null and empty string checks from mapped columns as they are now handled by the model validation check. (B-08837)
* Added backend support for object-centric model filtering based on case-centric filter rules. (B-08836)
* Frontend components have been updated. (B-08851)
* Backend components have been updated. (B-08852)


'''Features:'''
== QPR ProcessAnalyzer 2025.5 (build 10361) (released 2025-08-21) ==
* B-07767: Added [[Gantt_Chart|Gantt chart]] to visualize timeline of cases and events divided into swimlanes.
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_5.pdf QPR_ProcessAnalyzer_2025_5.pdf]
* B-06383: Added [[Sankey_Chart|Sankey chart]] to visualize flow from one set of values to another.
* B-07941: Implemented many more presets running in Snowflake models for compliance and operational excellence use cases. There are also presets for the path analysis and process bottlenecks identification.
* B-07864: Snowflake conformance analysis shows now [[Conformance_Analysis#Top_Deviations_(in-memory)_/_Deviating_Flows_(Snowflake)|reasons for conformance deviations]], such as which event occurrences deviated from the design model.
* B-07909: Snowflake conformance analysis visualizes [[Conformance_Analysis#Undesired_Events_(Snowflake)|undesired event types]] in table and flowchart.
* B-07823: Flowchart Bottlenecks preset has been changed to show bottlenecks for event types. Also renewed the [[QPR_ProcessAnalyzer_Logs#Task_Log|Tasks reports]] to use expression language based interface.
* B-07891: User interface has been [[Languages_and_Localization|translated into Portuguese]].
* B-07873: Improved [[QPR_ProcessAnalyzer_Pivot_Table|pivot table]] visual layout to highlight totals and aggregated rows. Also the row titles are now visible in the top left.
* B-07905: Added [[SQL_Expressions#Rank_functions|Rank related functions]] to Snowflake for writing more versatile custom KPI's, e.g., FirstValue, LastValue, NthValue, Lead and Lag.
* B-07912: Added more SQL expression [[SQL_Expressions#Array_functions|array functions ArrayToString and ArrayOverlap]] to Snowflake.
* B-06449: Added SQL expression functions ToTimestamp and TryToTimestamp for parsing timestamps from strings using provided format.
* B-07959: Added new functions Base64Encode and Base64Decode to help using basic HTTP authentication when calling web services.
* B-07206: SQL expressions support data [[SqlDataFrame_in_Expression_Language#WithClusterColumn|clustering]] which is an unsupervised machine learning algorithm to group data based on similarities.
* B-07848: Data can be extracted from SAP using the encrypted [[Importing_Data_from_SAP#SNC_encrypted_connection|SNC connection]].
* B-07903: Added expression language API to create and modify filters and models.
* B-03103: [[QPR_ProcessAnalyzer_Logs#Task_Log|Task log]] (operation log) can be accessed in expression language.
* B-07872: List aggregation with Distinct=true orders now items by their value.
* B-07940: Removed "Count" aggregation from textual values in Big data chart (you can use the Case count, Event count, etc. selection instead).
* B-07757: Backend support for datatables linking to user-definable Snowflake database, schema and table.
* B-07825: Improved error message when trying to use non-existing attributes in Snowflake queries.
* B-03101: To expression language, added try-catch-finally statement to handle thrown exceptions.
* B-07861: Removed available and total virtual memory information from User settings dialog.
* B-07902: Optimized sequences of joins in Snowflake queries to improve performance.
* B-07837: Updated backend components.


'''Fixed issues:'''
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
* D-13709: If image width-to-height ratio was lower than container's ratio, image was incorrectly stretched to fit the container.
When using Snowflake Cortex, the AI Assistant is not showing the results table in the assistant's response. This issue has been fixed by the next release.
* D-13660: Disabling filter rules didn't work in Snowflake models.
</div>
* D-13526: Passing dataframes from SQL scripts to expression scripts didn't work.
* D-13661: Snowflake conformance analysis crashed when there was no access to conformance related Snowflake UDF's.
* D-13693: Resolved major Snowflake conformance analysis performance issues in the BPMN model handling.
* D-13716: Snowflake root causes analysis incorrectly bypassed Snowflake cache.
* D-13707: In SQL Scripting, the datatable analysis (number 18) didn't always copy the data table contents to the target table correctly.
* D-13653: Big data flowchart Root causes preset showed incorrect legend.
* D-13626: Flowchart froze when converting into big data flowchart and vice versa by modifying chart json settings.
* D-13656: Root causes for attribute gave error "Failed to compare two elements in the array" in some situations.
* D-11563: Pivot table had a minimum height of 300px, which caused bottom part of it to be out of view.
* D-13704: In CSV file import, parsing now allows spaces between column separator and text quotation mark.
* D-13598: Chart gave unclear error message when events datatable was not defined.
* D-13655: Improved error messages for BPMN editor and conformance statistics.
* D-13528: Error message for certain erroneous SQL expressions was unclear.
* D-13677: "Flow occurrences with specific case attribute value" selection didn't work for in-memory chart.
* D-13663: Pivot table border line was slightly broken in the header area.
* D-13608: There was incorrect alignment of items in the table paging controls.
* D-13703: Importing CSV file with some special characters to Snowflake failed (due to incorrect escaping in Snowflake staging files).
* D-13708: Duplicating datatable using user defined table, removed data the source table.
* D-13717: Dependency wheel crashed when there were zero weights and showing data labels.
* D-13348: There was an unclear error message when Snowflake query had a certain incorrect expression.
* D-13732: Pivot table Excel export contained headers formatted incorrectly.
* D-13729: There was a JavaScript error when limited user tried to access business calendar.
* D-13662: Percentile function didn't always work with timespan types.
* D-13646: Using incorrectly configured model without cases datatable caused null reference error.
* D-13629: When tried to use chart with a non-existing model, there is now a proper translated error message.


== QPR ProcessAnalyzer 2023.3 (build 1990) (released 2023-05-03) ==
===New features===
* [[Object-Centric_Flowchart|Object-centric flowchart]] can also use object-to-object relations to link events and objects simplifying event-to-object configuration. (B-08671)
* [[AI_Assistant_for_QPR_ProcessAnalyzer|AI Assistant]] can provide precise quantitative analysis by making queries to eventlog data (powered by Snowflake Cortex Analyst and Agents). (B-08652)
* [[Filtering_in_QPR_ProcessAnalyzer|Flows and variations can be filtered]] from any event attribute viewpoint in Snowflake. (B-08737)
* Added [[Project_Properties_Dialog|project properties dialog]] for viewing project information, changing Snowflake connection settings and project secrets. (B-08655)
* [[QPR_ProcessAnalyzer_Project_Workspace#Validating_Model|Model validity check]] easily detects technically invalid models and shows detailed reason for invalidity. (B-08624)
* Projects can be [[QPR_ProcessAnalyzer_Project_Workspace#Exporting_Project|exported]] to json files and imported as new projects. (B-08717)
* Action buttons can be added to dashboard by defining [[Label_and_Link|label component]] that can change dashboard variables and run scripts. (B-08694)
* Web user interface is available in [[Languages_and_Localization|Ukrainian language]]. (B-08734)


'''Features:'''
===Fixed issues===
* B-07818: [[Conformance_Analysis|Conformance analysis]] is supported in Snowflake with following dashboard components: Big data chart, BPMN editor, Conformance statistics, and Design model selector.
* Fixed following error when performing client-side SAP import: Could not find a part of the path (QPR_ImportSource_Chunk_*.tmp). (D-14589)
* B-07833: [[Root_Causes#Root_causes_in_flowchart|Root causes analysis for flowchart]] is available for Snowflake showing how the event and flow occurrences explain selected phenomena.
* Fixed issue where ManageProjects permission was incorrectly required when running scripts using QPR ScriptLauncher non-legacy mode. (D-14562)
* B-07786: Big data chart has more [[Big_Data_Chart#Measure_aggregations|measure aggregations]], such as median, percentile, standard deviation and variance. Also for textual items, unique values can be listed.
* Fixed following error when using SAP import from SQL script called from expression language called from SQL: The given key '' was not present in the dictionary. (D-14593)
* B-07795: [[QPR_ProcessAnalyzer_Table#Conditional_formatting|Conditional formatting]] supports also columns with non-numerical contents.
* Some analyses didn't work, when case ID columns for cases and events datatables differed only in upper/lowercase letters. (D-14556)
* B-07830: [[Big_Data_Chart#Measure_aggregations|None and Any aggregations]] for Snowflake and user-friendly formatting for conformance violations.
* Business calendar didn't work for some measures/dimensions/columns and some had business calendar checkboxes missing. (D-14563)
* B-06527: Error messages in [[Importing_Data_to_Datatable_from_CSV_File|CSV file import]] show also the column number to help working with CSV files with lot of columns.
* Prediction failed to following error: transformer_model_next_activity/event_year_input_embedding. (D-14551)
* B-07747: In-memory conformance checking accepts design models with multiple tasks having same name (same is followed by the Snowflake implementation).
* Scripting now works correctly after rows from PA_OPERATION_STATUS table have been deleted. (D-14545)
* B-07659: In-memory flowchart preset Case Conformance to visualize conformance checking violations.
* Fixed issue where case-centric flowchart was very slow for object-centric model. (D-14544)
* B-07571: Added function IsConformant to backend to check whether cases are conformant.
* Prevented creating dashboards, models and scripts with duplicate names in the same project. (D-09480)
* B-07863: Added function ConformanceViolationsFlows to backend to return nonconformance reasons for violating cases.
* KPI Card now shows line breaks correctly in textual values. (D-14546)
* B-07844: Support for "array" aggregation to return aggregated items as array.
* Improved table Excel export for list data to show items with separator character instead of showing as JSON. (D-14479)
* B-07856: Support for creating and accessing arrays and objects in SQL expressions.
* Column showing non-conformance reason was incorrectly aligned to right. (D-14570)
* B-07860: Array handling functions and Tasks property for DesignModel entity.
* GetRelatedValueFrom function caused column name conflict when used multiple times in same query. (D-14591)
* B-07847: Added throttling for QPR ScriptLauncher client-side imports to limit memory usage.
* Fixed issue where in-memory sorting for arrays gave "Error in sorting analysis result rows possibly due to multiple types of values ...". (D-14592)
* B-07811: Snowflake query optimization to omit columns that are not used by the query.
* Array type of values were shown incorrectly when used Last Row Aggregates Over-limit Rows setting. (D-14616)
* Fixed the "Most common" text aggregation sorting error for in-memory calculation. (D-14573)
* Snowflake model validation gave incorrect error message when mapped column didn't exist in datatable. (D-14565)
* Improved model validation to detect when connection string key for model or datatable does not exist. (D-14607)
* Model validation gave incorrect error when when events datatable case id mapping was missing. (D-14566)
* Model validation gave incorrect error message when cases and events datatables were in different datasources. (D-14567)
* Model validation gave incorrect error message when underlying Snowflake table didn't exist. (D-14568)
* Workspace Card/Table mode toggle buttons were not translated. (D-14547)
* Some invalid queries gave unexpected errors and strange outputs. (D-14569)
* Added translations to model notifications preview table headers. (D-14590)
* Added translations to access denied message for header object counts indicator. (D-13967)
* AI Assistant explaining charts speaks now user interface language. (D-14578)
* AI Agent prompt chart editor didn't show correctly if model was not selected. (D-14536)
* AI Assistant gave "Unsupported cache table type" error when trying to explain object-centric flowchart. (D-14477)


'''Fixed issues:'''
===Other improvements===
* D-13632: Going from variations to event types led to very poor performance with certain models.
* When trying to open dashboard with an invalid model, the precise model validation error message is shown. (B-08629)
* D-13628: Statistical calculations were incorrectly not applied in chart CSV export.
* Account locked message is now same as username/password incorrect to prevent account enumeration attack. (B-08740)
* D-13575: SQL script may have given error "Operand type clash: nvarchar(max) was incompatible with sql_variant".
* Stringified value format supports also json objects. (B-08766)
* D-13597: UI supports now datatable column type "ShortString" (previously datatable contents preview and CSV import didn't work).
* Event attribute used as event type can be defined for flow and variation filters in Snowflake models (backend support). (B-08705)
* D-13536: Using business calendar sometimes gave error "System.InvalidOperationException: Collection was modified".
* Translations have been updated. (B-08757)
* D-13477: Chart types without y-axis mapping caused an error when series mapping was used.
* Frontend components have been updated. (B-08760)
* D-13453: _model variable was not available for Snowflake expression filter rules.
* Backend components have been updated. (B-08759)
* D-13527: Checkbox height didn't increase when long label needed to span to multiple lines.
* D-13363: Snowflake query with EvaluateAfterAggregations and IsHidden failed when dimensioning by case id column.
* D-13383: Snowflake query gave error "Invalid column name 'FromCase Name'".
* D-13523: Request id was incorrectly shown as zeros in error messages.
* D-13541: In CSV import, error message for maximum number of columns exceeded is improved (maximum is 300 column for SQL Server).
* D-13583: Objects count in header didn't work for empty Snowflake model.
* D-13553: Larger pacm files can now be imported, as there isn't error "Request body too large. The max request body size is 30000000 bytes".
* D-13306: Stack overflow error was given when using SqlDataFrames.
* D-13487: When Flows root and there was filter in Values expression, some flows were lost.
* D-13540: SqlDataFrame query with 300 columns failed to error "WithExpressionColumn: No name given for the new column".
* D-13429: Ordering in List aggregation couldn't find columns in dataframe query.
* D-13406: Dataframe query with root FlowOccurrences and get value from cases caused error.
* D-13538: There was incorrect handling of escaping characters in column names used in dimensions.
* D-13633: Fixed ordering in List aggregation with null and empty values.
* D-13636: Query that dimensions by numeric case attribute with AggregateOthers true, caused error.
* D-13589: Creating Snowflake datatable did not connect to Snowflake.
* D-13623: Value expressions without aggregation didn't work with AggregateOthers setting.
* D-13554: In in-memory chart, percentile function might have return both Int64 and Double type of objects which cannot be sorted.
* D-13481: Improved error message when trying to use deleted model.
* D-13621: Dynamic value search dialog had incorrect font in lists.
* D-13610: Some invalid BPMN files crashed BPMN editor.
* D-13614: Checkbox label texts overflowed to right.
* D-13520: Removed excessive parameters from the Query Designer for generic context queries.
* D-12998: QPR icon was incorrectly positioned in header in Safari.
* D-13480: Import to duration data type is removed from Snowflake datatables, and for local datatables duration type maximum size is checked.
* D-13517: In Highcharts-based visualizationsm conditional formatting didn't work for other than the first y-axis mapping.
* D-13529: In some presets containing several on-screen settings, when chart showed in error message, on-screen settings showed invalid selection.
* D-13530: Opening dropdown list caused JavaScript error when the list contents should be empty after it previously contained items.
* D-13486: Removed unreachable error message in CSV import.
* D-13524: Fixed in-memory chart flow occurrences root measures "Event attribute (text)" and "Event attribute (number)" that caused error.


== QPR ProcessAnalyzer 2023.2 (build 1478) (released 2023-03-22) ==
== QPR ProcessAnalyzer 2025.4 (build 9985) (released 2025-05-28) ==


'''Features:'''
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_4.pdf QPR_ProcessAnalyzer_2025_4.pdf]
* B-07755: [[Business_Calendar|Business calendar]] for duration calculation is available for Snowflake models.
* B-07719: In Snowflake dashboards, [[Big_Data_Chart#Using_measure_variables|measures can be assigned to variables]] and use the variables in other measures to create combined measures.
* B-07746: Changed in-memory conformance checking to not show invalid flow violations where starting or ending event type is invalid.
* B-07743: [[PA_Configuration_database_table#General_Settings|Default datasource]] can be configured for datatables created by scripts, allowing to set Snowflake as default.
* B-07740: System memory indicator moved from the header to User settings Version information dialog.
* B-07776: New SQL expressions functions Unicode, Char and Regexp, as a basis for future rule-based process mining.
* B-07741: Backend support for aggregation operations Median, Percentile, Stdev, Stdevp, Var and Varp to Snowflake.
* B-07742: Backend support for aggregation operation to list unique items in Snowflake.
* B-07770: Optimized Snowflake SQL generation by combining consecutive WithColumn function calls into one select.


'''Fixed issues:'''
===New features===
* D-13491: QPR ProcessAnalyzer server crashed now and then when sorting was in progress and the query was cancelled.
* Added new AI Agent presets analyzing current state and proposing improvements based on different viewpoints, such as Event and Case Counts, Automation, Bottlenecks, and Root Causes. (B-08710)
* D-13380: Dimensioning integers in in-memory core calculation didn't work correctly as 0 and -1 were put to same bucket.
* Added a [[Filter_Selectors#Filter_selector|generic filtering component]] that can be configured for creating any type of filters for distinct values. (B-08654)
* D-13385: In Workspace Bin, Delete Forever and Restore from Bin buttons were misaligned.
* Volume declining in measures due to case sampling can be compensated in chart and flowchart by using a [[Measure,_Dimension_and_Column_Settings#Statistical_calculations|Statistical calculation method]]. (B-08598)
* D-13332: Conformance checking didn't show in violations when there were multiple undesired events in same case.
* In object-centric models, Object ID, Event ID, Event timestamp, and Event type [[Object-centric_Process_Mining_Model#Object-centric_perspectives|attribute names]] are shown correctly. (B-08680)
* D-13405: Images take now always all available space in image component area.
* Snowflake native app has now [[QPR_ProcessAnalyzer_Native_App_in_Snowflake#User_access_to_application|application roles]] for user (for using app) and administrator (for managing app). (B-08660)
* D-13417: KPI card without title was slightly misaligned vertically.
* For Snowflake native app, IMPORTED PRIVILEGES ON SNOWFLAKE DB privilege is removed and instead the [[QPR_ProcessAnalyzer_Native_App_in_Snowflake#Optional_privilege_for_AI_Agent|CORTEX_USER database role]] can be assigned. (B-08718)
* D-13438: Clicking selected event type or flow in flowchart didn't cancel the filter selection.
* [[QPR_ProcessAnalyzer_Native_App_in_Snowflake#Logging|Native app logging]] has been improved and now sharing application logs with QPR is possible. (B-08661)
* D-13350: Task log and Script log default filter end date is now empty by default.
* Added [[DataFrame_in_Expression_Language#CsvToDataFrame|CsvToDataFrame]] function to expression language to convert textual CSV data into in-memory dataframe. (B-08246)
* D-13381: Disabled browser auto-complete from flowchart variation stepper and Workspace create/rename object dialog.
* D-13347: Improved performance for in-memory business calendar calculation.
* D-13335: In in-memory chart, filtering didn't work in "Flow occurrences" root "Flow occurrences with specific event attribute value" dimension.
* D-13367: Percentage value wasn't displayed properly with German or Spanish language when event types were shown in object counts indicator.
* D-13451: Exported filter file is now named based on selected filter name.
* D-13378: In Big data chart, prevented error "Unable to aggregate from level RootCauses to level Custom".
* D-13293: DataFrame query with root Flows and IncludeEvents and ExcludeEvents filter rules failed.
* D-13370: Fixed issue where on-screen settings that didn't have any selectable items, showed a strange selection.
* D-13392: Clustering analysis was incorrectly shown when originally in-memory chart was converted into big data chart by changing chart json settings.
* D-12784: Some Snowflake queries incorrectly bypassed Snowflake caching because they used unique object names.
* D-13456: Improved error messages for incorrectly configured on-screen settings.
* D-13445: Conformance violations related translated terms have been fine-tuned for better translations into different languages.
* D-13421: Improved error messages when trying to use model having some column mappings missing.
* D-13485: Snowflake business calendar gave error when calendar contained Sunday.
* D-13218: Windows event viewer incorrectly contained log entries that are not errors.
* D-12634: Multiline text boxes width is set to non-changeable.
* D-13034: Confirmation dialog to delete items permanently has been updated.
* D-13288: In dialogs, the Create button didn't show the disabled state correctly.
* D-13427: When dropdown lists didn't have any selectable items, the "N/A" text appeared and the list incorrectly took more space vertically.
* D-13483: In Workspace, the new items menu was too narrow for Spanish texts.


== Additional release for QPR ProcessAnalyzer 2023.1 (build 1449) (released 2023-02-24) ==
===Fixed issues===
* Fixed "Invalid identifier" error when opening attribute selection list for case attribute preset caused by object id columns which differed only by letter capitalization. (D-14539)
* When Image component is clicked in dashboard edit mode, the component is now selected instead of link followed. (D-14525)
* Filters created from dimensions having dimension-specific filter rules will now create expression filter rule where dimensions-specific filter is embedded, for accurately following the selection. (D-14499)
* Filtering variations or list of event attribute values didn't work in in-memory models. (D-14476)
* Fixed issue where AI Agent didn't update when dashboard variable changed used by prompt chart. (D-14537)
* Fixed issue where some statistical calculations inadvertently changed row order when applying in groups. (D-14495)
* In in-memory models, array type of data was not dimensioned correctly. (D-14518)
* AI Agent Process Variations preset gave "division by zero" error when there were zero cases. (D-14508)
* Table grouping header labels were not formatted correctly. (D-14514)
* Fixed Root causes analysis to work with object-centric models. (D-14515)
* Filtering by OcelObjectId didn't work when model didn't have object type table for perspective used in filter. (D-14522)
* Fixed Root causes analysis with weighting expression to work with object-centric models. (D-14517)
* Fixed issue where persisting query results where query is started from datatable having custom table name overwrote data in original table. (D-14528)
* Flowchart SVG export did not show start and end symbols. (D-12401)
* Fixed issue where join operation didn't find renamed columns in SqlDataFrames. (D-14512)
* Improved chart filtering button positions to work with small chart sizes. (D-14509)
* Datatable foreign key columns dictionary data type was incorrect preventing reading columns information. (D-14505)
* Workspace scripts editor allowed to change script code for viewer users (altough not save it). (D-14534)
* In chart custom sorting, trying to refer to measure that had None aggregation, caused SQL compilation error. (D-14526)
* Model validation check crashed when the datatables were in different datasources. (D-14502)


'''Features:'''
===Other improvements===
* B-07690: System setting [[PA_Configuration_database_table#General_Settings|DatabaseId]] can be defined by administrator to get more simple table names in Snowflake.
* Added expression language functions for using Snowflake Cortex Agents with Cortex Analyst access to query eventlogs. (B-08647)
* B-07737: In flowchart Bottlenecks preset, originally used flow colors has been recovered.
* Projects can be export and imported in JSON format containing dashboards, models, datatables and scripts. (B-08613)
* B-07748: For Analyzed objects "Conformance checking findings" in charts, terminology has been revised and issue with the case count calculation fixed.
* Simplified object-centric model queries by accepting OcelObjectId as object attribute name in filters. (B-08702)
* B-07663: In [[Chart_On-screen_Settings|on-screen settings]], when case/event attribute is selected, related attribute values list are reset.
* Streamlined import API by removing importMode parameter and changing default fileType to CSV. (B-08704)
* B-07570: Backend support for [[Business_Calendar|business calendars]] in Snowflake.
* Frontend components have been updated. (B-08695)
* B-07660: Backend support for conformance checking to show also the last event index and event type in NotCompleted reason.
* Backend components has been updated. (B-08696)
* B-07610: Memory counter related technical properties have been removed from expression language.


'''Fixed issues:'''
== Additional release for QPR ProcessAnalyzer 2025.3 (build 9805) (released 2025-04-30)==
* D-13349: Opening dashboard containing Root causes preset with default settings jammed the system by generating lot of calculations (for more information, see previous release notes).
* D-13277: Stacked charts with date type of data as series did incorrectly show gaps in columns/bars.
* D-13270: Flowchart conditional formatting didn't work with duration multi-unit format.
* D-13358: Calculation results caching works also across different user sessions.
* D-13250: Dashboard with two charts connected with linked settings using variables ended up to to a never ending loop.
* D-13230: SAP import did not automatically create columns to use the correct column types.
* D-12857: Deeply recursive functions caused a crash without any trace.
* D-12994: In Workspace, some buttons were not clickable due to breadcrumb covering them.
* D-13249: In Workspace, there was incorrect error message for duplicate datatable names when there were items with only letter capitalization was different.
* D-13232: In-memory chart Top variations preset is now sorted secondarily by average duration descending.
* D-13300: Setting DashboardFilter variable to empty value didn't have any effect in dashboard but old value was incorrectly used.
* D-12834: Limited the maximum number of dimensions to 20, to avoid too demanding queries for SQL Server.
* D-12917: Changed visual indication of missing items in dropdown lists (it's no longer showing "***").
* D-13111: In Root causes preset, there is now error message when trying to use weighting related columns when weighting isn't in use.
* D-13124: SQLDataFrame query containing filter rule EventTypes aggregating from cases failed.
* D-13207: Dataframe query with AggregateOthers, AggregationFunctionForOthersRow and EvaluateAfterAggregations failed.
* D-13292: Dataframe query with AggregateOthers, AggregationFunctionForOthersRow and EvaluateAfterAggregations failed (rev.2).
* D-12991: Dropdown list texts had some translations missing.


== QPR ProcessAnalyzer 2023.1 (build 1433) (released 2023-02-07) ==
===New features===
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
* Navigation menu is now displaying dashboards from open dashboard's project or from selected Workspace project (earlier dashboards were shown from the selected model's project). (B-08673)
This release contains a potentially severe issue, where some dashboards completely jam the system by generating lot of calculations. The issue may appear in dashboards that have been created in earlier releases and containing the Root causes preset with default settings. The issue will be fixed by the next release. The issue can be worked around by exporting the affected dashboard, modifying the dashboard file manually and importing the dashboard back. The required modification is to remove line(s) containing <pre>"preset": "RootCauses"</pre> and the comma from the preceding line.
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
===Fixed issues===
Following legacy analyses have been removed: Cases (analysis number: 5), Events (6), and EventTypes (7). This functionality may be in use in SQL scripts (in [[SQL_Scripting_Commands#--.23GetAnalysis|--#GetAnalysis]] command), and thus needs to be changed to the [[SQL_Scripting_Commands#--.23RunQuery|--#RunQuery]] command (see the [[RunQuery_Script_Examples|examples page]] how each legacy analysis can be replaced). Note that the legacy analyses removal don't affect the dashboarding functionality.
* Fixed issue where AI Agent made unnecessary queries when filtering dashboard, and also opening dashboard with lot of chart may have been slow. (D-14503)
* When datatable columns were modified, queries to the data may have given "Invalid identifier" error. (D-14507)
* Clustering analysis didn't work with object-centric models. (D-14486)
* When a new groups is added, it's selected by default in the Manage Users dialog. Also clicking a selected group does not deselect it. (D-14491)
* Deleting last group didn't remove the group from the list. (D-14504)


Following script can be run in the [[Navigation_Menu#Expression_Designer|Expression Designer]] to show whether there are scripts that use the removed analyses (and thus require migration):
== Additional release for QPR ProcessAnalyzer 2025.3 (build 9725) (released 2025-04-23)==
<pre>
let removedAnalyses = [5, 6, 7];
OrderByDescending(Flatten(Projects.Scripts).Where({
  let scr = _;Sum(removedAnalyses.("'AnalysisType','" + _ + "')").{let num=_;(scr.code ?? "").Replace(" ", "").Replace("\t", "").Replace("\n", "").Replace("\r\n", "").Replace("\r", "").Contains(num)})>0;
}),LastRunStart).(Project.Name + ": " + name + " (id: " + id + ") (last run: " + (LastRunStart ?? "N/A") + ")");
</pre>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
Starting from QPR ProcessAnalyzer 2023.1, the '''.NET Desktop Runtime''' is not needed anymore for QPR ProcessAnalyzer Server, so it can be uninstalled. Also for QPR ScriptLauncher, ''.NET Desktop Runtime'' is not needed, but instead install the '''.NET Runtime''' (which is more lightweight). ''.NET Desktop Runtime'' contains the ''.NET Runtime'', so the actions are not mandatory when updating to QPR ProcessAnalyzer 2023.1.
There is an issue causing some dashboards having more than 50 charts to open slowly. The issue has been fixed in the next release by D-14503.
</div>
</div>


'''Features:'''
=== Fixed Issues ===
* B-06997: Expression-based filter rules for Snowflake dashboards to allow versatile filtering and filtering from custom expressions.
* Fixed issue where system stopped responding after opening Scripts tab several times (error in logs: Timeout expired prior to obtaining a connection from the pool). (D-14506)
* B-07383: Improvements to linked settings to allow binding to variables, tags and filter rules [[Chart_Linked_Settings|(more information)]].
* Fixed issue where the object-centric models object types tables didn't work without the timestamp column. (B-08683)
* B-07508: Flowchart preset colors have been renewed to be more intuitive.
* Snowflake cache tables are now created after initiating calculation is completed to improve performance. (D-14460)
* B-07184: Automation preset in flowchart has now options for selecting the Automation attribute and value.
* Fixed issue in User Management where assigning role to project or adding user to group was not saved when there was a column filter. (D-14124)
* B-07512: Changed datatable metadata can be refreshed from Snowflake, and all rows in the datatable can be deleted easily in Workspace [[QPR_ProcessAnalyzer_Project_Workspace#Datatables|(more information)]].
* B-07440: Date when the release was made is now shown in User settings.
* B-07595: WeekOfYear property for DateTime objects in expression language to get the week number of a year (between 1 and 53).
* B-07623: In-memory expression language functions Random (to get random numbers) and Hash (to get hash value of string).
* B-07612: Breadcrumb in Workspace has now a Home button to quickly navigate to the top level of the projects hierarchy.
* B-07637: Language selector now shows the language options in local languages.
* B-07228: Remove following deprecated analyses: Cases, Events, and EventTypes (see the release note above).
* B-07538: Backend support: Snowflake root causes analysis can find event attribute related root causes.
* B-07706: Backend support: Snowflake expression-based filter rules support for roots containing Where function.
* B-07611: Removed following legacy filter rules: CaseAttributeTrend, EventAttributeTrend, EventTypeTrend, and Duration.
* B-07598: Refactored client-side import for SQL scripting to use generic client-side task mechanism.
* B-07716: ShortString columns are now properly detected in SQL Server queries.
* B-07652: Now it's possible to pipe multiline expression strings to QPR ScriptLauncher.
* B-07688: AddColumns function for Datatables to create multiple columns in one call.


'''Fixed issues:'''
== QPR ProcessAnalyzer 2025.3 (build 9699) (released 2025-04-16)==
* D-13092: Table conditional formatting didn't work when color code was fetched from other column.
* D-13105: Some charts created in earlier release referring to non-existing presets names appeared as empty after software update.
* D-13107: Flowcharts crashed and showed loading animation forever when setting color or flow thickness to non-numerical measure.
* D-13104: In BPMN model editor, context menus to edit elements didn't appear.
* D-12939: Script editor tabs Close buttons didn't work.
* D-13154: "Search by case ID" didn't work in in-memory chart.
* D-12933: CSV columns with only empty values were incorrectly auto-detected as integers.
* D-12929: In-memory chart Root causes for case duration and Root causes for case attributes (weighted) had Custom expression missing.
* D-12928: Pivot table headers were empty when there were two column levels and two values.
* D-12924: Pivot table columns with Count and Distinct Count aggregations are now numeric and aligned right.
* D-13033: Changing colors in chart settings Color palette caused "Item already exists" error and prevented changing colors.
* D-12996: Tags referring to dashboard variables didn't work in Additional root expression.
* D-12877: UI gave error in some situations: Uncaught TypeError: Cannot read properties of undefined (reading 'min').
* D-13071: Prevented selecting two or more of the Y-axis, X-axis and series mappings at the same time for the same measure or dimension.
* D-12895: Big data chart crashed when on-screen setting contained event type selector and there were no event type filter set.
* D-13231: Tooltips for dashboard name, model selector and filter selector in header show now the content text instead of generic instruction.
* D-13139: There was an error when tried to create filter for a custom expression where selected data type didn't match with the actual type of data.
* D-12988: Chart presets selection in chart settings showed unnecessary tooltip.
* D-12901: When set sampling over 1 million, Snowflake models gave error: parameter value out of range: size of fixed sample. Must be between 0 and 1,000,000.
* D-12904: Creating expression filter having lower/greater logic with root objects sampling failed.
* D-12923: Chart schema didn't accept pivotAggregation in dimensions/columns.
* D-12926: Root causes columns Selected weight, Compared weight and Total weight have now correct float data type.
* D-12880: In out-of-the box dashboards, chart titles and subtitles were not translated.
* D-12916: Improved filter rule description text in Filter rule editor dialog for expression filter rules.
* D-12889: No clear error message was given when user tried to export corrupted model from .pacm file.
* D-12869: Date selector in on-screen settings had inconsistent vertical alignment.
* D-12938: When creating a filter with lasso and selecting a single data point only, "equals" kind of filter rule is now created.
* D-12989: "Running tasks as specific time" system report may have ended up in loop causing following error: Maximum call stack size exceeded error.
* D-13010: Pivot table sometimes ended up to never-ending resizing loop when browser zoom was more than 100%.
* D-12790: Expression language: DataFrame.SetColumns: Initializing and using variables defined in closure of SetColumns function parameter didn't work
* D-12927: All on-screen settings were not be visible in narrow charts having several on-screen settings.
* D-12937: Added maximum value limitation to several number input fields in charts.
* D-12947: Message dialog didn't show line breaks correctly (e.g., in CSV file import).
* D-12948: Defining column setting caused error when Measure Expression was not defined.
* D-12946: Filter rule text couldn't be seen entirely from tooltip.
* D-12983: When range filtering using integer values in Highcharts chart, filter is now shown as integer value.
* D-12984: When range filtering in Highcharts charts and there is category axis, filter rule is now based on individual (category) values.
* D-12930: When creating filters from charts using date type of X-axis with lasso, "greater than or equal" and "less than or equal" filter rules are not created.
* D-12920: "Where" function in DataFrame lost column data types of the original DataFrame.
* D-13048: Model notifications failed with certain measures that define variables in root expression leading to error: Variable "sampleSize" already exists in this context.
* D-13116: BPMN editor had some translations missing.
* D-13019: Datatable and script selectors show now datatable/script name instead of id, when opening selector having existing selections.
* D-12951: Changing additional root expression in flowchart didn't refresh the flowchart.
* D-13147: Filter rule boxes in header had different widths, and Add filter rule button vertical alignment was incorrect.
* D-12907: Sometimes case attribute selection showed incorrect attribute name for empty model.
* D-13148: Filters and Datatables system reports loaded unnecessarily twice which could be seen as blinking.
* D-12844: In dataframe query, FlowOccurrences in root and GetValueFrom Cases with filter gave null reference exception
* D-12915: Repeating certain query twice with aggregations in Events root generated invalid SQL
* D-12728: Was huge amount logs in server during client side import (manual testing required as identification)
* D-13156: Persist function failed to snowflake: Invalid unicode escape sequence '\u0027ACCE'; should be at most '\u0010FFFF'.
* D-12876: Flows/FlowOccurrences in root didn't work with SqlExpressionValue filtering.


== Additional release for QPR ProcessAnalyzer 2022.8 (build 1397) (released 2023-01-11) ==
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_3.pdf QPR_ProcessAnalyzer_2025_3.pdf]
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
This release fixes an issue where extracting large datasets from SAP increases memory consumption considerably and may lead to out-of-memory error. This release contains packages for both QPR ScriptLauncher and QPR ProcessAnalyzer Server. If SAP extractions are done using QPR ScriptLauncher in client side mode (ExecuteInClientSide=1), it's enough to update QPR ScriptLauncher to fix this issue.
</div>


'''Fixed issues:'''
* D-12941: Extracting data from SAP consumed unnecessary lot of memory and may have led to out-of-memory error (both when running using QPR ScriptLauncher and in server side).
== QPR ProcessAnalyzer 2022.8 (build 1396) (released 2022-12-30) ==
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
Creating datatables with duplicate names in the same project is prevented, and possible existing duplicate names are automatically changed to unique names with a random suffix. If there are duplicate names, they can be renamed either before updating QPR ProcessAnalyzer (to avoid automatic renaming) or after the update (by changing suffixed names). If the renamed datatables are used by models, the linkage will break because it's based on the datatable name. Creating duplicate datatables has already been prevented in the UI, but the improved method works also in the API level.
There is a potentially serious issue that can cause the system to stop responding, when opening the Scripts tab in the Workspace. The issue has been fixed in the next release (build 9725) by D-14506.
 
Following SQL query can be used to list datatables (and project id) having duplicate names:
SELECT ITA_NAME, ITA_PROJECT_ID
FROM PA_INTEGRATION_TABLE
GROUP BY ITA_NAME, ITA_PROJECT_ID
HAVING Count(*) > 1
</div>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
If trying to use business calendar for a model that doesn't have the business calendar defined, there will now be an error message instead of showing the chart. Either unselect the business calendar checkbox for the measure or dimension, or define a business calendar to the model. In this situation in earlier releases the business calendar was ignored and full time calculation used.
Object-centric model simplification in the story B-08667 (object attributes can only have a single value) doesn't work with this release. The issue has been fixed in the next release (build 9725) by B-08683.
</div>
</div>


'''Features:'''
===New features===
* B-07498: Automation and Operational Excellence presets and Root causes analysis (for Snowflake), Weighted root causes analysis and Event scattering preset (for Snowflake and in-memory), Root causes for case duration (in-memory).
* Enhanced [[AI_Agent|AI Agent]] with UI for editing prompt datasets, and added checkbox to include other charts in dashboard to prompt. (B-08641)
* B-07177: Flexible mappings, user selectable aggregations and conditional formatting for Pivot table, and flexible mappings for KPI Card.
* In [[Object-centric_Process_Mining_Model|object-centric models]], object-to-object relations are now followed by traversing once all object types. (B-08606)
* B-07518: New function named Query to run call /api/expression/query.
* In object-centric models, event type and object type tables are not mandatory anymore, and common attributes can be specified in events and objects tables. (B-08663)
* B-07294: In Workspace, the left side projects hierarchy can be collapsed and expanded to make more space to project contents.
* Object-centric models support simplified structure where object attributes can only have a single value. (B-08667)
* B-06814: In SQL expressions, new function DurationBetweenDates to calculate duration between timestamps precisely.
* "Object relation steps" setting can be empty to traverse all linked objects in the object-centric model. (B-08668)
* B-07519: Replaced DateDiff function with the new DurationBetweenDates function in big data chart.
* Snowflake Event Types preset has been improved by adding suggestion of desired and undesired activities based on frequency of occurrence. (B-08656)
* B-07531: In SQL expressions, new mathematical functions Abs, Log, Mod, Power, Rand, Sign and Sqrt.
* Added checkbox for [[Measure,_Dimension_and_Column_Settings#Advanced_settings|disabling filtering]] for individual dimensions or columns. (B-08589)
* B-07297: To optimize performance, Snowflake queries are automatically cancelled if they are not needed by UI.
* Case and event attributes dropdown lists show number of unique values in Snowflake models (instead of attribute datatype as previously). (B-08316)
* B-07569: To optimize performance, TakeSample function implementation is improved for Snowflake.
* [[SAML_2.0_Federated_Authentication|SAML authentication]] can now synchronize user groups from identity provider. (B-08612)
* B-07198: Several performance improvements to DataFrame queries (used in Snowflake).
* Groups can be [[Manage_Users_and_Groups#Deleting_Group|deleted]] in user management. (B-08330)
* B-07464: Added Lead and Lag functions to SqlDataFrames to support getting previous and next event.
* [[Storing_Secrets_for_Scripts|Secrets]] can be defines as global that can be used by all projects. To set global secrets, [[Generic_Functions_in_QPR_ProcessAnalyzer#SetSecret|SetSecret]] function works also in the generic context. (B-08599)
* B-07470: New ExtractSap function to fetch data from SAP using expression language.
* Snowflake [[Clustering_Analysis|Clustering analysis]] shows now number of event occurrences as features describing clusters. (B-08353)
* B-07536: New Pivot function to SqlDataFrames to enable root causes analysis.
* Model validity check has been extended to find issues in the eventlog data for Snowflake case-centric models. (B-07910)
* B-07488: Primary keys can be set to datatables to improve calculation performance (UI will follow later).
* B-07515: Added RootCauseAnalysis function to SqlDataFrames.
* B-07546: RootCauseAnalysis function support for complex weighting expressions.
* B-03052: Support for user-defined variables in /api/expression/query.
* B-07565: Support for NumberPrecision, DatetimeTruncation and TimespanPrecision properties for Values section in in-memory query.
* B-07513: For product activation file handling, replaced mutex based implementation with exclusive file lock.
* B-07480: Expression language support for DataFlows for data extraction.
* B-07613: Removed support for SQL Server based R scripting.
* B-07567: Take datatable primary keys into use in expression builder to improve performance (part 2).
* B-07588: Remove total memory information from log writing and DateDiff function for in-memory.


'''Fixed issues:'''
===Fixed issues===
* D-12715: Snowflake calculated imprecisely some operations containing division and aggregation.
* Fixed a potential issue which could have leaked database connections and caused connection pool starvation. (D-14414)
* D-12761: Progress bar of the CSV import dialog didn't show any progress.
* Renewed self-signed certificate used by SAML 2.0 authentication with ten years of validity. (D-14424)
* D-12799: Opening datatable contents dialog settings was slow when there were lot of rows in the datatable.
* Improved CallWebService function to send request body when using DELETE method. (D-14488)
* D-12089: Include conforming/nonconforming cases made BPMN editor no responding.
* Login page now shows correct error message when there are serious system errors during login. (D-14480)
* D-12496: Datagrid filter search keyword didn't work for rounded values, so the search was hidden for other than textual data.
* "Datatable contents (in-memory)" option now works also with Snowflake datatables. (D-14391)
* D-12704: Durations as quarters was calculated incorrectly in charts.
* Added maximum data size limitation to AI assistant to avoid error with large datasets. (D-14419)
* D-12662: Fixed issue where some special literals in custom expressions didn't work.
* Day of the Year/Week/Month/Quater selection didn't work with specific event time in in-memory chart. (D-14421)
* D-12403: Setting Notifications on a model had some visual issues.
* KPI card now shows a scrollbar when content doesn't fit to the available space. (D-13428)
* D-12859: Dependency wheel visualization crashed with nulls values in From and To mappings.
* Workspace projects hierarchy tooltips didn't show special characters correctly. (D-14430)
* D-12660: Removed unnecessary float conversions in SQL expressions.
* BPMN editor crashed when creating filter from tasks giving following error: Cannot read properties of null (reading 'querySelector'). (D-14399)
* D-12653: In-memory datafram OrderByColumns function with mixed values failed.
* Value expressions didn't work that are referred in dimension and containing aggregation. (D-13624)
* D-12657: When trying to use milliseconds period in some presets, frontend frozed.
* Fixed issue where object-centric flowchart filter selection gave error when case-centric model was selected. (D-14408)
* D-12706: Line breaks in data were shown in many places where it's undesired.
* Fixed issue where query to non-existing model incorrectly returned "Sequence contains no elements". (D-14402)
* D-12719: Syncfusion dialog headers showed backslaces incorrectly.
* Incorrect StringifiedValues in chart settings and expression filter rule caused UI to stuck. (D-14485)
* D-12372: Refused to run the JavaScript URL because it violated the Content Security Policy directive.
* Table column filter value list didn't show the null value label correctly. (D-13844)
* D-12730: Logging out when filter selection is in progress, gave javascript error.
* "Visualize list items with colors" setting didn't work with the "Last Row Aggregates Over-limit Rows" setting. (D-14357)
* D-12705: Header object counts tooltip was sometimes messed after logout.
* Made sure that failed queries are not added to model filter cache. (D-14484)
* D-12384: Selected project was not highlighted for whole project name string.
* Chart settings crashed when trying to use without model selected giving following error: Cannot read properties of undefined (reading 'injectValue'). (D-14395)
* D-12581: Prevented creating duplicate datatable names in same project in parallel execution.
* Fixed issue where chart settings opened on top of full screen BPMN editor. (D-14472)
* D-12722: There was incorrect syntax near '<' when running SqlDataFrame expressions.
* Show details button in some error messages didn't have any effect when pressed. (D-14490)
* D-12736: Swedish and Finnish translation improvements for object counter tooltips.
* Model validation message was incorrect for model where other datatable is Snowflake and other SQL Server. (D-14475)
* D-12702: For BPMN Editor component "Something went wrong" error was given when switching from in-memory to Snowflake model.
* D-12712: UI gave error: TypeError: Cannot read properties of undefined (reading 'id').
* D-12738: Business calendar showed total business time when calendar configuration was invalid.
* D-12776: Special character filter caused JavaScript SyntaxError.
* D-12785: Unnecessary vertical scrollbar displayed for main header toolbar.
* D-12164: There was unnecessary UnauthorizedAccess errors in logs.
* D-12580: Case duration was not same when comparing Big data chart with in-memory chart for same data.
* D-12768: Data grid links and variable change actions didn't work when grouping was used.
* D-12735: FindRootCauses (in-memory) function filtered out cases with zero contribution.
* D-12763: --#CallWebService didn't work from ScriptLauncher.
* D-12789: There was timeout in SQL queries to scripting sandbox.


== QPR ProcessAnalyzer 2022.7 (build 1331) (released 2022-11-15) ==
===Other improvements===
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
* Logging has been set to Warning level for Native App to avoid excessive number of log entries to Snowflake events table. (B-08687)
Starting from QPR ProcessAnalyzer 2022.7, to improve security expression language operations that modify data or connect to external datasources are prevented in dashboard custom expressions. The limitation is required, because when a dashboard is opened, its expressions are run with the user's permissions, and the user need to trust the expressions don't perform any unexpected operations, such as delete data. The full functionality of the expression language is available in the scripts and in the Expression Designer.
* Datatable duplication is now synchronous in Snowflake until 30 seconds to avoid showing the created duplicate datatable with zero rows while the operation is still in progress. (B-08634)
 
* Improved Snowflake cache table creation logic when there are multiple simultaneous queries. (B-08622)
The following functions and operations are prevented in dashboards: SendEmail(), CallWebService(), ImportOdbc(), ImportOdbcSecure(), Model.DeletePermanently(), Model.Restore(), Model.TriggerNotifications(), Project.DeletePermanently(), Project.Restore(), Project.CreateDatatable(), Datatable.AddColumn(), Datatable.DeletePermanently(), Datatable.Import(), Datatable.Merge(), Datatable.RemoveColumns(), Datatable.RenameColumns(), Datatable.Truncate(), RecycleBin.DeletePermanently(), and call SQL script. Calling expression scripts is allowed, but in the script all previously mentioned operations are prevented.
* Refactored SQL Server operations to improve robustness and avoid leaking database connections. (B-08649)
* Frontend components have been updated. (B-08638)
* Backend components have been updated. (B-08639)
* Translations have been updated. (B-08640)


Following SQL query can be executed in the QPR ProcessAnalyzer metadata database to reveal dashboards that potentially have prevented expressions:
==Additional release for QPR ProcessAnalyzer 2025.2 (build 9476) (released 2025-03-19)==
SELECT * FROM [PA_UI_ELEMENT] WHERE [UIE_PROPERTIES] LIKE '%SendEmail(%' OR [UIE_PROPERTIES] LIKE '%CallWebService(%' OR [UIE_PROPERTIES] LIKE '%ImportOdbc(%' OR [UIE_PROPERTIES] LIKE '%ImportOdbcSecure(%' OR [UIE_PROPERTIES] LIKE '%DeletePermanently(%' OR [UIE_PROPERTIES] LIKE '%Restore(%' OR [UIE_PROPERTIES] LIKE '%TriggerNotifications(%' OR [UIE_PROPERTIES] LIKE '%CreateDatatable(%' OR [UIE_PROPERTIES] LIKE '%AddColumn(%' OR [UIE_PROPERTIES] LIKE '%DeletePermanently(%' OR [UIE_PROPERTIES] LIKE '%Import(%' OR [UIE_PROPERTIES] LIKE '%Merge(%' OR [UIE_PROPERTIES] LIKE '%RemoveColumns(%' OR [UIE_PROPERTIES] LIKE '%RenameColumns(%'
</div>


'''Features:'''
=== Fixed issues ===
* B-07287: Process Discovery and most important presets for Snowflake.
* Fixed issue where charts axis labels had unnecessary line breaks on spaces. (D-14413)
* B-07271: "Last Row Aggregates Over-limit Rows" setting for big data chart.
* Fixed issue where AI Agent and LLMComplete function didn't work in Native App. (D-14410)
* B-06431: Snowflake datatables support for database views in the datasource.
* Fixed translations for Workspace Scripts tab column filter for Status and Result columns. (D-14393)
* B-07266: Security: "limited mode" to prevent data modifications and external calls from dashboard expressions.
* Fixed issue where Volume Distribution of Flow Analyzed object type didn't work. (D-14390)
* B-07097: Improved flowchart root causes color scales.
* Removed reference to fonts.googleapis.com for stylesheets to avoid content-security-policy error. (D-14373)
* B-07363: SQL LIKE function support for escape character.
* Syncfusion dialog headers now show special characters correctly. (D-14407)
* B-06877: Improved variation queries performance in Snowflake, part 1.
* Object attribute filter gave null reference error when object type didn't exist in model. (D-14379)
* B-07444: Improved variation queries performance in Snowflake, part 2.
* B-07382: Support for empty strings and nulls in event type names in dataframe processing.
* B-07273: WithRowNumberColumn, WithRankColumn, WithDenseRankColumn support for descending sorting.
* B-07303: FindRootCauses function support for weighting expression.
* B-07327: Unpivot function for SqlDataFrames (for root cause analysis).
* B-07385: Align token lifetime with SESSION_MAXIMUM_DURATION setting.
* B-07500: ColumnMappings property for IDataFrame and DataTables.
* B-07499: IDataFrame.ApplyFilter function to filter events data using a JSON-based filter.
* B-07469: Translation updates for release 2022.7.


'''Fixed issues:'''
==QPR ProcessAnalyzer 2025.2 (build 9410) (released 2025-03-05)==
* D-11630: Drag and drop from chart settings to main header was working incorrectly for filter and root cause rules.
* D-12455: Moving a chart filter from one chart to another created a root cause analysis filter.
* D-12266: Root causes analysis showed incorrect results when certain combination of filters.
* D-12525: Numerical values in Excel export in data grid was formatted incorrectly.
* D-12534: Restoring item from recycle bin changed project from Bin to previous project.
* D-12529: Measure specific datalabel mapping did not work correctly when also mapped to Y-axis.
* D-12532: Multi-selection options caused layout issue for Chart setting.
* D-12541: Layout issue for Polish in multiselect list search dialog.
* D-11277: Increase/decrease Icons were missing in the dimension sorting for Mac.
* D-12552: Uncaught Error: Diagram.selectCollection given something that is not a Part: null.
* D-12567: Tooltip incorrectly showed for label component containing only spaces.
* D-12438: Operation was cancelled because it was replaced by a new operation.
* D-12551: Some expressions didn't work as calculated case/event attributes.
* D-11720: Chart buttons were not visible in Apple Safari and iPad.
* D-12544: On-screen settings "options" parameter did not work.
* D-12528: Multi-unit time unit selection appeared where it's not applicable.
* D-12583: Error message should be provided for invalid settings input  than just  display JS errors.
* D-12599: Tooltips didn't show correct measures/dimensions when "Show in tooltip" mappings are used.
* D-12561: Chart settings content was incorrectly drawn outside of the chart dialog.
* D-12568: Reload UI sometimes crashed chart having multiselect on-screen settings.
* D-12572: Main header toolbar lost when refresh maximized PA chart.
* D-12612: Drop Unused Filters After setting incorrectly allowed zero seconds.
* D-12533: Error message keeped blinking in Analysis view.
* D-12608: User could not select or add new case attribute when current select attribute doesn't exist.
* D-12451: Prevented deleting running script.
* D-12516: Windows event viewer warning: Failed to gracefully shutdown application.
* D-12523: Business calendar performance - part 2.
* D-12538: Column with same name could be added multiple times to datatable using expression language.
* D-12582: Improved EMS mutex code to support multiple PA service in one server.
* D-12624: Synchronize new (empty) data table generated failed queries in Snowflake.
* D-12622: Advanced setting page reserved room for the expression editor frame that did not exist.
* D-11295: In on-screen settings, some UI controls were vertically misaligned.
* D-11625: The heights of the parameter option menu in the clustering tab was not well aligned.
* D-12103: Small dropdown list layout issue.
* D-12633: Align issue for Column related Advanced settings.
* D-12505: Search dialog didn't escape % and _ characters correctly in dataframe processing.
* D-12645: Tabs in expression settings dialog were partly hidden when dialog is narrow.
* D-11382: Moving of flowchart was sometimes shaky.
* D-12655: Filter rule tooltips in header were styled incorrectly.
* D-12656: Large integer values in filter jsons were incorrectly presented as small integers.
* D-12661: Some exported filters contained unnecessary "invert" property.
* D-12500: Model with numeric case id's and filtering with the attribute mapped as case id: ERROR [22018] Numeric value <nowiki>''</nowiki> is not recognized.
* D-12509: Filtering null values didn't work in boolean attributes in Snowflake.
* D-12571: In dataframe processing in SQL Server, dividing two integers should not make rounding to integer.
* D-12610: Setting for global DropUnusedFiltersAfter was missing.
* D-12613: Filtering with case/event attributes with null values didn't match in Snowflake models.
* D-12617: Model didn't work when DropUnusedFiltersAfter is 00:00:00.
* D-12618: If model ConfigurationJson is null, Configuration property didn't work.
* D-12620: Filtering didn't work when there are backslaces in attribute names in Snowflake models.
* D-12643: AttributeFunctionCallExpression did not always work properly in array context.
* D-12647: SqlDataFrame with SQL Server: Comparing literals to variant column values failed.
* D-12648: Models that have DropUnusedModelsAfter setting caused "The sliding expiration value must be positive" error.
* D-11526: It was unable to translate Unicode character \uD83D at index 176 to specified code page.
* D-12637: In application startup arised FATAL Application startup exception System.UnauthorizedAccessException: Access to the path 'Global\MutexQPRPAActivation' is denied.


== Additional release for QPR ProcessAnalyzer 2022.6 (build 1262) (released 2022-10-19) ==
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_2.pdf QPR_ProcessAnalyzer_2025_2.pdf]


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
This release contains fixes to following major issues:
Detection of models with incomplete datasource configuration has been improved, and now models where the event timestamp column type is string, are not anymore considered valid models. Earlier the string type of data was accepted and converted into dates when model was loaded (for in-memory models) or in SQL queries (in Snowflake models).
* Older QPR ScriptLauncher versions (<=2022.5) don't work with this release, when using the client side import. As a workaround, if updating to QPR ProcessAnalyzer 2022.6, also update QPR ScriptLauncher. Hotfix will be released to recover the backwards compatibility.
* When pressing the Add measure/Add dimension button in the chart settings, the chart settings dialog stop working. The workaround is to add the new measure/dimension to the bottom and use the Move up button to get the desired order of measures/dimensions. This issue will also be fixed in the hotfix.
* ETL scripts run using QPR ScriptLauncher in the client side import mode don't work if there is an import operation taking more than 10 minutes. This is because during the import, QPR ScriptLauncher erroneusly doesn't send the heartbeats to QPR ProcessAnalyzer Server, which then stops the script, believing QPR ScriptLauncher has stopped working. This issue occurs in all QPR ScriptLauncher versions. This issue will be fixed to QPR ProcessAnalyzer Server in the hotfix (i.e., no need to update ScriptLauncher).
</div>


'''Fixed issues:'''
The following query can be run in the [[Navigation_Menu#Expression_Designer|Expression Designer]] (with System administrator user) to list models where the events datatable timestamp column type is string:
* D-12586: Scripts using client-side import with older version of QPR ScriptLauncher didn't work.
<pre>
* D-12597: QPR ScriptLauncher was not sending heartbeats during import, which might have stopped the script prematurely.
Models.Where({
* D-12589: Pressing Add measure/Add dimension button crashed chart.
let timestampColumn = _.Configuration?.TryGetValue("Datasource")?.TryGetValue("Events")?.TryGetValue("Columns")?.TryGetValue("Timestamp");
* D-12558: In chart settings, setting expression to "(none)" gave error.
return First(_.EventsDatatable?.Columns?.Where(Name==timestampColumn))?.Datatype == "String";
 
}).(Name + " (id: " + Id + ")");
== QPR ProcessAnalyzer 2022.6 (build 1259) (released 2022-10-05) ==
</pre>
 
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
QPR ProcessAnalyzer Server and QPR ScriptLauncher use now .NET 6 (instead of legacy .NET Framework). The hardware requirements are same, but the .NET 6 Runtime needs to be installed to machines running QPR ProcessAnalyzer Server and QPR ScriptLauncher. See more on the [[Updating_QPR_ProcessAnalyzer_Server|updating QPR ProcessAnalyzer]] instructions. Note that the IIS deployment script is not available anymore. QPR ScriptLauncher update is not mandatory (i.e., .Net Framework based QPR ScriptLauncher works with the .Net 6 based QPR ProcessAnalyzer Server), but update is recommended due to bug fixes made to the QPR ScriptLauncher.
</div>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
Following legacy analyses have been removed: Flowchart (analysis number: 0), Variations (8), Duration (9), Profiling (10), and Flows (13). This functionality may have been used in the SQL scripts. Note that this change doesn't affect the functionality available in the QPR ProcessAnalyzer web UI.
For Snowflake dashboards, table actions to [[QPR_ProcessAnalyzer_Table#Table_actions|set dashboard variables]] now set the variable values in the [[Stringified_Value_Format|stringified format]] instead of as raw values. This makes the variables set by table actions compatible with the [[Chart_Linked_Settings|linked settings]] which also use the stringified format by default for the Snowflake models.
 
Following script can be run in the [[Navigation_Menu#Expression_Designer|Expression Designer]] to show whether there are scripts in the system that likely use the removed analyses:
<pre>
let removedAnalyses = Flatten([0,8,9,10,13].(["'AnalysisType','" + _ + "')", "'AnalysisType', '" + _ + "')"]));
OrderByDescending(Flatten(Projects.Scripts).Where({
  let scr = _;Sum(removedAnalyses.{let num=_;scr.code?.Contains(num)})>0;
}),LastRunStart).(Project.Name + ": " + name + " (last run: " + (LastRunStart ?? "N/A") + ")");
</pre>
 
</div>
</div>


'''Features:'''
===New features===
* B-06524: Search dialog for finding and selecting multi-select items.
*Introduced [[AI Agent]] which is a new dashboard component showing LLM generated answers based on user prompt and input data. (B-08556)
* B-07173: CSV file importing supports date columns for row matching.
*Added [[Filtering_in_QPR_ProcessAnalyzer_Queries#Object-centric_filter_rules|filtering by object attributes]] for object-centric models. Filters can be created from dialog or selecting items from charts. (B-08547)
* B-07277: Query timeout for dashboards.
*In object-centric models, object-to-object relations are followed only forward and backward directions. Additionally, there are performance improvements for object-centric models. (B-08577)
* B-06921: Expression language: For loop.
*Snowflake warehouse can be [[QPR_ProcessAnalyzer_Project_Workspace#Change_Snowflake_Warehouse_for_Model|specified for each model]] allowing to use optimal type of warehouse for different sizes of models. (B-08610)
* B-07307: Expression language: DataTable.Synchronize().
*Home screen has been removed, and [[QPR_ProcessAnalyzer_Project_Workspace|Workspace]] has new card layout and other UX improvements. (B-08541)
* B-07288: SQL expression functions ToLower and ToUpper.
* Added [[Filtering_in_QPR_ProcessAnalyzer#Saving_filters|filter description]] field to filter properties dialog. (B-08451)
* B-07335: Expression language: Datatable.NameInDataSource-property.
*Removed event type existence check from charts, so that non-existing event types are allowed. (B-08585)
* B-07336: ScriptLauncher client side import heartbeat.
*Snowflake Native App configuration data can be [[QPR_ProcessAnalyzer_Native_App_in_Snowflake#Backup_configuration_data|backed up to a snapshot and restored]]. (B-08591)
* B-07176: Dataframe queries run in SQL Server are stopped when operation is cancelled.
*Improved detection of invalid models by adding [[QPR_ProcessAnalyzer_Objects_in_Expression_Language#CheckModelValidity|CheckModelValidity]] function returning model validation errors. (B-08426)
* B-06986: Support for AggregateOthers setting in dataframe processing.
* B-07342: Improved validation for dashboard import.
* B-07267: Support for Comparison parameter in SQLExpression filter rule.
* B-06533: Timeout to /api/expression/query.
* B-07208: Remove deprecated analyses (part 2).
* B-07295: Frontend components update.
* B-07290: Translation updates for release 2022.6.
* B-07326: .NET 6 migration merge.
* B-07398: Improvements to PA service log writing during client-side import.


'''Fixed issues:'''
===Fixed issues===
* D-12098: Attribute function worked incorrectly inside Switch statement.
*Prevented following error in Snowflake dashboards: Object "qprpa_dt_cache_..." already exists when creating a cache table. (D-14348)
* D-12491: Case filter was not shown in header if case id column is integer.
*In-memory chart "Cases filtered by attribute" didn't work for date type of attributes. (D-14387)
* D-12535: Variables disappeared when going to other dashboard.
*Fixed issue where each dashboard element resize made element width or height increase when chart margin was more than zero. (D-14361)
* D-12480: ScriptLauncher client side import stucked without error.
*Chart related buttons are now hidden in datatable content preview. (D-14360)
* D-12501: Snowflake model gave error: ERROR [42P13] Invalid argument types for function 'SUM': (BOOLEAN).
*Fixed issue where gateway based data import didn't write SAP errors into script log. (D-14351)
* D-12112: Added validation for allowed values of standard context variables.
* Snowflake chart gave error when "Last Row Aggregates Over-limit Rows" setting was used with list aggregation. (D-14352)
* D-12470: Truncating datatable made it unreadable.
*"Users" system report performance has been improved by adding EffectivePermissionTypesFor function. (D-14266)
* D-12383: Chart settings export options didn't change when visualization is changed.
*Fixed issue where AI Assistant crashed when used with a model having ODBC or expression datasource. (D-14340)
* D-11424: Multiselect dropdown lists were shown partly out of screen in smaller screens.
*Fixed issue where AI Assistant explaining charts crashed when applying to Label component. (D-14344)
* D-12270: Old version Big data chart didn't show correct error message.
*Improved client-side import not to perform redundant datatable configuration data queries. (D-14347)
* D-12471: Expression query windowing didn't take Criteria parameter into account.
*Model was incorrectly identified as in-memory model when datatables were missing. (D-14325)
* D-12461: Several datagrid column menus were incorrectly visible at the same time.
*Model default filter is now in use when model is opened from Workspace. (D-14376)
* D-12430: Dashboard gave error: Uncaught SyntaxError occurred: Invalid or unexpected token  at new Function (<anonymous>).
* D-12436: When query specific mapping was used, variations indicate flow that didn't exist in flows query.
* D-12432: SqlExpressionValue filter rule using Datediff function didn't work.
* D-12393: Expression generated with "Show Expression" in query designer did not support column role mappings.
* D-11272: Measure/Dimension/Column settings icon was changed to be more understandable.
* D-12416: Some UI strings were not translated properly.
* D-12153: Removed logging when defining functions.
* D-12485: Business calendar performance issue - part 1.
* D-12537: Variables didn't work in PA opening url when SAML is in use.
* D-12506: Root Analysis gave error "Operations that change non-concurrent collections must have exclude access".


== QPR ProcessAnalyzer 2022.5 (build 1179) (released 2022-08-24) ==
===Other improvements===  
<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
*Changed Snowflake charts to store [[QPR_ProcessAnalyzer_Table#Table_actions|variable change actions]] in stringified format to make them compatible with linked settings. (B-08587)
Datatables can be stored to a separate SQL Server database, i.e., the datatables are not anymore created to the QPR ProcessAnalyzer metadata database. This improves performance as data intensive operations are isolated from metadata operations. To take the feature into use, create a new database in SQL Server and set the [[PA_Configuration_database_table#General_Settings|SqlServerConnectionString]] setting in the configuration table to connect to that database. When the configuration has been made, all new datatables are created to the datatables database. Pre-existing datatables are still located in the metadata database. To get the pre-existing datatables to the new database, they need to be recreated, which can be done by creating a duplicate of the datatable. Support for the metadata database stored datatables is continued, but deprecating the support in future will be considered.
*Backend support for [[Filtering_in_QPR_ProcessAnalyzer_Queries#Object-centric_filter_rules|object-centric filter rules Disabled flag]]. (B-08611)
</div>
*Implemented Entity Framework based database initialization and migrations. (B-08566)
*Added support for following Entity Framework database providers: SQL Server (full), Snowflake Hybrid Tables (experimental), PostgreSQL (experimental). (B-08581)
*Frontend components have been updated. (B-08597)
*Backend components have been updated. (B-08596)
*Translations have been updated for release 2025.2. (B-08607)


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
==QPR ProcessAnalyzer 2025.1 (build 9124) (released 2025-01-23)==
Following legacy analyses have been removed: Variations Chart (analysis number: 1), Event Types Chart (4), Models (17), Model Report (21), Project Report (22), Datatable Report (23), and Script Report (24). To replace these analyses, use the corresponding native functionality in the expression language.


Following script can be run in the [[Navigation_Menu#Expression_Designer|Expression Designer]] to show whether there are scripts in the system that likely use the removed analyses:
New features presentation: [https://files.qpr.com/releases/QPR_ProcessAnalyzer_2025_1.pdf QPR_ProcessAnalyzer_2025_1.pdf]
<pre>
let removedAnalyses = Flatten([1,4,17,21,22,23,24].(["'AnalysisType','" + _ + "')", "'AnalysisType', '" + _ + "')"]));
OrderByDescending(Flatten(Projects.Scripts).Where({
  let scr = _;Sum(removedAnalyses.{let num=_;scr.code?.Contains(num)})>0;
}),LastRunStart).(Project.Name + ": " + name + " (last run: " + (LastRunStart ?? "N/A") + ")");
</pre>
</div>


<div style="border:1px solid #dfdfdf;padding:0.5em 1em 0.5em 1em;background-color:#E7EAEC;margin:10px 0px 0px 10px;">
===New features===
Security hardening instructions to set the [[QPR_ProcessAnalyzer_Security_Hardening#Add_Security_Related_HTTP_Headers_in_IIS|Content-Security-Policy]] http header, has changed. In addition, the '''img-src''' directive includes also '''blob:''' urls (this allows to export Highcharts charts).
*B-08526: Variations and other lists can be visualized with colors, and "List separator" field is available for dimensions and columns.
</div>
*B-08530: Charts can have a [[QPR_ProcessAnalyzer_Chart#Visual_Settings|description text]] which are shown in a dialog when pressing the info button.
*B-08546: Added [[SQL_Expressions#LLMComplete|LlmComplete]] function to access Snowflake Cortex large language models.
*B-08439: Added project settings [[QPR_ProcessAnalyzer_Project_Workspace#Project-level_Snowflake_Database_and_Schema|DatabaseNameInDataSource and SchemaNameInDataSource]] to define Snowflake database and schema.
*B-08531: Projects can be created in expression language using [[Generic_Functions_in_QPR_ProcessAnalyzer#CreateProject|CreateProject]] function.
*B-08387: Added backend support for object-centric model [[Filtering_in_QPR_ProcessAnalyzer_Queries#Object-centric_filter_rules|filtering for object attributes]].


'''Features:'''
===Fixed issues===
* B-06898: In Snowflake models, events can be filtered based on event attribute values.
* D-14339: Week numbers showed incorrect year for last dates in the end of year.
* B-06996: In Snowflake models, event type mapping can be defined for each chart.
*D-14323: Filtering with "Split data by filtering" dimension didn't work with exclude type of filter rules and when there were multiple filter rules.
* B-07069: Datatables can be stored to separate SQL Server database to reduce load from metadata database.
*D-14346: Fixed issue where manual activation using activation utility didn't work.
* B-06525: In dashboard editor, the background alignment grid is now better visible with any background color.
* D-14326: Fixed issue where extra columns in objects table broke object-centric model.
* B-06844: In script editor, the script status is automatic refreshed.
*D-14306: Fixed issue when there were both TimeStamp and ToTimeStamp event data columns.
* B-06643: Links in header changed, e.g., the eLearning library link.
* D-14332: Flowchart event type and flow queries are now simultaneous which will improve performance.
* B-06981: Chart settings remember the last opened tab, and the settings are always for the active chart.
*D-14331: Flowchart lost selection when flowchart used linked variables with array values.
* B-06467: Added SelectDistinct function for dataframes for selecting distinct rows.
*D-14299: Table text filters didn't work in Snowflake (starts with, ends with, contains).
* B-06933: Added "Like" function to SQL expressions for string pattern matching.
*D-14338: Model.Modify function generated model json configuration that frontend wasn't incompatible with.
* B-06543: Generic Eval function for evaluating an expression given in a string.
*D-14342: Flow step and Zoom settings control have same size and layout is aligned.
* B-06944: Truncate function to efficiently delete all rows from datatable.
*D-14316: Occurrence impact on case duration measure didn't work with certain in-memory models.
* B-07207: Access to properties CreatedBy, LastModifiedBy and LastImportBy for datatables using expression language.
*D-14327: AI Assistant had console error when pressing send button without text.
* B-06906: Added Configuration property to Model and Datatable objects to get configuration json as dictionary.
*D-14341: AI Assistant overlapped with BPMN editor in fullscreen mode.
* B-07170: Added ScriptByName and ModelByName functions for project objects and changed behavior for DatatableByName function.
*D-14321: Added error message for AI Assistant when trying to use it without model selected.
* B-06919: Expression language: Increment (++) and decrement (--) operators.
* B-06829: UI remembers the user's last selected model in next login.
* B-07000: Workspace Models and Scripts tab auto-refresh has been optimized for performance.
* B-06456: Changed icons in chart Visualization selection.
* B-07175: Removed deprecated analyses.
* B-07205: Replaced Scripts analysis (24) with expression language property.
* B-06813: Pacm file support case and event attribute data types.
* B-06907: Define start row for the returned data in dataframe processing.
* B-06879: NumberPrecision and DatetimeTruncation support for dataframe queries Values columns.
* B-06998: Implemented referrer policy HTTP header.
* B-06936: Prevented using outdated caches in dataframe processing.
* B-07066: Snowflake queries has been optimized by removing unnecessary metadata queries.
* B-06900: Backend support for expression filter rules to dataframe processing.
* B-06987: Add caching for Project objects.
* B-06910: Frontend components have been updated.
* B-07117: Translation updates for release 2022.5.


'''Fixed issues:'''
===Other improvements===
* D-12075: DashboardFilter variable rules were applied in incorrect order.
* B-08391: Datatable access has been optimized improving performance for object-centric models.
* D-12351: Pivot table columns headers had unnecessary prefix when there are multiple measures and no dimensions in columns.
*B-08529: Added support for array type in stringified value format.
* D-11946: Content security policy violation occurred when exporting Highcharts charts as images.
*B-08527: Improved SAP connector error handling and removed assumption for fixed dll file names.
* D-12064: Chart pending query was incorrectly cancelled when going to and from Add component mode.
*B-08552: Migrated rest of SQL queries into Entity Framework as preparation for storing configuration data to Snowflake hybrid tables.
* D-11606: Scripts and Projects tab slightly covered the top borderline of workspace datagrid and entire grid was not visible.
*B-08544: Frontend components have been updated.
* D-12389: When using AggregateFrom, filters were always applied on the completely unfiltered set of events even if a "top level" filter existed also.
*B-08561: Updated translations for release 2025.1.
* D-12324: The visibility stepper counter didn't follow changed variations.
* D-12373: CSV import may have failed when there are line breaks in strings.
* D-12045: Column filter was not cleared when user switched to other view in Recycle bin.
* D-11590: Two context menus were visible at the same time.
* D-11131: It was not possible to move data grid column Custom filter dialog.
* D-11401: For datatables filter popup menu was opened outside visible dialog and required more scrolling to be seen.
* D-11650: In Workspace, sub context menu for target projects to move items didn't open with latest Syncfusion.
* D-11651: Multiselect list lost some items when using search.
* D-11657: Combobox autofill was broken.
* D-11639: User's default model did not behave as it should.
* D-12085: Filter rules in header were lost when pressing F5.
* D-12142: KPI card value is now visible for non-numeric values.
* D-12105: Nullable object must have value error displayed  when trying to open Enhanced BPMN dashboard.
* D-12157: Root causes analysis in the Conformance Root Causes Analysis didn't work.
* D-12067: Some tooltips, e.g., in BPMN button, didn't disappear at all.
* D-12069: User got querying variation error when first time created big data flowchart.
* D-12177: In models list, search and cancel icons were vertically misaligned.
* D-12116: Add and delete filter rule from Create Filter dialogue did not work.
* D-11445: When using very large value for border corner roundness, chart settings were not visible.
* D-12166: External content presentation object was broken due to too strict content security policy.
* D-12151: KPI card incorrectly showed error "Measure data type needs to be numeric" when numerical measure has null value.
* D-12150: Event data column named "Case ID" mapping to both Case ID and Event Type caused error "An item with the same key has already been added".
* D-12325: Workspace root level had too many New items in context menu.
* D-12326: Wrong menu displayed for sub projects if first click create new option for root level from project tree view.
* D-12000: Script log system report default time interval was too long making report very slow.
* D-12119: Uncaught (in promise) TypeError occured: Cannot set properties of undefined (setting 'isAnimate').
* D-12293: "Cannot read properties of undefined (reading 'id') at o.checkTabNames" error occured.
* D-12294: Term ID was incorrectly translated.
* D-12353: Dialogs broke when there are quotation marks in header.
* D-11978: Soft deleted project could incorrectly be queried by admins.
* D-11982: Null reference error when filter contained attribute value with null.
* D-11706: Deadlocks during tests in Concurrency test category.
* D-11893: User.Globalpermissions returned incorrectly Hashset for inactive users (should return array).
* D-11892: Project-specific user role could be assigned without project id (as global).
* D-12114: In-memory core gave now and then error: The given key was not present in the dictionary.
* D-12138: Timespan function incorrectly assumed 32-bit integers.
* D-11548: Removed setting of default model and view.
* D-12230: Column mappings didn't work for some dataframe processing operations.
* D-12100: Giving project name (possibly id too) for DataFrame.Persist did not work when persisting a SqlDataFrame.
* D-12099: Querying SqlDataFrame for an empty table returned an empty in-memory DataFrame.
* D-12301: Duplicating local datatable didn't create datatable in sqlserver.
* D-12097: Error "Unable to join two tables without specified binding columns", when dimensioning events by two case attributes.
* D-11862: Filter with integer stringifiedvalues raised an exception when running in in-memory.
* D-12087: Error: Ambiguous column name 'CaseId'. The column 'CaseId' was specified multiple times for 'df_5'.
* D-12297: The datediff function resulted in an overflow when using high precision in SQL Server.
* D-12288: Error in querying event type measures: An item with the same key has already been added.
* D-12329: Filters using boolean attributes didn't work in SQL Server/Snowflake.
* D-12054: Backslashes in string literals gave null reference error in dataframe processing.
* D-12065: Case attribute filtering with column mapped to case id didn't work in filters.
* D-12070: PA server incorrectly modified dashboard json.
* D-12046: Expression language DateTime.Ticks was always UTC time.
* D-12102: SQL Expression: Variable-function did not work if the variable has upper-case letters.
* D-11950: Using list aggregation with different orderings in a single select did not work.
* D-12345: Mapping columns and using Columns function caused error 'invalid identifier'.
* D-12082: SourceData definition to events effected case attributes.
* D-12348: DateDiff did not support milliseconds in-memory.
* D-12374: Overflow error occurred when calculating standard deviation for case durations in large model.


== Old Releases ==
== Old Releases==
See older releases in [[QPR ProcessAnalyzer Release Archive]]
See older releases in [[QPR ProcessAnalyzer Release Archive]]
__NOTOC__
__NOTOC__


[[Category: QPR ProcessAnalyzer]]
[[Category: QPR ProcessAnalyzer]]

Latest revision as of 09:49, 5 November 2025

This page lists all new features and fixed issues for each QPR ProcessAnalyzer release.

Next Release: QPR ProcessAnalyzer 2025.7 (planned 2025-11-11)

See roadmap for next release features and fixes

Latest Release: QPR ProcessAnalyzer 2025.6 (build 10690) (released 2025-10-01)

New features presentation: QPR_ProcessAnalyzer_2025_6.pdf

Known issue: If the DefaultUiLanguage system configuration is not defined, users who haven't changed their own language, are unable to login. To prevent this problem, please ensure the DefaultUiLanguage is defined. The next release will fix this issue (D-14706).

Content-Security-Policy (CSP) HTTP header has been updated to enhance security by implementing more restrictive settings. The following directives have been added:

  • object-src 'none'
  • frame-ancestors 'self'
  • form-action 'none'
  • base-uri 'none'
  • worker-src blob:

These new restrictions may affect usage that has previously been possible. For example, with the new settings, QPR ProcessAnalyzer can be embedded to a website only within the same origin. For detailed instructions on embedding QPR ProcessAnalyzer on a different website, please refer to this quide. Additionally, for information on modifying the CSP settings, see documentation for security hardening.

In the QPR ProcessAnalyzer 2025.6 Native App, the release version number is not displayed correctly in the User Settings dialog. This omission does not have any other complications. QPR ProcessAnalyzer 2025.6 is the only release with this issue, making it possible to identify this release despite the missing version number. This issue is specific to the Native App only. The next release will fix this issue (D-14703).

New features

  • Starting dashboard after login can be defined for user groups, allowing to create customized starting pages for easy navigation. (B-08791)
  • Snowflake chart's event filters are now embedded to filters created from chart, to precisely follow chart calculation. (B-08845)
  • Result data can be filtered in Snowflake charts using result filtering expression which works for any datasets. (B-08751)
  • Filter rules order now stays the same when making filter selections and confirming filter. (B-08801)
  • Added model setting Show object count statistics to hide object counts information in dropdown lists to optimize performance. (B-08849)
  • Added support for hiding statistics for on-screen setting dropdown lists to improve performance, and in addition the case ID is hidden Case/Event attribute profiling presets. (B-08840)
  • Added following audit fields to users and groups: Created date, Created by, Last modified date, and Last modified by. (B-08792)
  • Snowflake Native App: Added procedure to that creates administrator user to Native App if access to the app has been lost. Also, prevented user management operations that remove own access. (B-08733)
  • Snowflake Native App: Added procedure to change Native App compute pool size. Changed new Native Apps to use CPU_X64_S size compute pool, and improved Native App stability. (B-08859)

Fixed issues

  • Snowflake Cortex based AI Assistant didn't show the results table. (D-14643)
  • When percent stacking is used, Y-axis values are now shown as percentages in data label and tooltip. (D-14633)
  • Fixed issue where Label&Link component had sometimes unnecessary vertical scrollbar. (D-14685)
  • Model validation showed incorrect error message for models with numeric duplicate case ID's. (D-14687)
  • In Workspace, scripts "View current run log" dialog didn't update log correctly when new entries were added. (D-14662)
  • Event type mapping in charts didn't work in object-centric models. (D-14620)
  • Model generation didn't work as transformation step using _system.ML.ApplyTransformation function. (D-14654)
  • Others aggregation has been removed from date type of dimensions because tables don't work with textual data in date columns. (D-14623)
  • Fixed issue in AI Assistant where using both Snowflake Cortex and OpenAI modes caused error. (D-14646)
  • In User Management Effective permissions table, column filter incorrectly showed "true" and "false" as options. (D-14639)
  • Pivot table incorrectly showed "Numeric value is not recognized" error when Count or Unique count aggregations were used. (D-14559)
  • Workspace buttons are now visible in small screens spanning to multiple lines. (D-14587)
  • Added tooltip text to "Move to" submenu containing projects so that long project names can be seen. (D-14612)
  • Translation was missing from error messages when deleting items from recycle bin. (D-14652)
  • Fixed data type related issues with in-memory Floor, Ceiling and aggregation functions. (D-14622)
  • Optimized resource loading by getting rid of unnecessary file assets/i18n/en_US.json. (D-14641)
  • Fixed issue where opening script editor gave javascript error about content-security-policy violation. (D-14627)
  • Fixed issue in charts showing datatable content had a strange error when datatable was not selected. (D-14650)
  • Fixed incorrect data types in some project, user and group related measures. (D-14619)
  • Fixed issue where moving expression scripts was not possible when SQL Scripting was not allowed. (D-14624)
  • Deleting and renaming scripts were not available for expression scripts when SQL Scripting was not allowed. (D-14625)
  • Improved documentation for situation when non-existing Snowflake warehouse is configured for a model. (D-14543)
  • Project properties dialog shows a descriptive text when no secrets have been defined instead of an empty table. (D-14611)
  • Improved messages and New project button visibility in Workspace top level when no projects are shown. (D-14609)
  • Event preset gave error if enabling Apply with Chart Filters setting and trying to create filters. (D-14695)

Other improvements

  • Added QPR ProcessAnalyzer API request ID to Snowflake queries to easily find matching query in Snowflake query history. (B-08839)
  • Content Security Policy HTTP header includes now object-src, frame-ancestors, form-action, base-uri, and worker-src. (B-08794)
  • Snowflake queries have been optimized by removing null and empty string checks from mapped columns as they are now handled by the model validation check. (B-08837)
  • Added backend support for object-centric model filtering based on case-centric filter rules. (B-08836)
  • Frontend components have been updated. (B-08851)
  • Backend components have been updated. (B-08852)

QPR ProcessAnalyzer 2025.5 (build 10361) (released 2025-08-21)

New features presentation: QPR_ProcessAnalyzer_2025_5.pdf

When using Snowflake Cortex, the AI Assistant is not showing the results table in the assistant's response. This issue has been fixed by the next release.

New features

  • Object-centric flowchart can also use object-to-object relations to link events and objects simplifying event-to-object configuration. (B-08671)
  • AI Assistant can provide precise quantitative analysis by making queries to eventlog data (powered by Snowflake Cortex Analyst and Agents). (B-08652)
  • Flows and variations can be filtered from any event attribute viewpoint in Snowflake. (B-08737)
  • Added project properties dialog for viewing project information, changing Snowflake connection settings and project secrets. (B-08655)
  • Model validity check easily detects technically invalid models and shows detailed reason for invalidity. (B-08624)
  • Projects can be exported to json files and imported as new projects. (B-08717)
  • Action buttons can be added to dashboard by defining label component that can change dashboard variables and run scripts. (B-08694)
  • Web user interface is available in Ukrainian language. (B-08734)

Fixed issues

  • Fixed following error when performing client-side SAP import: Could not find a part of the path (QPR_ImportSource_Chunk_*.tmp). (D-14589)
  • Fixed issue where ManageProjects permission was incorrectly required when running scripts using QPR ScriptLauncher non-legacy mode. (D-14562)
  • Fixed following error when using SAP import from SQL script called from expression language called from SQL: The given key was not present in the dictionary. (D-14593)
  • Some analyses didn't work, when case ID columns for cases and events datatables differed only in upper/lowercase letters. (D-14556)
  • Business calendar didn't work for some measures/dimensions/columns and some had business calendar checkboxes missing. (D-14563)
  • Prediction failed to following error: transformer_model_next_activity/event_year_input_embedding. (D-14551)
  • Scripting now works correctly after rows from PA_OPERATION_STATUS table have been deleted. (D-14545)
  • Fixed issue where case-centric flowchart was very slow for object-centric model. (D-14544)
  • Prevented creating dashboards, models and scripts with duplicate names in the same project. (D-09480)
  • KPI Card now shows line breaks correctly in textual values. (D-14546)
  • Improved table Excel export for list data to show items with separator character instead of showing as JSON. (D-14479)
  • Column showing non-conformance reason was incorrectly aligned to right. (D-14570)
  • GetRelatedValueFrom function caused column name conflict when used multiple times in same query. (D-14591)
  • Fixed issue where in-memory sorting for arrays gave "Error in sorting analysis result rows possibly due to multiple types of values ...". (D-14592)
  • Array type of values were shown incorrectly when used Last Row Aggregates Over-limit Rows setting. (D-14616)
  • Fixed the "Most common" text aggregation sorting error for in-memory calculation. (D-14573)
  • Snowflake model validation gave incorrect error message when mapped column didn't exist in datatable. (D-14565)
  • Improved model validation to detect when connection string key for model or datatable does not exist. (D-14607)
  • Model validation gave incorrect error when when events datatable case id mapping was missing. (D-14566)
  • Model validation gave incorrect error message when cases and events datatables were in different datasources. (D-14567)
  • Model validation gave incorrect error message when underlying Snowflake table didn't exist. (D-14568)
  • Workspace Card/Table mode toggle buttons were not translated. (D-14547)
  • Some invalid queries gave unexpected errors and strange outputs. (D-14569)
  • Added translations to model notifications preview table headers. (D-14590)
  • Added translations to access denied message for header object counts indicator. (D-13967)
  • AI Assistant explaining charts speaks now user interface language. (D-14578)
  • AI Agent prompt chart editor didn't show correctly if model was not selected. (D-14536)
  • AI Assistant gave "Unsupported cache table type" error when trying to explain object-centric flowchart. (D-14477)

Other improvements

  • When trying to open dashboard with an invalid model, the precise model validation error message is shown. (B-08629)
  • Account locked message is now same as username/password incorrect to prevent account enumeration attack. (B-08740)
  • Stringified value format supports also json objects. (B-08766)
  • Event attribute used as event type can be defined for flow and variation filters in Snowflake models (backend support). (B-08705)
  • Translations have been updated. (B-08757)
  • Frontend components have been updated. (B-08760)
  • Backend components have been updated. (B-08759)

QPR ProcessAnalyzer 2025.4 (build 9985) (released 2025-05-28)

New features presentation: QPR_ProcessAnalyzer_2025_4.pdf

New features

  • Added new AI Agent presets analyzing current state and proposing improvements based on different viewpoints, such as Event and Case Counts, Automation, Bottlenecks, and Root Causes. (B-08710)
  • Added a generic filtering component that can be configured for creating any type of filters for distinct values. (B-08654)
  • Volume declining in measures due to case sampling can be compensated in chart and flowchart by using a Statistical calculation method. (B-08598)
  • In object-centric models, Object ID, Event ID, Event timestamp, and Event type attribute names are shown correctly. (B-08680)
  • Snowflake native app has now application roles for user (for using app) and administrator (for managing app). (B-08660)
  • For Snowflake native app, IMPORTED PRIVILEGES ON SNOWFLAKE DB privilege is removed and instead the CORTEX_USER database role can be assigned. (B-08718)
  • Native app logging has been improved and now sharing application logs with QPR is possible. (B-08661)
  • Added CsvToDataFrame function to expression language to convert textual CSV data into in-memory dataframe. (B-08246)

Fixed issues

  • Fixed "Invalid identifier" error when opening attribute selection list for case attribute preset caused by object id columns which differed only by letter capitalization. (D-14539)
  • When Image component is clicked in dashboard edit mode, the component is now selected instead of link followed. (D-14525)
  • Filters created from dimensions having dimension-specific filter rules will now create expression filter rule where dimensions-specific filter is embedded, for accurately following the selection. (D-14499)
  • Filtering variations or list of event attribute values didn't work in in-memory models. (D-14476)
  • Fixed issue where AI Agent didn't update when dashboard variable changed used by prompt chart. (D-14537)
  • Fixed issue where some statistical calculations inadvertently changed row order when applying in groups. (D-14495)
  • In in-memory models, array type of data was not dimensioned correctly. (D-14518)
  • AI Agent Process Variations preset gave "division by zero" error when there were zero cases. (D-14508)
  • Table grouping header labels were not formatted correctly. (D-14514)
  • Fixed Root causes analysis to work with object-centric models. (D-14515)
  • Filtering by OcelObjectId didn't work when model didn't have object type table for perspective used in filter. (D-14522)
  • Fixed Root causes analysis with weighting expression to work with object-centric models. (D-14517)
  • Fixed issue where persisting query results where query is started from datatable having custom table name overwrote data in original table. (D-14528)
  • Flowchart SVG export did not show start and end symbols. (D-12401)
  • Fixed issue where join operation didn't find renamed columns in SqlDataFrames. (D-14512)
  • Improved chart filtering button positions to work with small chart sizes. (D-14509)
  • Datatable foreign key columns dictionary data type was incorrect preventing reading columns information. (D-14505)
  • Workspace scripts editor allowed to change script code for viewer users (altough not save it). (D-14534)
  • In chart custom sorting, trying to refer to measure that had None aggregation, caused SQL compilation error. (D-14526)
  • Model validation check crashed when the datatables were in different datasources. (D-14502)

Other improvements

  • Added expression language functions for using Snowflake Cortex Agents with Cortex Analyst access to query eventlogs. (B-08647)
  • Projects can be export and imported in JSON format containing dashboards, models, datatables and scripts. (B-08613)
  • Simplified object-centric model queries by accepting OcelObjectId as object attribute name in filters. (B-08702)
  • Streamlined import API by removing importMode parameter and changing default fileType to CSV. (B-08704)
  • Frontend components have been updated. (B-08695)
  • Backend components has been updated. (B-08696)

Additional release for QPR ProcessAnalyzer 2025.3 (build 9805) (released 2025-04-30)

New features

  • Navigation menu is now displaying dashboards from open dashboard's project or from selected Workspace project (earlier dashboards were shown from the selected model's project). (B-08673)

Fixed issues

  • Fixed issue where AI Agent made unnecessary queries when filtering dashboard, and also opening dashboard with lot of chart may have been slow. (D-14503)
  • When datatable columns were modified, queries to the data may have given "Invalid identifier" error. (D-14507)
  • Clustering analysis didn't work with object-centric models. (D-14486)
  • When a new groups is added, it's selected by default in the Manage Users dialog. Also clicking a selected group does not deselect it. (D-14491)
  • Deleting last group didn't remove the group from the list. (D-14504)

Additional release for QPR ProcessAnalyzer 2025.3 (build 9725) (released 2025-04-23)

There is an issue causing some dashboards having more than 50 charts to open slowly. The issue has been fixed in the next release by D-14503.

Fixed Issues

  • Fixed issue where system stopped responding after opening Scripts tab several times (error in logs: Timeout expired prior to obtaining a connection from the pool). (D-14506)
  • Fixed issue where the object-centric models object types tables didn't work without the timestamp column. (B-08683)
  • Snowflake cache tables are now created after initiating calculation is completed to improve performance. (D-14460)
  • Fixed issue in User Management where assigning role to project or adding user to group was not saved when there was a column filter. (D-14124)

QPR ProcessAnalyzer 2025.3 (build 9699) (released 2025-04-16)

New features presentation: QPR_ProcessAnalyzer_2025_3.pdf

There is a potentially serious issue that can cause the system to stop responding, when opening the Scripts tab in the Workspace. The issue has been fixed in the next release (build 9725) by D-14506.

Object-centric model simplification in the story B-08667 (object attributes can only have a single value) doesn't work with this release. The issue has been fixed in the next release (build 9725) by B-08683.

New features

  • Enhanced AI Agent with UI for editing prompt datasets, and added checkbox to include other charts in dashboard to prompt. (B-08641)
  • In object-centric models, object-to-object relations are now followed by traversing once all object types. (B-08606)
  • In object-centric models, event type and object type tables are not mandatory anymore, and common attributes can be specified in events and objects tables. (B-08663)
  • Object-centric models support simplified structure where object attributes can only have a single value. (B-08667)
  • "Object relation steps" setting can be empty to traverse all linked objects in the object-centric model. (B-08668)
  • Snowflake Event Types preset has been improved by adding suggestion of desired and undesired activities based on frequency of occurrence. (B-08656)
  • Added checkbox for disabling filtering for individual dimensions or columns. (B-08589)
  • Case and event attributes dropdown lists show number of unique values in Snowflake models (instead of attribute datatype as previously). (B-08316)
  • SAML authentication can now synchronize user groups from identity provider. (B-08612)
  • Groups can be deleted in user management. (B-08330)
  • Secrets can be defines as global that can be used by all projects. To set global secrets, SetSecret function works also in the generic context. (B-08599)
  • Snowflake Clustering analysis shows now number of event occurrences as features describing clusters. (B-08353)
  • Model validity check has been extended to find issues in the eventlog data for Snowflake case-centric models. (B-07910)

Fixed issues

  • Fixed a potential issue which could have leaked database connections and caused connection pool starvation. (D-14414)
  • Renewed self-signed certificate used by SAML 2.0 authentication with ten years of validity. (D-14424)
  • Improved CallWebService function to send request body when using DELETE method. (D-14488)
  • Login page now shows correct error message when there are serious system errors during login. (D-14480)
  • "Datatable contents (in-memory)" option now works also with Snowflake datatables. (D-14391)
  • Added maximum data size limitation to AI assistant to avoid error with large datasets. (D-14419)
  • Day of the Year/Week/Month/Quater selection didn't work with specific event time in in-memory chart. (D-14421)
  • KPI card now shows a scrollbar when content doesn't fit to the available space. (D-13428)
  • Workspace projects hierarchy tooltips didn't show special characters correctly. (D-14430)
  • BPMN editor crashed when creating filter from tasks giving following error: Cannot read properties of null (reading 'querySelector'). (D-14399)
  • Value expressions didn't work that are referred in dimension and containing aggregation. (D-13624)
  • Fixed issue where object-centric flowchart filter selection gave error when case-centric model was selected. (D-14408)
  • Fixed issue where query to non-existing model incorrectly returned "Sequence contains no elements". (D-14402)
  • Incorrect StringifiedValues in chart settings and expression filter rule caused UI to stuck. (D-14485)
  • Table column filter value list didn't show the null value label correctly. (D-13844)
  • "Visualize list items with colors" setting didn't work with the "Last Row Aggregates Over-limit Rows" setting. (D-14357)
  • Made sure that failed queries are not added to model filter cache. (D-14484)
  • Chart settings crashed when trying to use without model selected giving following error: Cannot read properties of undefined (reading 'injectValue'). (D-14395)
  • Fixed issue where chart settings opened on top of full screen BPMN editor. (D-14472)
  • Show details button in some error messages didn't have any effect when pressed. (D-14490)
  • Model validation message was incorrect for model where other datatable is Snowflake and other SQL Server. (D-14475)

Other improvements

  • Logging has been set to Warning level for Native App to avoid excessive number of log entries to Snowflake events table. (B-08687)
  • Datatable duplication is now synchronous in Snowflake until 30 seconds to avoid showing the created duplicate datatable with zero rows while the operation is still in progress. (B-08634)
  • Improved Snowflake cache table creation logic when there are multiple simultaneous queries. (B-08622)
  • Refactored SQL Server operations to improve robustness and avoid leaking database connections. (B-08649)
  • Frontend components have been updated. (B-08638)
  • Backend components have been updated. (B-08639)
  • Translations have been updated. (B-08640)

Additional release for QPR ProcessAnalyzer 2025.2 (build 9476) (released 2025-03-19)

Fixed issues

  • Fixed issue where charts axis labels had unnecessary line breaks on spaces. (D-14413)
  • Fixed issue where AI Agent and LLMComplete function didn't work in Native App. (D-14410)
  • Fixed translations for Workspace Scripts tab column filter for Status and Result columns. (D-14393)
  • Fixed issue where Volume Distribution of Flow Analyzed object type didn't work. (D-14390)
  • Removed reference to fonts.googleapis.com for stylesheets to avoid content-security-policy error. (D-14373)
  • Syncfusion dialog headers now show special characters correctly. (D-14407)
  • Object attribute filter gave null reference error when object type didn't exist in model. (D-14379)

QPR ProcessAnalyzer 2025.2 (build 9410) (released 2025-03-05)

New features presentation: QPR_ProcessAnalyzer_2025_2.pdf

Detection of models with incomplete datasource configuration has been improved, and now models where the event timestamp column type is string, are not anymore considered valid models. Earlier the string type of data was accepted and converted into dates when model was loaded (for in-memory models) or in SQL queries (in Snowflake models).

The following query can be run in the Expression Designer (with System administrator user) to list models where the events datatable timestamp column type is string:

Models.Where({
	let timestampColumn = _.Configuration?.TryGetValue("Datasource")?.TryGetValue("Events")?.TryGetValue("Columns")?.TryGetValue("Timestamp");
	return First(_.EventsDatatable?.Columns?.Where(Name==timestampColumn))?.Datatype == "String";
}).(Name + " (id: " + Id + ")");

For Snowflake dashboards, table actions to set dashboard variables now set the variable values in the stringified format instead of as raw values. This makes the variables set by table actions compatible with the linked settings which also use the stringified format by default for the Snowflake models.

New features

  • Introduced AI Agent which is a new dashboard component showing LLM generated answers based on user prompt and input data. (B-08556)
  • Added filtering by object attributes for object-centric models. Filters can be created from dialog or selecting items from charts. (B-08547)
  • In object-centric models, object-to-object relations are followed only forward and backward directions. Additionally, there are performance improvements for object-centric models. (B-08577)
  • Snowflake warehouse can be specified for each model allowing to use optimal type of warehouse for different sizes of models. (B-08610)
  • Home screen has been removed, and Workspace has new card layout and other UX improvements. (B-08541)
  • Added filter description field to filter properties dialog. (B-08451)
  • Removed event type existence check from charts, so that non-existing event types are allowed. (B-08585)
  • Snowflake Native App configuration data can be backed up to a snapshot and restored. (B-08591)
  • Improved detection of invalid models by adding CheckModelValidity function returning model validation errors. (B-08426)

Fixed issues

  • Prevented following error in Snowflake dashboards: Object "qprpa_dt_cache_..." already exists when creating a cache table. (D-14348)
  • In-memory chart "Cases filtered by attribute" didn't work for date type of attributes. (D-14387)
  • Fixed issue where each dashboard element resize made element width or height increase when chart margin was more than zero. (D-14361)
  • Chart related buttons are now hidden in datatable content preview. (D-14360)
  • Fixed issue where gateway based data import didn't write SAP errors into script log. (D-14351)
  • Snowflake chart gave error when "Last Row Aggregates Over-limit Rows" setting was used with list aggregation. (D-14352)
  • "Users" system report performance has been improved by adding EffectivePermissionTypesFor function. (D-14266)
  • Fixed issue where AI Assistant crashed when used with a model having ODBC or expression datasource. (D-14340)
  • Fixed issue where AI Assistant explaining charts crashed when applying to Label component. (D-14344)
  • Improved client-side import not to perform redundant datatable configuration data queries. (D-14347)
  • Model was incorrectly identified as in-memory model when datatables were missing. (D-14325)
  • Model default filter is now in use when model is opened from Workspace. (D-14376)

Other improvements

  • Changed Snowflake charts to store variable change actions in stringified format to make them compatible with linked settings. (B-08587)
  • Backend support for object-centric filter rules Disabled flag. (B-08611)
  • Implemented Entity Framework based database initialization and migrations. (B-08566)
  • Added support for following Entity Framework database providers: SQL Server (full), Snowflake Hybrid Tables (experimental), PostgreSQL (experimental). (B-08581)
  • Frontend components have been updated. (B-08597)
  • Backend components have been updated. (B-08596)
  • Translations have been updated for release 2025.2. (B-08607)

QPR ProcessAnalyzer 2025.1 (build 9124) (released 2025-01-23)

New features presentation: QPR_ProcessAnalyzer_2025_1.pdf

New features

  • B-08526: Variations and other lists can be visualized with colors, and "List separator" field is available for dimensions and columns.
  • B-08530: Charts can have a description text which are shown in a dialog when pressing the info button.
  • B-08546: Added LlmComplete function to access Snowflake Cortex large language models.
  • B-08439: Added project settings DatabaseNameInDataSource and SchemaNameInDataSource to define Snowflake database and schema.
  • B-08531: Projects can be created in expression language using CreateProject function.
  • B-08387: Added backend support for object-centric model filtering for object attributes.

Fixed issues

  • D-14339: Week numbers showed incorrect year for last dates in the end of year.
  • D-14323: Filtering with "Split data by filtering" dimension didn't work with exclude type of filter rules and when there were multiple filter rules.
  • D-14346: Fixed issue where manual activation using activation utility didn't work.
  • D-14326: Fixed issue where extra columns in objects table broke object-centric model.
  • D-14306: Fixed issue when there were both TimeStamp and ToTimeStamp event data columns.
  • D-14332: Flowchart event type and flow queries are now simultaneous which will improve performance.
  • D-14331: Flowchart lost selection when flowchart used linked variables with array values.
  • D-14299: Table text filters didn't work in Snowflake (starts with, ends with, contains).
  • D-14338: Model.Modify function generated model json configuration that frontend wasn't incompatible with.
  • D-14342: Flow step and Zoom settings control have same size and layout is aligned.
  • D-14316: Occurrence impact on case duration measure didn't work with certain in-memory models.
  • D-14327: AI Assistant had console error when pressing send button without text.
  • D-14341: AI Assistant overlapped with BPMN editor in fullscreen mode.
  • D-14321: Added error message for AI Assistant when trying to use it without model selected.

Other improvements

  • B-08391: Datatable access has been optimized improving performance for object-centric models.
  • B-08529: Added support for array type in stringified value format.
  • B-08527: Improved SAP connector error handling and removed assumption for fixed dll file names.
  • B-08552: Migrated rest of SQL queries into Entity Framework as preparation for storing configuration data to Snowflake hybrid tables.
  • B-08544: Frontend components have been updated.
  • B-08561: Updated translations for release 2025.1.

Old Releases

See older releases in QPR ProcessAnalyzer Release Archive