Get statements (Mosaic/Stories)

Gewijzigd op Wo, 30 Okt om 2:27 PM

Inhoudsopgave


Inleiding

Een get-statement wordt volgens een vaste structuur opgebouwd {get: <what>; <parameters>}. De <what> geeft aan welke informatie moet worden opgehaald uit Swing Studio. Veel <what> statements vereisen extra informatie om de juiste gegevens op te halen, deze worden <parameters> genoemd. De help van Mosaic of Stories biedt een gedetailleerd overzicht welke informatie precies opgehaald kan worden en welke parameters toegepast kunnen worden. Het <what> statement en de parameters worden gescheiden door een puntkomma. Tussen de parameter en de waarde die deze meekrijgt, wordt een dubbele punt gebruikt. Wanneer er meerdere parameters worden opgegeven, worden deze ook gescheiden door een puntkomma.


Voorbeeld: 

Om de zin Het totale aantal inwoners in de gemeente Ede in 2023 was 122.060 dynamisch te genereren worden de volgende get-statements gebruikt: 

Het totale aantal inwoners in de gemeente {get: base-item} in {get: last-period; varcode: inwtot} was {get: data; varcode: inwtot}.


Belangrijke aandachtspunten bij het maken van get-statements zijn: 

  • Er mag geen opmaak zitten in get-statements. Als de get-statements in een andere tekstverwerker zijn gemaakt, kies dan altijd voor rechtermuisknop → ‘plakken zonder opmaak’ in de tekstboxen. 
  • Let erop dat alle puntkomma's en dubbele punten correct worden gebruikt.


Enkele voorbeelden van vaak voorkomende foutmeldingen zijn: 


Foutmelding    
Toelichting
# invalid inline function #
De <what> in het get-statement is niet correct. Controleer de opmaak en het gebruik van de puntkomma en dubbele punt.
# invalid parameter #
De <parameter> in het get-statement is niet correct.
# missing varcode parameter #
De <what> van het get-statement heeft een variabele code nodig in de parameter varcode om het opgevraagde te kunnen tonen.
# unknown Swing variable #
De variabele komt niet voor in de Swing database.
# unknown dimension : #
Het dimensieniveau en de bijbehorende dimensie-items komen niet voor in de Swing database.



Tile statements

Hiermee wordt de informatie van een tegel opgehaald. Bij tegels die bestaan uit een enkele indicator zal dit de informatie over de indicator zijn. Bij multi indicator tiles zal een lijst worden getoond, met de informatie per indicator. 


De standaardstructuur is:


{get: <what>; <parameters>}


Om de beschrijving van de bron(nen) in een tegel op te roepen kan onderstaand toegepast worden:


{get: tile-description; html: li; single-html:}


En om de bron(nen) op te roepen:


{get: tile-source; html: li; single-html: }


In beide voorbeelden zal in geval van meerdere indicatoren de informatie worden gescheiden middels een unordered list.


Data statements

Met data statements kan specieke informatie worden opgeroepen. Ze kunnen worden toegepast in de meeste tekstinvoer velden in een Mosaic of Stories. 


De standaardstructuur is:


{get: <what>; <parameters>}


Voor het oproepen van gebieden die de gebruiker gekozen heeft, is het niet nodig om parameters op te geven. Onderstaand volstaat dus om het gekozen basisgebied te tonen:


{get: base-item}


Om een indicator waarde of informatie over een indicator op te roepen, zal altijd een indicator code moeten worden opgegeven:


{get: data; varcode: kb_bev_lft05 ; dim-item: dnc_gsl_m; geoselect: base}


Hiermee wordt de waarde van de indicator kb_bev_lft05 (dimensie niveau: dnc_gsl en dimensie item: m) van het gekozen gebied opgeroepen.


Min/max statements

Met minimum en maximum statements kan de kleinste of grootste waarde van een gebied of dimensieniveau worden opgeroepen, ook kan het grootste gebied of dimensieniveau worden opgeroepen.


De standaardstructuur is:


{get: <what>; <parameters>}


Voor <what> moet gedefinieerd worden of voor een maximum of minimum waarde gezocht moet worden. Dit kan via:

  • minimum-value: zoekt voor het item met de minimum waarde
  • maximum-value: zoekt voor het item met de maximum waarde 


Met <parameters> kan dit vervolgens verder gespecificeerd worden. Hierbij zijn vooral de offset en de option parameter van belang. Met de offset parameter wordt bepaald of de n-de minimum of maximum waarde moet worden opgeroepen. Zo kan je ook het op 3 na grootste gebied oproepen, in plaats van het grootste gebied. Met de option parameter wordt vervolgens gespecificeerd welke waarde opgeroepen moet worden:

  • region: zoekt voor het gebied met de minimum of maximum waarde.
  • regionvalue: zoekt voor het minimum of maximum binnen het gebiedsniveau.
  • dimitem: zoekt voor het dimensie item met de minimum of maximum waarde .
  • dimvalue: zoekt voor het minimum of maximum binnen een dimensieniveau.


Voorbeelden:


Om de gemeente met de grootste populatie voor 2024 op te roepen, wordt de onderstaande statement gebruikt:


{get: maximum-value; varcode: bevtot; geolevel: gemeente; period: 2024; option:region}


Dit kan ook binnen het gekozen vergelijkingsgebied:


{get: maximum-value; varcode: bevtot; geolevel: gemeente; period: 2024; parentselect: compare; option: region}


Om de hoogste waarde hiervan op te roepen, zal de option parameter moeten worden aangepast: 


{get: maximum-value; varcode: bevtot; geolevel: gemeente; period: 2024; parentselect: compare; option: regionvalue}


De op een na grootste waarde wordt opgeroepen via de offset parameter:


{get: maximum-value; varcode: bevtot; geolevel: gemeente; period: 2024; parentselect: compare; option: regionvalue; offset: 1}


De 5-jaarsleeftijdsklasse oproepen met de meeste inwoners in 2024 binnen het geselecteerde basisgebied kan via:


{get: maximum-value; varcode: bevtot; geoselect: base; period: 2024; option: dimitem; dimlevel: age_5}


Conditionele statements

Conditionele statements zijn get-statements waarbij aan een voorwaarde moet worden voldaan. Wanneer dit het geval is, wordt er een actie uitgevoerd. Als er niet aan de voorwaarde is voldaan, wordt er een andere actie uitgevoerd. De standaardstructuur van een conditioneel get-statement is als volgt: 


{get: ifelse; expr:<expression>;arg1: <argument1>;arg2: <argument2>; argN: <argumentN>; iftrue: true; iffalse: false}


Waarbij <expression> de voorwaarde is waaraan moet worden voldaan, en arg1 etc. de verschillende argumenten zijn binnen de voorwaardeIftrue: is wat wordt uitgevoerd wanneer aan de voorwaarde wordt voldaan, en iffalse wanneer dat niet het geval is. 


Bij conditionele statements kunnen de volgende parameters worden gebruikt:

  • greater
  • greaterequal
  • equal
  • lessequal
  • less
  • and
  • or 


Bij het opbouwen van een get-statement kunnen haakjes worden gebruikt om de logica in te delen. De argumenten in het get-statement kunnen vaste waarden zijn, maar kunnen zelf ook weer get-statements zijn die data ophalen vanuit Swing. Vaste waarden moeten worden opgegeven in de argumenten en kunnen niet worden ingevoerd in de expressie zelf. Bijvoorbeeld, het getal 100 moet worden opgegeven in een argument.  


Voorbeeld:

Om het laatste woord in de zin Ten opzichte van een jaar eerder, is de totale bevolking gestegen dynamisch te genereren, wordt het volgende conditionele get-statement gebruikt: 


{get: ifelse; expr: arg1 greater arg2; arg1: {get: data; varcode: inwtot}; arg2: {get: data; varcode: inwtot; periodoffset:-1}; iftrue: gestegen; iffalse: gedaald}


Wanneer dit statement waar is, wordt "gestegen" getoond, anders wordt "gedaald" getoond.

In dit voorbeeld is er één woord in het iftrue en iffalse statement opgenomen, maar het is ook mogelijk om hier andere get-statements in op te nemen of meerdere woorden te gebruiken.


Bij langere stukken tekst die conditoneel moeten worden weergegeven, kan het handig zijn om delen ervan als tekstvariabelen in Studio op te nemen. Deze tekstvariabelen kunnen vervolgens in een conditioneel get-statement worden opgehaald. Dit draagt bij aan de leesbaarheid van get-statements en is ook praktisch wanneer dezelfde tekstfragmenten meerdere keren in een rapport voorkomen.


Formule statements

Formule statements zijn get-statements waarin rekenkundige bewerkingen kunnen worden gebruikt. De standaardstructuur van een formule statement is als volgt: 


{get: formula; expr: <expression>; arg1: <argument1>; arg2: <argument2>; argN: <argumentN>;}


Waarbij <expression> de rekenkundige bewerking is die wordt uitgevoerd. De volgende bewerkingen worden ondersteund:


Bewerking    
Toelichting
absolute
Absolute waarde 
divide
Delen
min
Aftrekken
plus
Optellen
times
Vermenigvuldigen


Bij het gebruik van formule statements kunnen rekenkundige bewerkingen in de get-statements worden uitgevoerd, of via aparte formule-indicatoren die vervolgens via normale get-statements worden opgehaald. Als dezelfde formule vaak wordt toegepast op verschillende indicatoren, dan is het wellicht handiger om deze op te nemen als aparte formule indicator. Ook zijn bepaalde rekenkundige bewerkingen niet beschikbaar via get-statements, maar wel voor formule onderwerpen (bijvoorbeeld wortels), zie hiervoor de help bij de formule kolom in het indicatoren overzicht in Swing Studio. Hieronder volgt een uitgewerkt voorbeeld van het conditionele statement, met toevoeging van een formule statement.


Voorbeeld:


Om de woorden 5% gestegen dynamisch te genereren wordt het volgende formule get-statement gebruikt:


{get: formula; expr: (arg1 min arg2) divide arg2 times arg3; arg1: {get: data; varcode: inwtot); arg2 (get: data; varcode: inwtot; periodoffset: -1}; arg3: 100}


Met haakjes in het get-statement wordt de volgorde van bewerkingen bepaald.

In dit voorbeeld wordt aangegeven of de bevolking is gestegen of gedaald. Bij een daling van de bevolking zou de formule bijvoorbeeld uitkomen op -5% gedaald. Om dit te ondervangen kan een extra get-statement worden geplaatst om het bestaande get-statement zodat de absolute waarde wordt getoond van datgene wat wordt berekend:


{get: formula; expr: arg1 absolute; arg1:{get: formula; expr: (arg1 min arg2) divide arg2 times arg3; arg1 {get: data; varcode: inwtot} arg2 {get: data; varcode: inwtot; periodoffset: -1); arg3: 100}}


Nu wordt het voorgaande formule statement als argument (arg1) gedefinieerd in het nieuwe formule statement. 

Het volledige get-statment is de combinatie van het formule statement en het conditionele statement.


{get: formula; expr: arg1 absolute; arg1:{get: formula; expr: (arg1 min arg2) divide arg2 times arg3; arg1 {get: data; varcode: inwtot} arg2 {get: data; varcode: inwtot; periodoffset: -1); arg3: 100}}% {get: ifelse; expr: arg1 greater arg2; arg1: {get: data; varcode: inwtot}; arg2: {get: data; varcode: inwtot; periodoffset:-1}; iftrue: gestegen; iffalse: gedaald}


Om het overzicht te behouden is het raadzaam om gebruik te maken van Excel of Python bij het aanmaken van nieuwe get-statements. Als een lang get-statement een foutmelding toont, is het handig om deze uit elkaar te halen en ieder deel afzonderlijk te testen. 


Glossary statements

In rapporten is er vaak behoefte aan extra uitleg bij specifieke begrippen. In Stories kunnen hier glossary statements voor worden gebruikt. 

Glossary statements bieden de mogelijkheid om extra uitleg aan bepaalde begrippen toe te voegen. Dit is handig voor de gebruiker, omdat er via een tooltip eenvoudig meer informatie over een begrip wordt getoond. 


Glossary statements worden gemaakt in de Stories settings → Glossary. 

Bij het maken van een glossary statement wordt de volgende informatie opgegeven:


  • Code, de code wordt gebruikt om een woord te koppelen aan een beschrijving.
  • Term, het woord waaraan een beshrijving is toegevoegd. 
  • Description, de beschrijving die zichtbaar wordt in een tooltip bij de het woord. 


Om een glossary statement toe te voegen aan stories, moet deze eerst zijn toegevoegd in de Stories settings. Iedere glossary heeft een unieke code, een term en een beschrijving. De standaardstructuur van een glossary statement is als volgt:


{get: glossary-term; termcode: <termcode>; texterm: <texterm>} 


De termcode is de code die bij het aanmaken van het glossary-item is opgegeven. Textterm is een optionele parameter. Soms is er behoefte aan het meervoud van een bepaald begrip in de tekst, terwijl het enkelvoud is opgegeven voor de glossary-items. Met deze parameter kan het woord in de tekst worden overschreven.


Voorbeeld:


Een glossary-item is aangemaakt in de Stories instellingen voor het inwonersaantal, met de code code-inw en een uitgebreide beschrijving.


In de tekst wordt het glossary-item opgeroepen met:


{get: glossary-term; termcode: code_inw}


Hiermee wordt "inwonersaantal" weergegeven in de tekst, met een tooltip waarin de beschrijving staat. Als in de tekst het meervoud "inwonersaantallen"moet worden gebruikt, kan de <texterm> parameter worden toegepast:


{get: glossary-term; termcode: code_inw; textterm: inwonersaantallen}

Was dit artikel nuttig?

Dat is fantastisch!

Hartelijk dank voor uw beoordeling

Sorry dat we u niet konden helpen

Hartelijk dank voor uw beoordeling

Laat ons weten hoe we dit artikel kunnen verbeteren!

Selecteer tenminste een van de redenen
CAPTCHA-verificatie is vereist.

Feedback verzonden

We stellen uw moeite op prijs en zullen proberen het artikel te verbeteren