NPrinting Recipient based Filter Vs Cycling for report distribution via email
I am fairly new to the Nprinting so I apologize in advance if this is a repeat post. I am using Qlik Sense Nov 18 and NPrinting Nov 18 versions. I have read many posts on community and I think the ones that take me closer to my solution are following -
I am trying to e-mail an individualized Excel Report of User Performance with Performance of their corresponding Location on the second tab of the excel report to each user. This is for the user to compare themselves against the performance of their location (So, two tabbed excel report Tab1 - User's Performance Tab2- User's Location Performance). For example sales report of a Salesman A on Tab 1 and Sales report of Location North on Tab 2
So far the posts I have read suggest using Recipient based Filter to send Individualized report, this will solve my problem of sending personal user reports. The problem I have understanding is how to add location level information and create a second tab in the same excel report?
Also, when I gave this problem first shot I created a custom Excel Template with two tabs by default one for User another for Location (I wasn't using any functionality like PAGE to create a second tab). I created this excel report with CYCLE functionality (I cycled this report on User and Location Fields) which gave me the desired output. However, I had no clue on how to distribute these cycled reports to each user.
Also, can someone please help me understand exactly how to define user level filter in an Excel file before user Imports? I have around 400 users and it would save me a lot of time if I could do it in Excel Import task rather than doing it in Nprinting for each user. I went through this post, but the UI is very different and I got more confused.
You do not need a cycle for this, and it's a fairly common source of confusion when trying to do a scenario like yours. Here is my recommendation:
Create an Excel template with 2 tabs, one for user performance and one for location performance. On the first tab, use the Page feature (the link works for Excel templates too), and select the dimension name that corresponds to salesperson. Do the same on the second tab and this time use the dimension that corresponds to location.
If you preview the report, you will see that the resulting Excel file will start with all the tabs for the different salespeople, followed by the tabs for the different locations.
Now you want to filter these such that each user would only get his/her data. You can map filters to users via the Excel file import, but please use this link as the syntax and format has changed from the link you are working off of.
Once you've done this, you can create a Publish Task in the NPrinting web console. This will map the reports to users, destinations, and schedules. If you've already assigned filters to users, when you add them to the publish task, each of their reports will be filtered. If you want to apply a filter(s) across the task (for example, last 2 months), you can add them as filters to the publish task, but the user filters will already be applied. Here is a good explanation of how filtering works in NPrinting 19.
A cycle is intended for when you want a recipient to receive multiple unique report files for dimension values. For example, I want a manager to receive an email with 3 PDFs of the same report: one for the East region, one for the West region and one for the South region. It's really not needed for this scenario.
Please let me know if this helps or if any follow-up is needed.
Thanks for the reply, I tested out the page functionality and it is working after I made few changes to the data in Qlik Sense App. I have 3 follow up questions on this can you please answer them for me? Again, I apologize for my limited knowledge of NPrinting.
I have a table in the following format in Qlik Sense when I tried to use the same table to get Metrics by Location and Salesman I was getting the undesired result and I had to split/duplicate this table by each dimension to get the desired result.
For example, when I was using this table as a Table Object in Nprinting to get the #Customers for North region I was getting 5 rows instead of one because there are 5 salesmen in North region. However, I was getting the correct results on the Salesman Pages. But when I split the table for each dimension to create Location based table and a Salesman based table and used the location table for location Page and Salesman table for salesman Page I get the desired result. So my question is,
1. Is there a way to get the same result without splitting the table in source for each dimension?
2. The filter I have to use for individualized report email distribution must be at a User Level correct? Like shown in the images below? Or do I need to use the filter at another level?
On the Filter Tab of Excel Import -
On the Users tab of Excel Import -
If this is correct. Wouldn't it affect all other reports that are being sent to John Brown? For example, if there is another report which John Brown must receive, but it should contain data for all people in marketing dept instead of only John Brown's data. Wouldn't a user level filter affect all other future reports being sent to John Brown?
3. Is there a way to verify/test out the reports before they are being emailed out? I want to ensure each user receives only their own and their Location's data.
1. Unfortunately, I don't think there is a way to get the desired results for the tables without splitting them. NPrinting doesn't re-aggregate the data , it only acts as a conduit to how the data is presented in the Qlik app. I will leave it to others to suggest a workaround, if one exists.
2. Individualized report distribution typically exists at the user level, but can also be applied at the report or task level, usually more common for filters that define the reporting period and can be applied universally for all recipients that receive the report.
In the scenario you described, it would be possible for John Brown to see a report (or even a section within an existing report) that shows data for the entire marketing department. You can create a filter that overrides the values of a field, clearing any selections that are made on that field. Please refer to the filtering page from my previous post. In your example, you would override the values for Salesman.
Once you've created that filter, you can apply it to the report, which means that the report will ignore the selections for the Salesman field, or you can even apply it to an object(s) inside the report template. For example, if you wanted John Brown to see a worksheet with his data and another worksheet showing the collective marketing department data, you could apply this filter to any objects on the second worksheet.
3. The easiest way to do this is to go to the Users/groups tab in the publish task, select all users and then uncheck the Enabled checkbox. From there just enable the recipient(s) you want to use for test purposes.