Skip to main content
Announcements
Defect acknowledgement with Nprinting Engine May 2022 SR2, please READ HERE
cancel
Showing results for 
Search instead for 
Did you mean: 
curiousfellow
Specialist
Specialist

Suppress empty sheet -page level

I have a field that contains 4 different values. In Nprinting I created a filter to select three of these values and a filter that selects one of these values

I use this field in a page level. So  I expect 3 sheets to show up, but I see 4, where the fourth has all the column-labels but doesn't have data. Sheetnames are equal to the four values.

Besides that I created an extra sheet containing the data of the single filtered value.

How to I achieve that the empty sheet does not show up. It does not help to suppress null values in the Qlik-app ?

 

Labels (2)
1 Solution

Accepted Solutions
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi. commenting on your comments in blue

 

When the page is the object I can understand why I get even the empty pages. (Yes - Page, Level, Image, Table, Formulas etc are objects - all of them are individual). When the table is the object I expect the data to be filtered before the pages are made. (and it is therefore your table on sheet D is empty, but your filter does not filter <PAGE> object hence it is still shown. The filter in the template is linked to the table, and not to the page I suppose. (correct)


Besides that , it still does not answer my main question.  (i thought I have provided you with the steps already in my previous post. Apply ABC filter on Report level and apply D object filter with override ticked. On top of that there are other methods with data modelling and  set analysis on object, depending on report requirements)

Is it possible to suppress a page (or at least don't show anything, even no columnheaders) when there are no data that meets the criteria.
However I think I know the answer now : No it can not. (I disagree - it just requires planning and applying filters on report or task or user level and not object level. Smart filtering can be done in this case with use of Advanced Search filter and relation to measure which will have to  return at least one row with values in your table)

more about search filters here (the same principal as in part of "IV – Measures – “Enable Cycle” does not produce empty reports anymore!"

https://nprintingadventures.com/2019/06/26/nprinting-filters-part-3-advanced-search/

 

thanks

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.

View solution in original post

7 Replies
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi, 

It is always good to ask a question and describe and present steps you are doing especially wit tool like NPrinting which relies on Qlik app and multiple settings in multiple places. Maybe try to rework your question to allow us understand what you are doing: sample of the question i asked few days ago - See this post: https://community.qlik.com/t5/Qlik-NPrinting-Discussions/Chart-Legend-containing-Date-has-different-...

Down to what we can gather so far based on your description:

It is not fully clear what you are doing with your filters - where do you apply them? Is on task, report, object or recipient? Are 3 of those values and 1 of these values intersected or do they exclude each other? You just say "in Nprinting I created a filter to select three of these values and a filter that selects one of these values")

 

- How to I achieve that the empty sheet does not show up. It does not help to suppress null values in the Qlik-app

Answer - since you are using field in Page tag you cannot really suppress anything... it is just paging over all available values. More about solution here: https://community.qlik.com/t5/Qlik-NPrinting-Discussions/Excel-Template-Page-Feature-Exclude-0-value...

 in overall it would be easier to help you if we could work on a sample.

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.
curiousfellow
Specialist
Specialist
Author

Well I try to be more specific.

In qlik I have a table with three fields. month, store and value,

In Nprinting I created these filters

This one filters three stores (A,B,C)

curiousfellow_0-1592478515996.png

This one filters one store (D)

curiousfellow_8-1592479432234.png

 

In my nprinting template  I add the same table two times where one has filter "three value filter" 

curiousfellow_3-1592478811627.png

and the second one has the one value filter

curiousfellow_4-1592478924488.png

 

Then I add the store_Page to the first sheet and drag the fields of CH01-value to this sheet.

curiousfellow_5-1592479072343.png

 

To sheet "one value" I add the fields of Table CH01_1-value. In the preview I get these sheets 

curiousfellow_6-1592479201241.png

 

With this in Sheet D 

curiousfellow_7-1592479274786.png

 

and this in sheet "one value"

curiousfellow_9-1592479575667.png

 

It may be obvious that I dont want sheet D in my report.

In this example layout of all sheets is the same, but in the real world I want to give a different layout to sheet  "one value" 

 

 

 

 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi @curiousfellow 

Thanks for the explanation - and it helps a lot - I can see your issue straight away.

You are applying your ABC filter to a table which populates values - that filters works

You are applying your D filter to a table which populates data in "one value" sheet - that also works

Now none of this filters is actually filtering report so your <store_Page> tag will loop through all available values in store field. Filters in an objects CH01 and CH01_1 only apply to those objects - they don't filter anything else on the sheet.

This is all working as designed:  https://help.qlik.com/en-US/nprinting/April2019/Content/NPrinting/ReportsDevelopment/Static-dynamic-...

I also suggest to study about filters, the order they are applied and objects they affect on https://help.qlik.com.

 

Your report is little bit tricky. The reason for it is that you want to have dynamic section created by use of PAGE tag and you want to filter those sections to only particular values. There are only 2-3 ways of achieving it (all are using different methodologies and all have pros and cons depending if you have any other objects on those pages)

1. Use your ABC filter and apply it on Report level in NPrinting Admin console. 1.png

This however has following consequences

  • All objects withing this report will be filtered to ABC.
  • As a consequence of the above for your "one value" sheet you need to change your D filter which will overwrite it and apply it on all objects which are placed on that sheet. In your case on chart (just like you have now). The only difference is this checkbox you need to "tick" in filter setting so it will ignore precedence when applying it:
    • 1.png

What are other consequences of this solution?

  • by default your report is filtered to ABC values. Any additional object by default will be filtered only to ABC and that filter can only be override using another filter with "override values" ticked
  • that means that you can only place tables and images on this sheet, as PAGE, LEVEL, VARIABLE or Formula tags don't have a property of applying a filter on them - hence cannot be used in this scenario

Other methods require QlikView model and object change and will depend on many  factors like:

  • if you are planning to use other Page, Level, Variables or Formulas tags in your report
  • what will be shown on "one value" sheet? - whether it can be hardcoded using set analysis or maybe set analysis with NPrinting Variable filter?
  • that may require changes to datamodel in QlikView and maybe additional QlikView objects to support it. Knowing all requirements is important before you can make decision what solution you can use

hope this helps

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.
curiousfellow
Specialist
Specialist
Author

Thank you for your extensive explanation. However I still don't understand why it was designed this way.

The helppage you are referring to says :
Applying a filter to an object

Object filters are useful when you want to filter a specific table or image.

When the page is the object I can understand why I get even the empty pages. When the table is the object I expect the data to be filtered before the pages are made. The filter in the template is linked to the table, and not to the page I suppose.


Besides that , it still does not answer my main question. 🙂 Is it possible to suppress a page (or at least don't show anything, even no columnheaders) when there are no data that meets the criteria.
However I think I know the answer now : No it can not.

 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi. commenting on your comments in blue

 

When the page is the object I can understand why I get even the empty pages. (Yes - Page, Level, Image, Table, Formulas etc are objects - all of them are individual). When the table is the object I expect the data to be filtered before the pages are made. (and it is therefore your table on sheet D is empty, but your filter does not filter <PAGE> object hence it is still shown. The filter in the template is linked to the table, and not to the page I suppose. (correct)


Besides that , it still does not answer my main question.  (i thought I have provided you with the steps already in my previous post. Apply ABC filter on Report level and apply D object filter with override ticked. On top of that there are other methods with data modelling and  set analysis on object, depending on report requirements)

Is it possible to suppress a page (or at least don't show anything, even no columnheaders) when there are no data that meets the criteria.
However I think I know the answer now : No it can not. (I disagree - it just requires planning and applying filters on report or task or user level and not object level. Smart filtering can be done in this case with use of Advanced Search filter and relation to measure which will have to  return at least one row with values in your table)

more about search filters here (the same principal as in part of "IV – Measures – “Enable Cycle” does not produce empty reports anymore!"

https://nprintingadventures.com/2019/06/26/nprinting-filters-part-3-advanced-search/

 

thanks

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.
curiousfellow
Specialist
Specialist
Author

Thank you !!!

 

<quote> "Besides that , it still does not answer my main question.  (i thought I have provided you with the steps already in my previous post. Apply ABC filter on Report level and apply D object filter with override ticked. "  </quote>

I must have misunderstood this at first (or did not read well) . This works for me.

 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Cool - happy to be a help 🙂

cheers and "happy friday"

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.