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

Tracing QlikView/Qlik Sense objects in NPrinting Reports

Hi,

I have a question from my customer regarding NPrinting. Is there a way to trace or discover what all NPrinting reports are using a single Qlik Sense/QlikView objects in NPrinting 17.0?


The purpose is to provide traceability for changes.

If it doesn’t exist as a function of the NPrinting, is there a NPrinting file that we can suck into a Qlik Sense application to provide the insight that the customer is looking for?

Thanks,

Nikhila

7 Replies
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi Nikhila,

I ahve not heard of anything like this in NPrinting.

On the other hand as a practice i always build dedicated application QV or QS for NPrinting holding only reguired by NPrinting fields and objects. This helps me to achieve:

  • much faster metadata generation - less metadata
  • much faster NPrinting development
  • much faster Report generation (clunky Qlik apps work slower than smaller apps dedicated for NPrinting only)

Given that i have dedicated apps - i keep track of all changes in them.

i know it is not an answer to your question, but a suggestion of different approach which will help you maintain changes.

I am also working on NPrinting / QlikSense/View - repository app to read NPrinting repository and maybe get some insights from there in more easy way.

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.
Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi,

I spent some time looking at your querry i came to conclusion that it is actually fully traceable.

Look at this post on how to read NPrinting Repository: NPrinting Repository Database - Name

Once you have NPrinting database connection established you can build simple querries. Informations about reports are held in public.report table. There is a field called: template_tree which contains a string with all entities used in template. There is also another table called qlik_view_entity which contains all entities from generated connections.

NP Entities.png

Now all you need to do is spend some time and figure it out how to visualise it, but as i said - information is there for you

see examples below (screen from template and template_tree values:

QS Excel Template.png

above is what you do in NPrinting Template and below is a code it generates.

code in tree_values field from report table:

(be aware that this code is basicly sinle line text in template_tree column and i spent some time looking at it and formatting it so it can be "readable" by human😞

{"$id":"1",

  "Root":

  {"$id":"2","$type":"Qlik.Reporting.Reports.Tree.Template.OfficeReportNode, Qlik.Reporting.Reports.Tree","ReportFormat":"xlsx","TemplateFileId":"00000000-0000-0000-0000-000000000000","TemplateNodeSettings":

  [

  {

  "$id":"3",

  "$type":"Qlik.Reporting.Reports.Tree.Template.Settings.ColumnNodeSettings, Qlik.Reporting.Reports.Tree",

  "KeepSourceFormats":true,

  "Format":null,

  "TemplateParentId":"fvxpCwD",

  "ObjectId":"O\\fvxpCwD\\($Field$)\\Is Onsite",

  "ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546",

  "TemplateId":"Is Onsite",

  "PropertyValues":{"$id":"4"},

  "NodeFilterIds":[]

  },

  {"$id":"5","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.ColumnNodeSettings, Qlik.Reporting.Reports.Tree","KeepSourceFormats":true,"Format":null,"TemplateParentId":"fvxpCwD","ObjectId":"O\\fvxpCwD\\($Measure$)\\sum(Time)/2","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"sum(Time)/2","PropertyValues":{"$id":"6"},"NodeFilterIds":[]

  },

  {"$id":"7","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.TableNodeSettings, Qlik.Reporting.Reports.Tree","KeepSourceFormats":true,"ExportedFormatSequence":[0,1],"ExportFallbackMechanism":1,"ObjectId":"O\\fvxpCwD","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"fvxpCwD","PropertyValues":{"$id":"8"},"NodeFilterIds":[]},

  {"$id":"9","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.ImageNodeSettings, Qlik.Reporting.Reports.Tree","ObjectId":"O\\wjtSTR","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"wjtSTR","PropertyValues":{"$id":"10"},"NodeFilterIds":[]},

  {"$id":"11","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.DatasetFieldNodeSettings, Qlik.Reporting.Reports.Tree","KeepSourceFormats":true,"Format":null,"TemplateParentId":"Year_Page","ObjectId":"F\\Year","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"Year","PropertyValues":{"$id":"12"},"NodeFilterIds":[]},

  {"$id":"13","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.CustomDatasetNodeSettings, Qlik.Reporting.Reports.Tree","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"Year_Page","PropertyValues":{"$id":"14"},"NodeFilterIds":[]},

  {"$id":"15","$type":"Qlik.Reporting.Reports.Tree.Template.Settings.SingleValueNodeSettings, Qlik.Reporting.Reports.Tree","ObjectId":"V\\vTable","ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"vTable","PropertyValues":{"$id":"16"},"NodeFilterIds":[]}

  ]

  ,

  "NodeFilter":null,

  "NodeFilterIds":[],

  "Parent":null,

  "Children":

  [{

  "$id":"17",

  "$type":"Qlik.Reporting.Reports.Tree.Template.CustomDatasetNode, Qlik.Reporting.Reports.Tree","NodeFilterIds":[],

  "ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546",

  "TemplateId":"Year_Page",

  "Settings":{"$ref":"13"},

  "Parent":{"$ref":"2"},

  "NodeFilter":null,

  "Children":

  [

  {"$id":"18",

  "$type":"Qlik.Reporting.Reports.Tree.Template.DatasetFieldNode, Qlik.Reporting.Reports.Tree","TemplateParentId":"Year_Page","ObjectId":"F\\Year","NodeFilterIds":[],"ConnectionId":"a43deab4-a363-4009-89c4-0b4355ecc546","TemplateId":"Year","Settings":{"$ref":"11"},"Parent":{"$ref":"17"},"HasChildren":false,"NodeFilter":null,"Children":[]}],"HasChildren":true}]

  ,"HasChildren":true

  }

  }

hope this helps you

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.
gs_victa_nl
Partner - Creator
Partner - Creator

Hi Lech,

Did you by any change, build a Qlik Sense/View app for this information? And ifso, could you share it?

Thanks in advance,

Gerald

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi Gerald.

It is WorkInProgress. I do not have anything ready yet (will probably spend more time over weekends). As this data is not simple as usual star schema datamodel with Fact & Dimensions it requires bit more pre-thinking before i start stiching up data together.

I will post on community qvw/qvf app once i have something ready.

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.
Anonymous
Not applicable
Author

Hi Lech,

Have you been able to build a QS app to visulize your NP setup? I have been playing around to try to get an overview app of Tasks, Filters, User etc and have come quite far but I am confused about the publish task/recipients/destination relations.

/Magnus

Lech_Miszkiewicz
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi Magnus,

I dropped this idea as i got cought up with intense Qlik Sense project and have no spare time. I remember however that this area you are exploring is quite tricky as you have multiple levels on which you have to create joins or build relationships.

My initial approach was that i want to look at reports vs users. As user can be part of group first:

  • join users to groups and then to tasks
  • then concatenate to above joined users directly to tasks
  • join destinations

It was creating 1 to many relationships which i did not quite get right though.

On the other note i am not sure how much pgDB has change since i played with it.

I also struggled with JSON encoding in it and could not get it working properly - this was mainly to trace back which Qlik objects are used in reports.

I am sorry i could not help more.

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.
Anonymous
Not applicable
Author

Thanks for your reply.

I think I solved one bit in the puzzle yesterday, I was having a hard time to get the destinations/recipients linked to the task but I got it now.

Though, as I said the link to destinations is a bit unclear...but it may not be that interesting for me, as long as I can see if the different recipients in the task has email, newstand or hud and I got that now.

This will be a massive thing for us as we will be able to see and search all tasks for all our sendouts.

/Magnus