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: 
Anonymous
Not applicable

Can Qlik NPrinting be scalable across Qlik Sense Apps?

I've been building NPrinting reports for Qlik Sense Applications and would like to export them and re-use not only the template, but the formulas, levels, images, tables...etc without re-importing or-recreating them.

In the qlik sense environment, I have 20 Apps in 20 Streams that contain the same data model, object IDs. It's a master application duplicated across streams. This is because the dataset is massive and a unified application with section access would likely not perform well in development.

I'd like to similarly build one NPrinting report and export-import across 20 apps and connections, but this doesnt appear possible without much heavy lifting.

Does anyone have any experience in making NPrinting Reports actually scalable?

1 Solution

Accepted Solutions
darrell_tobin
Creator
Creator

Hi Andrew.

Appologies was doing reply on phone before.

I will tell you how I made 37 reports form several apps.

I had to create 37 survey reports in two styles:

- By Month last 6 months by hospital (6 month)

- Last month by ward (Ward)

QLIKSENSE APPS SETUP

1. I created one master Qliksense template to pull the data and set out the tables and charts.  If a field name or a measure is duplicated in the report then I give it an ID code behind a double slash such as '//Table1Q01'

    i- This makes all fields in the app unique (Important when you get to nprinting)!

2. I then duplicated this app and made a ward and 6 month template of the reports.

3. Then I use these to make ALL 37 reports by duplicating and changing the data range to pull in in the data loader screen

    i - now all of the apps have the same object ids and the same field names (this is important for when we use nprinting)!

NPRINTING SETUP FIRST REPORT

1. I then create the Nprinting app, connection and report template (use NPrinting excel) for the 1st report

2. In the template editor I add the objects, then pull the objects across adding the formatted etc so as to make the report usable.

3. Charts are added as images (is easier) and I pull the field out separately by column.

See example below:

<QuestionName01>
<7059d545-608b-449a-b9fc-3174800257c3>
Ward NameTotal Responses12
YesNo
Count%Count%
<=WardName //STW05><Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'1'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'1'}_  }[Response Count])/Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'2'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'2'}_  }[Response Count])/Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])>

4. Once this template is working, I then take a copy of the tabs and paste into normal excel app and save this in a normal excel file called 'Template1'.

NPRINTING SETUP FOR ALL OTHER REPORTS

So because all of the measures and header names are unique and all of the object ids in the sense apps are the same, we can now reuse the excel template you created for the first report.

1. I create the connection and blank report template for the next report.  Then instead of having to drag across the fields I simply:

    1a. Copy and paste the tabs from my Template1 into the Nprinting report.

    1b. Add the objects in the left object window required.

Rinse and repeat this for the last 18 report.

Hope this is helpful

Please mark if this was useful.

Thanks

Darrell

View solution in original post

4 Replies
darrell_tobin
Creator
Creator

Hi Andrew,

Yes it can but takes some serious workarounds.

I made 37 reports using 37 apps duplicated from two template sense apps.

Key lessons learned:

Objects in sense apps keep their object IDs so can be reused in nprinting

Also add unique tags to all your measures in your template sense app eg //table01 this stops nprinting trying to rename measures when you add objects

Now create a template report in nprinting excel

You can now use this reports measures as a template for all reports as long as is same layout and fields etc

Can send more detail tomorrow when online if you need more help.

Anonymous
Not applicable
Author

Thanks very much, Daniel

Some more detail would be great.

It seems like we'd still have to manually pull all the objects in the report in tables, images, levels...etc for when we scale. That's all well and good as the object ID's are preserved.

What's not ideal is that the formulas or variables made in the nprinting App can't duplicate across connections, It would be great if there was a workaround or if this were possible.

darrell_tobin
Creator
Creator

Hi Andrew.

Appologies was doing reply on phone before.

I will tell you how I made 37 reports form several apps.

I had to create 37 survey reports in two styles:

- By Month last 6 months by hospital (6 month)

- Last month by ward (Ward)

QLIKSENSE APPS SETUP

1. I created one master Qliksense template to pull the data and set out the tables and charts.  If a field name or a measure is duplicated in the report then I give it an ID code behind a double slash such as '//Table1Q01'

    i- This makes all fields in the app unique (Important when you get to nprinting)!

2. I then duplicated this app and made a ward and 6 month template of the reports.

3. Then I use these to make ALL 37 reports by duplicating and changing the data range to pull in in the data loader screen

    i - now all of the apps have the same object ids and the same field names (this is important for when we use nprinting)!

NPRINTING SETUP FIRST REPORT

1. I then create the Nprinting app, connection and report template (use NPrinting excel) for the 1st report

2. In the template editor I add the objects, then pull the objects across adding the formatted etc so as to make the report usable.

3. Charts are added as images (is easier) and I pull the field out separately by column.

See example below:

<QuestionName01>
<7059d545-608b-449a-b9fc-3174800257c3>
Ward NameTotal Responses12
YesNo
Count%Count%
<=WardName //STW05><Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'1'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'1'}_  }[Response Count])/Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'2'}_  }[Response Count])><Sum({    $_report_chart_sequence_number = {'5'}_    *    _[Option Number] = {'2'}_  }[Response Count])/Sum({    $_report_chart_sequence_number = {'5'}_  }[Response Count])>

4. Once this template is working, I then take a copy of the tabs and paste into normal excel app and save this in a normal excel file called 'Template1'.

NPRINTING SETUP FOR ALL OTHER REPORTS

So because all of the measures and header names are unique and all of the object ids in the sense apps are the same, we can now reuse the excel template you created for the first report.

1. I create the connection and blank report template for the next report.  Then instead of having to drag across the fields I simply:

    1a. Copy and paste the tabs from my Template1 into the Nprinting report.

    1b. Add the objects in the left object window required.

Rinse and repeat this for the last 18 report.

Hope this is helpful

Please mark if this was useful.

Thanks

Darrell

Anonymous
Not applicable
Author

A world of thanks for this detailed reply.

Andrew