Terug naar lijst

Bij een groeiende Qlik Sense omgeving met meerdere Apps kan het lastig zijn om de expressies van meetwaarden te beheren. Er zijn grofweg twee oplossingen die gebruikt worden om expressies van meetwaarden centraal te onderhouden:
– Master Item Meetwaarden
– Expressies vastgelegd in een script

Beide methoden hebben hun voor- en nadelen:

Master Item Meetwaarden
   gemakkelijk in het gebruik voor gebruikers en ontwikkelaars van dashboards, gemakkelijk zoeken en toevoegen aan visualisaties
   meetwaarde definities gemakkelijk aanpasbaar voor incidentele afwijkingen van de standaard definitie
   lastig te beheren bij gebruik in meerdere Apps
   Master Items kunnen niet gebruikt worden in bijvoorbeeld tekstvelden en grenswaarden in grafieken

Expressies
   gemakkelijk hergebruiken van definities in meerdere Apps
   bruikbaar in tekstvelden en grafiek grenswaarden
   lastig te modificeren door gebruikers
   lastig zoeken naar juiste expressie (niet doorzoekbaar)

Voor het beheren van Master Items is een mooie tool beschikbaar, de Master Item Manager van GINQO (https://github.com/GINQO/Master-Item-Manager). Met behulp van deze tool kun je in een centraal opgeslagen Excel document alle Master Item expressies beheren en via een extensie de Master Items aanmaken of bijwerken. Er is een duidelijke handleiding inbegrepen en een voorbeeld xlsx bestand waar je de expressies in kunt toevoegen.

Het gebruik van de GINQO Master Item Manager lost het eerst genoemde nadeel van de Master Items op, maar nog steeds heb je het nadeel dat je Master Items niet overal kunt gebruiken. En in bijvoorbeeld een Gauge Chart wil je de kleuren reeksen afhankelijk laten zijn van een doelstelling of budgetwaarde of budget waarden opnemen in de voettekst van de visualisatie:

Dit is niet mogelijk met een Master Item.
Nu kun je natuurlijk zowel Master Items als Expressies gebruiken, maar dan loop je het risico dat de definities door de tijd heen gaan afwijken. De oplossing hiervoor is om de expressies te genereren op basis van hetzelfde template xlsx bestand dat gebruikt wordt voor het genereren en bijwerken van de Master Items.

Met een simpele toevoeging aan het load script kun je expressies creëren voor elke meetwaarde uit de MasterItem xls.

Het standaard load script voor de Master Item Manager gegevens is:

MI_Measures:
LOAD
%MI%MeasureName
, %MI%MeasureLabelExpression
, %MI%MeasureExpression
, %MI%MeasureDescription
, %MI%MeasureColor
, %MI%MeasureTags
, %MI%MeasureId
FROM [lib://Bestandslocatie/Master Item Template File.xlsx]
(ooxml, embedded labels, table is Measures)
;

Het onderstaande stukje script voegen we hieronder toe. Dit script leest de zojuist geladen meetwaarden in en maakt een expressie aan voor elke meetwaarde:

Expressions:
LOAD
‘exp’&[%MI%MeasureName]   as Variable
, %MI%MeasureExpression      as Expression
Resident MI_Measures;

Let vExpressionCount = NoOfRows(‘Expressions’);
For vI = 0 to (vExpressionCount – 1)
Let vExpressionNr = Peek(‘Variable’,vI,’Expressions’);
Let [$(vExpressionNr)] = Peek(‘Expression’,vI,’Expressions’);
Next

Nu heeft elke Master Item Meetwaarde een corresponderende expressie met prefix ‘exp’.
Op deze manier kun je zowel Master Items als expressies gebruiken gebaseerd op eenzelfde bronbestand. Verder kun je dit xlsx bestand nog uitbreiden met extra kolommen ten behoeve van documentatie of selectie van expressies.

Wat tips:

  • Een toelichting of business definitie bij KPI’s, die je vervolgens op een tabblad definities kunt tonen aan de (eind)gebruikers van het dashboard.
  • De eigenaar (of aanspreekpunt) van de definitie
  • Kolommen per dashboard met 0/1 die je kunt gebruiken om de juiste expressies voor een dashboard in te laden.