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: 
Pomna
Creator III
Creator III

Nprinting Publish Task

 I would like to schedule a report to be sent on  a daily basis to different users filtered by department. I have created the filters already. Do I need just one publish task or multiple publish tasks according to the different users?

Thanks.

Labels (2)
8 Replies
Tami
Contributor III
Contributor III

If you are sending the same reports to all users,  the create one task and add all the different users. 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

It is a very tricky question and I need to be careful how I answer it. 

I can at least see 3 solutions:

  1. Using groups and user filters: You can add all those users to single NPrinting group (lets name it: Group_1), Assign respective filters and roles to users (creating users and assigning filters and roles can be done via recipient import), Create task, add group as user/Group and run task. User filters will handle what each of those users will receive
  2. Using groups and multiple tasks: You can create group for each department: Group_Dept_1, Group_Dept_2 etc.., Create for each Department 1 task, create and assign department filter to each task and add respective group as a user/group of such task. I suggest using groups instead of individual users as it will be easier to maintain who belongs to which group/department. In this solution you don't need to have user filters!
  3. Using dummy users (dummy user created for each department) and variable email - this option is available from Apirl 2020 https://nprintingadventures.com/2020/06/17/small-big-change-dynamic-email-address/. The idea is that for each department you create a NPrinting user - dummy, for example: department_1@abc.com,department_2@abc.com. You assign to each of those dummy users respective department filter...and... here is a trick - in your Qlik Sense data model you create a expression in variable which will concatenate all email addresses which need to receive report for department. You setup those dummy users as recipients of this report, but also use previously created variable in "Email" section of a Publish task when selecting "TO:" or "CC:" option.

Pros and cons of each solution:

Solution 1:

Pros - easy to build and maintain, transparent and self explanatory

Cons - depending on number of users this task may take a lot more time to run as it needs to generate report for each user separately (despite the fact that some users belong to the same group)

Solution 2:

Pros - easy to build, transparent and self explanatory, depending on number of users this task may take a lot less time to run as it needs to generate only one report for each department

Cons - you have to create multiple tasks.. If there is new department in your data it will need to be added manually as new task

Solution 3:

Pros - Data driven solution does not require much NPrinting maintenance and depending on number of users this task may take a lot less time to run as it needs to generate only one report for each department

Cons - Works only as email distribution (not folder/news stand/hub). Requires additional changes to Qlik application as logic sits there, requires dummy users (not all companies like to take that approach), requires good understanding how whole process will work

 

Summary:

My choice would purely depend on generation time of that report. I would start from Solution 1..., I also used to use solution 2 in the past, but only because solution 3 was introduced lately and was not present earlier....Right now I would only consider 1 and 3.

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.
Pomna
Creator III
Creator III
Author

Thank you for the detailed response. I need to add that these reports are to be sent through email on a daily basis. For now, the users are not to be granted access to he newsStand. Does this have an effect on any of the responses above?

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Well if email is the only distribution then all 3 options are ok and can be considered. An as I said before I would choose between option 1 and 3 purely based on time required to produce all those reports (which only you can test and decide).

regards

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.
Steven_Haught
Creator III
Creator III

@Pomna  is each department getting the same report distributed differently or a individual report for each dept?

Example same report:   Report---- Dept A, Dept B, Dept C. Has all data for all departments

Example different reports: 

Filtered Data Report for ---- Dept A

Filtered Data Report for ---- Dept B

Filtered Data Report for ----  Dept C

@Lech_Miszkiewicz  To the original question, if you are going route two in my example, you would have to set up different task for each department correct? The dummy filter just allows you to filter the task/report and variable email to whom it is going to? 

 

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

@Steven_Haught 

Route 2 - correct, this option sets up task for each department. There is no dummy filter in it (or at least I did not mention it in scenario 2) as it is not required at all. I did mention it in scenario 3 which has variable recipients and dummy recipients with linked department filter.  Since you are referring to scenario 2, you are setting up individual filter for each department (not dummy) and you dont need to use variable recipients. We are assuming that those recipients will always receive report for department this task is sending report to, hence they can simply belong to a group representing this department.

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.
Steven_Haught
Creator III
Creator III

@Lech_Miszkiewicz  Thank you for clarifying! 

@Pomna  I wanted to be sure there was not a new way of doing this. I currently run Sales data 7 times a day and divide it by reporting structure. Filtered at the top level of reporting. Similar to your department set up. Must make sure you have associated fields with a common dimension or set up as Lech stated above. Then I did create 7 different task to run these with triggers throughout the day. We did set up email aliases that send to one email and blast out from there, as there was no email variable when we originally set this up. Great fix now with the email variable. 

One last thing to note is that if you have a large report or a report with any type of leveling or page cycles it can slow things down when running multiple departments. I have found best practice is to run the report triggers from smallest to largest with some slight staggering between trigger times. This keeps the engine from bogging down with all sorts of levels and page cycles happening simultaneously. Hope this helps!  

Pomna
Creator III
Creator III
Author

Its the same report filtered by department. Each department gets only data that concerns their department. For example customer satisfaction rating by department. Each department head gets only ratings for his department on a daily basis.