4 Replies Latest reply: May 2, 2017 5:01 AM by Lech Miszkiewicz RSS

    Tracing QlikView/Qlik Sense objects in NPrinting Reports

    Nikhila Thalla

      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

        • Re: Tracing QlikView/Qlik Sense objects in NPrinting Reports
          Lech Miszkiewicz

          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

          • Re: Tracing QlikView/Qlik Sense objects in NPrinting Reports
            Lech Miszkiewicz

            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