Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Fareeha123
Contributor III
Contributor III

Succeed a report without output

Hi, 

We have on demand nprinting report that we are running from our inhouse tool. Report is setup with override filter values which business can change example. Client name, date range. 

We have a requirement, where we will create a flag filter as below

Data Complete Flag: (if Umbrella name is mapped in data for Client, it should be considered as 'Complete' and report will run and generate output). If Umbrella is not mapped to Client that is null or empty field and Business runs the report with Default value as Complete. They report should succeed without output. This will show business that there is nothing wrong with report they have to check their data mapping. 

Currently when we are running the report with Complete filter value. Nprinting is failing it with a generic error that "Qlik failed to run the report". when we run with Incomplete value in the flag it runs with empty report.  

 

can you please guide how to achieve this. 

Umbrellaname_Flag is the filter we will use as Data complete Flag. We are unchecked the Override box to run the report from nprinting designer. 

Fareeha123_0-1765987482856.png

 

Also, we have option in Nprinting report setup: Do not generate report. Report generation will fail until issue is resolved. How does that work ? When we have empty report in above scenario it should not generate. 

 

Nprinting Version: Feb 2025 SR2

 

Labels (2)
5 Replies
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @Fareeha123 

I have read through couple of time this description and I have questions which should be answered before we can move any further?

  1. Is this NPrinting OnDemand report or Normal NPrinting task report you would generate from admin console. There is big difference on how those have to be designed.
    1. If it is OnDemand (using Qlik Sense OnDemand button https://help.qlik.com/en-US/nprinting/February2025/Content/NPrinting/On-Demand/Create-Report-On-Dema... allowing users to press it and generate report for themselves then typical solution is to not to force any filters as filters in this case should be applied by users!) If you keep using filters that way with OnDemand you are loosing context of generated report: users select filters "xyz" but they may get report with "abc". That to me does not make sense and usually is cause for trouble. Instead I would suggest moving those filters to Qlik Sense UI by either incorporating button (press button and default filters get applied) which users would have to press before they could generate report and smart UI message which would explain to users that if they dont see button that means required filters are not applied. With that in mind you would be able to apply further logic to notify users in UI that the mapping is missing and report will not be generated or better that information may be visible by power of Qlik associative engine.
  2. you are asking those questions: "Do not generate report. Report generation will fail until issue is resolved. How does that work ? Those "error handling" options are for scenarios where your object is removed from source app hence NPrinting cannot use it. This setting is not for managing data and is actually for object managing.
  3. You are also mentioning: "...If Umbrella is not mapped to Client that is null or empty field and..."
    1. so, is it null or is it empty string? There is significant difference in how we could utilize this if it was empty string (selectable from UI). Null cannot have selection applied on and empty string can so you could have "advanced search" NPrinting filter applied which would check. 
  4. Your first sentence is bit confusing - Have you custom-built some "tool" which likely uses API to operate NPrinting hence you have kind of detached experience where you want to run On Demand report but you cannot see relevant associated value the way you would if you were using Qlik interface instead?
  5. I don't know your template so I cannot comment on possibility of this or required work effort but, Did you consider moving the filter logic to set analysis expressions? That would prevent report from erroring and you could retain your current setup.
  6. I don't know your data model - but for scenarios where we need to force apply filters and have no valid data we often concatenate dummy records with required keys which allow us to always apply selections but they don't return any factual data making report empty.

Bottom line is - the best approach to have trouble free solution is to work around so you can always apply required selections in Qlik without having to do "override" or any other selection which can lead to unpredictable results. 

cheers

Lech

cheers Lech, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful to the problem.
Fareeha123
Contributor III
Contributor III
Author

Thanks Lech,

1. On demand reports we are not forcing any filters. as you can see in the image above user can change the values and are able to run the report as per requirement. 

2. Do not generate report. Report generation will fail until issue is resolved. Thank you for clearing the concept. 

3. We are creating a flag in load script if Umbrella is null or empty for Process ID then "Incomplete" else "complete". When we are using Complete Status on Nprinting filter the report is failing because for that Process ID Umbrella is not available. When we select Incomplete Report comes back without data. As per user requirement user wants to run the report with Complete status by default and report should succeed without output. Which will Indicate them that there is no issue with report, and they have to check their data in the source. 

4. Have you custom-built some "tool" which likely uses API to operate NPrinting : Yes, we have built custom tool that uses API to Connect to Nprinting on demand reports. User is able to run the reports and change the parameters. 

5. We cannot move filters to Set analysis as they will change according to report's needs. 

 

We need a solution that shows us when Data is not complete in the source and user runs the reports with Complete Status report should succeed without output. Do we have the ability through Nprinting  API or Nprinting Settings where we can succeed the report without report attachment/Output?

 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @Fareeha123 

So this is exactly where it is all confusing. On your screenshot you are showing NPrinting Filters which are used with Task Scheduler reports normally. Those should not be populated when using OnDemand functionality!!! That is where this is already an issue.

For OnDemand reporting there would be no NPrinting filters and users would apply selections directly in Qlik Sense app filter panes/objects and they would see directly in Qlik Sense app that certain selections are/(are not) possible simply by looking at available fields in Qlik Sense. (green/grey/white colours in filter pane). Those selections are then passed through to NPrinting via the OnDemand button. That is the standard functionality of OnDemand.

Now here we are not talking about standard functionality. You are using it in very unusual way and it is hard to advise you because your setup seems to be far from standard approach which would easily work. It actually seems like you are very much overcomplicating it. By putting filters like you are, you don't see relationships in data.  Using those filters needs to be done in such way that there has to be possible combination of all applied filters in the app which unless you check directly in the app you cannot guarantee upfront, or you have to cross-join all fields you use in your app as filters and create required combinations which sometimes can be done if dataset is not too big. That way you would create dummy records but with no factual data associated with it. Then it can be selected/filtered but no results would be returned. I see this option really as a "last straw" as it can get very messy - very quickly.

Now you are saying that you cannot move filters to set analysis. I agree if we were talking about all of those filters, however in this case surely you could move the "Complete" one to set analysis so that data in data model would not be restricted to "impossible selection" and only chart would be restricted which would produce empty set as far as I understand your requirement that is exactly what you need?. All other filters could still be the way they are.

Again to make sure we are on the same page - the way you are currently putting filters (using actual NPrinting filters) is not the way OnDemand reporting is designed to work. Those are meant to be Tasks/Report/Users or Object filters which MUST have possible combination of values in Qlik data model. And again - OnDemand does not require NPrinting filters as users should filter data directly in Qlik Sense app which in turn does exactly the same thing i mentioned above - it makes selections possible!

cheers

cheers Lech, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful to the problem.
Fareeha123
Contributor III
Contributor III
Author

Thank Lech, 

Do we have the ability in Nprinting API to succeed report with file/output generation in the attachment ? 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @Fareeha123 

The use of the term “attachment” suggests to me that you are referring to a report being sent via email. If that is the case, then this would no longer relate to the On-Demand functionality of NPrinting, as On-Demand does not use email as a delivery method. For clarity, please refer to the API documentation linked below.
https://help.qlik.com/en-US/nprinting/February2025/APIs/NP+API/index.html
This should help clarify what functionality is supported via the API.

Further comment:

I apologize, but I am having difficulty understanding the methods you have implemented, which makes it challenging to provide accurate guidance. To move forward, it would be helpful if you could explain the full process you are using—specifically, the API endpoints your tool calls at each stage of report generation. This would allow us to gain a clearer understanding of this rather unconventional approach.

Typically, I would approach a discussion like this by first defining the requirements. From there, I would outline the process needed to meet those requirements. In most cases, there are multiple ways to achieve the same result, and I generally favor solutions that are easier to maintain and troubleshoot. It is also important to explain the rationale behind each approach, particularly with regard to any licensing constraints that may apply.

Based on your description, it appears that you are relying on a custom-built tool, but the question is WHY?. I assume the motivation behind this approach is to provide users with live access to Qlik Sense data (through NPrinting report output) without requiring a Qlik Sense license. At the moment, I cannot identify another clear reason, especially since the solution you describe could be implemented more straightforwardly using Qlik Sense and a standard On-Demand app, so yeah - it would be helpful if you could clarify for us the reasons and use case you are trying to build.

cheers

Lech

cheers Lech, When applicable please mark the correct/appropriate replies as "solution" (you can mark up to 3 "solutions". Please LIKE threads if the provided solution is helpful to the problem.