Question
Contract
US
Last activity: 8 Feb 2023 8:17 EST
Report Definition Warning on Parameters to use Null if empty
Hi,
I see that there is a sever warning (Performance) getting added on report definition rules in Pega 8 when there is a filter which uses a dynamic value, either paramter or data page reference, and asking to select "Use null if empty" option.
Warning:
Some of your filters are using a Page Reference with the "Use null if empty" option NOT selected. Please ensure that you do pass the Page Reference. Otherwise, the filter will be dropped entirely and execution of the report will result in very poor performance. If you do not want this behavior, select the "Use null if empty" option.
In many places we used the same report definition rule with different parameters to work differently to make the report definition more reusable.
For ex: if I have to show the user list of cases matching the criteria in a screen with the filters as Case ID and CustomerID. User will either enter customer id or case id or both and searches for cases.
For this we used to have a single data page with two parameters and the same will be passed to a single report definition rule.
But with this new warning introduced in Pega, we are forced to create multiple versions of the same rule with different parameters and configure multiple conditions in data page to refer these RDs to make sure the guardrail score is not impacted.
For me it looks like a limitation on reusability perspective but not sure why Pega added this warning.
Hi,
I see that there is a sever warning (Performance) getting added on report definition rules in Pega 8 when there is a filter which uses a dynamic value, either paramter or data page reference, and asking to select "Use null if empty" option.
Warning:
Some of your filters are using a Page Reference with the "Use null if empty" option NOT selected. Please ensure that you do pass the Page Reference. Otherwise, the filter will be dropped entirely and execution of the report will result in very poor performance. If you do not want this behavior, select the "Use null if empty" option.
In many places we used the same report definition rule with different parameters to work differently to make the report definition more reusable.
For ex: if I have to show the user list of cases matching the criteria in a screen with the filters as Case ID and CustomerID. User will either enter customer id or case id or both and searches for cases.
For this we used to have a single data page with two parameters and the same will be passed to a single report definition rule.
But with this new warning introduced in Pega, we are forced to create multiple versions of the same rule with different parameters and configure multiple conditions in data page to refer these RDs to make sure the guardrail score is not impacted.
For me it looks like a limitation on reusability perspective but not sure why Pega added this warning.
Dropping the filter criteria when the dynamic value is there from long time. not sure what is changed around this in engine code with Pega 8.
Can anyone please share some details on how this is impacting the performance.
Thank you,
Shiva.
-
Likes (3)
Shiva S Chris Olson Jörg Ramb -
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Contract
US
Anyone has any update on this.
-
Chris Olson Louis MASSARD KABINDA Hemalatha A
Pegasystems Inc.
IN
@ShivakumarS The guardrail warning appears to have been introduced to indicate that because you could potentially have an empty value reference because of which the filter could be removed/ignored, you could potentially have more results than you expected when compared to a 'null' value filter in the DB query. Though the functionality was pre-existing the guard rail warnings were added to indicate end-users that there could be a potential problem.
Contract
US
@kshevThank you for the response Vinay.
I understand that there could be potential work behind the scene to remove the filter when the RHS value is empty. which Pega has to do in back end and is being the same from the introduction of the RD rules. But this warning I am seeing it first time in Pega 8. and the severe warning is forcing us to maintain different versions of the same rule which defeats the purpose of reuse.
Here we are either has to compromise on guardrail or reuse. both are not encouraged.
I am trying to understand if there is any additional changes done in Pega around this functionality and to know the best practice to follow to avoid the warning.
Thank you.
-
Jörg Ramb
Contract
US
Note from one of the Pega academy module:
Guardrail warnings alert you to reports that could have performance issues. Instruct your teams to address warnings before moving your application from development to target environments.
Contract
US
Any update or recommendations from Pega for this?
Merkle UK
GB
Facing same issue, we are using Pega 8.6.
Virtusa PVT Ltd
LK
Hi,
Move your Query tab. In the Edit filters section, next to the specific filter condition, click the Options icon(right corner). In the Edit filter options modal dialog box, Tick the "Use null if empty " checkbox. and Submit.
-
Rosalia Spatoliatore
Tetco
SA
Same issue in 8.7.1, any suggestions / solution provided by Pega?
Capgemini
IN
i just got below info from one support article.Kindly check this once if it works for you
when Report Definition rule uses parameters as a value for filter criteria, a moderate performance warning was generated: ''Some of your filters are using a parameter with the "Use null if empty" option NOT selected. Please ensure that you do pass the parameter. Otherwise, the filter will be dropped entirely and execution of the report will result in very poor performance. If you do not want this behavior, select the "Use null if empty" option.'' When the "Use null if empty" checkbox was selected as suggested, the "Select values" button gave an empty list of possible values. This was traced to refactoring work done on Select Values which changed it to be backed by a Report Definition and Grid instead of a List View: the option was intended to be only temporarily disabled, but was missed. To correct this, the activity pzGetSelectValues has been updated to honor the checkbox and appropriately disable the "Use null if empty" option on the selected filter on the temporary copy of the report definition before it is executed.
Tetco
SA
@Bharath.SuntigikarpzGetSelectValues is final rule. They just gave the explanation but not clear on how to avoid the warning.
-
Bharath Suntigikar
Contract
US
I don't think this explanation is related the problem I have described in first place.
The explanation is about the dependency between select values and use null if empty check box.
But the question is related to how to use the parameters better in report definitions respective to reusability without any warnings.
Pegasystems Inc.
GB
There was a similar discussion here: Enhancement Need on Report Definition (RD) Rule
I was only able to find this article Using reporting efficiently about reusability in reporting.
Does the above wiki article help you in any way?
Contract
US
Thank you for your response. But none of these two have any details in relation to the question raised here.
Thank you.
Updated: 14 Oct 2022 6:48 EDT
Pegasystems Inc.
GB
@ShivakumarSthe warnings exist for a reason - to avoid performance problems. As you found on the Academy pages, "Guardrail warnings alert you to reports that could have performance issues. Instruct your teams to address warnings before moving your application from development to target environments."
I believe the behaviour was documented in the Resolved Issues: (see https://community.pega.com/node/2338711)
There is no document with all-encompassing suggestions on how to configure your application report filter usage.
Suggestions such as this one, this one, and this one on the forum are still the best way forward.
If you are calling the report definition from an activity, I believe you can set property pyUseNullIfEmpty to false on the step page for the report.
@ShivakumarSthe warnings exist for a reason - to avoid performance problems. As you found on the Academy pages, "Guardrail warnings alert you to reports that could have performance issues. Instruct your teams to address warnings before moving your application from development to target environments."
I believe the behaviour was documented in the Resolved Issues: (see https://community.pega.com/node/2338711)
There is no document with all-encompassing suggestions on how to configure your application report filter usage.
Suggestions such as this one, this one, and this one on the forum are still the best way forward.
If you are calling the report definition from an activity, I believe you can set property pyUseNullIfEmpty to false on the step page for the report.
Our documentation also goes into details of Duplicating Existing Reports
I will check to see if any of our UI SME's can comment further on general recommendations.
Contract
US
@MarijeSchillern Thank you for the response. But none of these links discuss about the reuse issue I described in this post.
-
Jörg Ramb
Pegasystems Inc.
GB
@ShivakumarS if you believe the product is not working as documented, please log a support incident and quote the references you have already checked.
Please let us know the incident ID here so that we can help track progress.
Updated: 8 Feb 2023 4:39 EST
Instellars Global Consulting Private Ltd
IN
@MarijeSchillern @ShivakumarS facing same issue in pega 8.3 version
Some of your filters are using a Page Reference with the "Use null if empty" option NOT selected. Please ensure that you do pass the Page Reference. Otherwise, the filter will be dropped entirely and execution of the report will result in very poor performance. If you do not want this behavior, select the "Use null if empty" option.
please let me know is there any updates/solutions to overcome this guardrail warnings instead of creating mutiple RDS.
Pegasystems Inc.
GB
if you believe the product is not working as documented, please log a support incident and quote the references you have already checked.
Please let us know the incident ID here so that we can help track progress.