Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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
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:
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
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.
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:
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
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
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
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
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:
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
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