Qlik Community

Qlik Sense Documents & Videos

Documents & videos about Qlik Sense.

Qlik Analytics Tour 2020 Online. Begins August 10th. Register Today

Governed Metrics Service

Governed Metrics Service

Qlik Sense enables self-service visualization with a balance of control and agility that gives IT confidence that the visualizations that users are empowered to create are correct.  One way this is enabled is through the use of masteritems.pngMaster Items.  A Master Item is a dimension or measure that is defined by a central IT or BI team or line of business analyst and deployed to users in conjunction with a Qlik Sense application.

This capability enables users to create visualizations with trusted dimensions and measures without having to author or understand the underlying business logic.  This is an important requirement of modern self-service analytics platforms.

The Qlik Governed Metrics Service (GMS) Power Tool builds upon this capability by allowing metrics that are defined externally to Qlik Sense to be loaded and applied to one or more applications. The metrics that are loaded to each application are configurable and managed through the Qlik Management Console via custom properties.

  • image.pngMetrics defined in an external database or XLS.

  • Metrics extracted into a Metrics QVD.

  • GMS Power Tool reads the Metrics QVD and applies metrics to one or more applications.

GMS Power Tool is a node.js based module that plugs into the existing Qlik Service Dispatcher framework.

Additional Information

Minimum Requirements:

  • The Governed Metrics Service requires Qlik Sense Server.
  • The Governed Metrics Service has been tested with Qlik Sense 2.2.4.  Testing with Qlik Sense 3.0 is underway.
  • For now, the Governed Metrics Service requires a licensed Qlik Sense server site running version 2.2.4.
  • Please do not install for use with Qlik Sense desktop.  The Governed Metrics Service will not work.

Before installing the Governed Metrics Service, we highly recommend going through the Qlik Sense server QMC configuration instructions in the documentation.  Application, custom property, and task names will be requested during the install and it's easier on your memory if you have created them in advance. 

Direct link to configuration is found here:


GitHub‌ Page


After a few days of working with this solution, I've run into a problem.  It appears the mechanism that updates the metric library within the .qvf files is a bit inconsistent.  So far, I've been able to repeat the steps enough times that the metrics eventually update.  However, there does not appear to be a consistent set of steps that works every time.  I'm also not sure if there is a processing delay that starts to happen as you scale this up.  For example, I have 1200 kpi formulas now in my governed excel sheet.  In my last refresh, I was able to get 1189 KPIs into my governed app.  This also took a few times trying.  I added 11 more KPIs and repeated the steps.  1. Go to qlik sense server and run the localhost GMS application.  I click test connection, then reload metrics library, then reload metrics in apps.  I get a positive response for each step (i.e. "task completed 1200 milliseconds" and "all apps processed").  I then log on to QMC and reload the governed app.  However, once I open the governed app, I do not see the additional 11 kpis.  I think if I keep repeating the steps, eventually I think it will populate which has been the case when I when from 6 kpis to 400 kpis, to 1189 kpis previously.  Each time I'm not certain exactly what is happening in the update governed apps steps to understand the delay or issue.  Note, in every case, the metrics library app always shows the new kpis added after clicking "reload metrics library" in the GMS on the qlik sense server.   Thanks again for any help. 

There really is no alternative to wide scale deployment of kpis to qlik sense apps.  If I had to manually create these metrics in the qlik sense app it would take a month and if I needed to change one variable and reload it would take another month to update each one. 

Not applicable

Hi Paul, thank you for the feedback.  Right now the GMS can handle 1,000 values and the way master library items are created the owner is not necessarily the application owner.  On the latter item this is an issue for unpublished apps because without ownership change the master items are in the app, but not visible because the app owner is not the object owner.  To resolve this there is the bulk change owner process that runs in the background every 15 seconds.  This process changes the ownership of master library items to the app owner so they can be seen in unpublished apps.

After updating the app master library, there is no need to reload data in the app.

Do me a favor, please open an issue on the Governed Metrics Service GitHub issues page regarding the challenges you are experiencing and we will work to resolve.  It's interesting that it loaded 1189.  I suspect that it may have to do with how the hypercube generates.

Link to GMS Issues page: Issues · eapowertools/GovernedMetricsService · GitHub



I am facing a problem while updating Master Items using GMS. I had created a few Master Items within a Qlik Sense app itself. But when I try to update those Master Items with new expressions from a data source such as excel, the GMS creates new Master Items with the same names. Is it possible to somehow update the Master Items by Title?

     As of now, I have to replace the old Master Items with the new ones in all the charts and then delete the old ones. This way when I update them the next time using GMS, they are updated correctly as GMS is able to identify the Master Items. Is there a way to save the developer the trouble of manually replacing the Master Items the first time?


What is the 'MetricOwner' field specifies? will it helps to restrict the metrics with a user level security?

Contributor III
Contributor III

It's getting quiet about GMS.

Does anyone know if it works with the later releases of Qlik Sense like September 2017 release?


Hi, is there a demo (video or document) that would walk us through the Governed Metrics App? The organisation I'm currently working with is moving from traditional BI where all master objects are centralised and actually worked on once. I need your help to show them what they could expect to happen in Qlik Sense after implementing GMS.

EA Powertoolsjogmsi

Please let me know,

Many thanks,




i've install the GMS on November 2017 patch 1 and works fine.



Hi, ia have problems but i dont know what happen. When i tried to execute the process ia have a message "app is already open". i tried to do that with an unpublished app and one app that is published but the message is the same.



I'm trying using it with latest version February 2018 and I get the below error:

Status output:

{"level":"info","msg":"POST update/all","meta":{"module":"routes"}}

{"level":"info","msg":"Checking for existence of gms tag in the qrs","meta":{"module":"doWork","method":"updateMetrics"}}

{"level":"info","msg":"Found ManagedMasterItems in list of custom properties","meta":{"module":"doWork"}}


{"level":"info","msg":"running getmetricshypercube.getMetricsTable","meta":{"module":"getmetricshypercube"}}

{"level":"info","msg":"getDocId::running getdoc.getDocId","meta":{"module":"getdocid"}}

{"level":"debug","msg":"getDocId::qrsInteract::/app?filter=name eq 'Governed Metrics Application'","meta":{"module":"getdocid"}}

{"level":"debug","msg":"getDocId::qrsInteract::Governed Metrics Application id:d9b51e39-427c-4e8d-94c4-36f89402330d","meta":{"module":"getdocid"}}

{"level":"debug","msg":"getMetricsTable::Metrics Library AppId: d9b51e39-427c-4e8d-94c4-36f89402330d","meta":{"module":"getmetricshypercube"}}

{"level":"info","msg":"getMetricsTable::Opening the doc with data","meta":{"module":"getmetricshypercube"}}

{"level":"debug","msg":"getMetricsTable::Creating session object","meta":{"module":"getmetricshypercube"}}

{"level":"info","msg":"Closing connection to Metrics Hypercube","meta":{"module":"getmetricshypercube"}}


{"level":"debug","msg":"subjectAreas:[\"Sales\",\"Finance\",\"Customer Service\"]","meta":{"module":"doWork"}}

{"level":"debug","msg":"Getting list of apps that have ManagedMasterItems applied","meta":{"module":"doWork","method":"updateAll"}}

{"level":"info","msg":"Updating app:TEST GMS with id:d5ba9c98-cdfc-43ae-9f0b-9afa628f3918currently owned by UMBRA\\qlikadmin","meta":{"module":"doWork","method":"updateAll","app":"TEST GMS"}}

{"level":"info","msg":"Calling updateMetrics on application:TEST GMS with id:d5ba9c98-cdfc-43ae-9f0b-9afa628f3918","meta":{"module":"updateMetrics","method":"updateMetrics","app":"TEST GMS"}}

{"level":"info","msg":"[ 'Sales' ]","meta":{"module":"updateMetrics","method":"updateMetrics","app":"TEST GMS"}}

{"level":"info","msg":"Beginning Object Management","meta":{"module":"objectManagement","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: EA791V4B8OASET exists.  Checking for changes.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: EA791V4B8OASET no changes found.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: EM5OOT8U5NMCBJJT exists.  Checking for changes.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: EM5OOT8U5NMCBJJT no changes found.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: E1WB6S8OEJ1WT exists.  Checking for changes.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: E1WB6S8OEJ1WT no changes found.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EA80E2E8C6QT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EA80E2E8C6QT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E9S4IG77Q80DYPPWT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E9S4IG77Q80DYPPWT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EIAXB98I2517DT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EIAXB98I2517DT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EQB8IVT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: EQB8IVT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E6LO448Q0J0XT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E6LO448Q0J0XT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: RJRD exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: RJRD no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: P29OSdkE exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: P29OSdkE no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E1781VDT exists.  Checking for changes.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Dim: E1781VDT no changes found.","meta":{"module":"createDimension","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: sales_5 exists.  Checking for changes.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"debug","msg":"Measure: sales_5 no changes found.","meta":{"module":"createMeasure","app":"TEST GMS"}}

{"level":"info","msg":"No new dimensions or measures created","meta":{"module":"objectManagement","app":"TEST GMS"}}

{"level":"info","msg":"undefined","meta":{"module":"objectManagement","app":"TEST GMS"}}

{"level":"info","msg":"Object Management Complete","meta":{"module":"objectManagement","app":"TEST GMS"}}

{"level":"info","msg":"object management complete","meta":{"module":"updateMetrics","app":"TEST GMS"}}

{"level":"info","msg":"object management complete::TEST GMS","meta":{"module":"doWork","method":"updateAll","app":"TEST GMS"}}

{"level":"info","msg":"Process took 348 milliseconds","meta":{"module":"doWork","method":"updateAll","app":"TEST GMS"}}

{"level":"info","msg":"All apps updated.","meta":{"module":"doWork","method":"updateAll"}}

{"level":"info","msg":"POST update/all success::All apps processed.","meta":{"module":"routes"}}

{"level":"info","msg":"UPDATE COMPLETE!!!","meta":{"module":"routes"}}

doing "Update Metrics in App".

It seems like the master items were already there but  it's not true.

Is there some problems with this version of Qlik Sense ?




Hi msijog‌,

Are there any plans to update/maintain this tool?

Version history
Revision #:
1 of 1
Last update:
‎2016-06-16 11:16 AM
Updated by: