Ga naar hoofdinhoud

Referenties naar velden, metingen en variabelen

OP DEZE PAGINA

Referenties naar velden, metingen en variabelen

Een uitdrukking kan referenties naar velden, variabelen en metingen bevatten.

In de meeste gevallen zijn uitdrukkingen aggregaties: berekeningen die meerdere records kunnen bevatten. Dit betekent dat alle veldreferenties in een uitdrukking door een aggregatiefunctie moeten worden omsloten. Als er geen aggregatiefunctie wordt gebruikt, wordt de functie Only() gebruikt.

Als de naam van een meting binnen een uitdrukking wordt gebruikt, wordt deze geïnterpreteerd als een alias voor de meting. Dit stelt u in staat om een al gedefinieerde entiteit opnieuw te gebruiken. U kunt alleen labels van mastermetingen en diagrammetingen op deze manier gebruiken. De diagrammeting moet zich wel in hetzelfde diagram bevinden. U kunt geen labels of metingen in andere diagrammen gebruiken.

U kunt een meting recursief definiëren. Dat wil zeggen dat een meting een referentie naar zichzelf kan bevatten. U moet dit echter alleen doen in diagrammen met enkele rijen. De prestaties nemen af als het diagram te veel rijen bevat. Als het diagram honderden rijen bevat, werkt de recursieve definitie niet.

Een variabele kan op twee verschillende manieren worden gebruikt in een directe referentie of in een uitbreiding met dollarteken. Als u een directe referentie gebruikt, wordt de variabele waarde in een berekening gebruikt. Als u een uitbreiding met dollarteken gebruikt, wordt de volledige uitbreiding met dollarteken vervangen door de variabele waarde voordat de uitdrukking wordt geparseerd. De twee methoden kunnen dus verschillende resultaten retourneren.

De interpretatie van namen

Een naam binnen een uitdrukking kan een referentie zijn naar een veld, functie of meting. Afhankelijk van de situatie, wordt de naam anders geïnterpreteerd.

Example:  

De tekenreeks XXX vertegenwoordigd een veld, een variabele, een functie of een meting. XXX wordt geïnterpreteerd als één van deze, afhankelijk van hoe u de uitdrukking maakt.

Voorbeelden hoe namen worden geïnterpreteerd
Uitdrukking XXX geïnterpreteerd als
XXX() meting, variabele of veld
$(XXX) variabele
Count(XXX) veld of variabele
XXX() functie

U moet niet dezelfde naam gebruiken voor een veld en een variabele (of een meting). Als u dit wel doet en er ontstaat dubbelzinnigheid, wordt de volgende volgorde van prioriteit aangehouden:

  • Als de naam wordt gevonden binnen een aggregatiefunctie, krijgt een veld voorrang op een variabele.

  • Als de naam wordt gevonden buiten een aggregatiefunctie, krijgt een meting voorrang op een variabele, dat weer voorrang krijgt op een veld.

Regels voor uitdrukkingen

Voor diagramuitdrukkingen gelden de volgende regels:

  • Als een veldreferentie niet binnen een aggregatiefunctie wordt geplaatst, gebruikt de engine de functie Only().

  • Alle uitdrukkingen leveren een getal en/of een tekenreeks op, afhankelijk van de gebruikte uitdrukking.

  • Logische functies en operatoren leveren 0 op voor False, -1 voor True. Conversies van getal naar tekenreeks en conversies van tekenreeks naar getal zijn impliciet.

  • Logische operatoren en functies interpreteren 0 als False en al het andere als True.

  • Uitdrukkingen die niet correct kunnen worden geëvalueerd, bijvoorbeeld als gevolg van incorrecte parameters of functies, leveren NULL op.