Referenties
Met een referentie kan gerefereerd worden aan de
waarde van een kolom of een variabele met het doel deze te mengen (eng. merge) in de
overige tekst. De waarde kan zowel numeriek als een string zijn. Een referentie
wordt gemaakt door de naam van een kolom of variabele tussen rechte haken te plaatsen. De
rechte haken kunnen hierbij gelezen worden als: de inhoud van. Eventueel kan
aangegeven worden welke tekens van de waarde moeten worden afgedrukt met [>start#len#prec
Name] waarbij Name een VariableName,
ColumnName of een Expressie kan
zijn. Hiermee worden maximaal len tekens afgedrukt van de waarde van Name
waarbij gestart wordt na de eerste start tekens en worden er (indien Name
van het drijvende kommatype is) prec cijfers achter de komma vermeld.
Indien >start, #len of #prec niet
zijn vemeld gelden standaard waarden. De standaardwaarden zijn: start=0, len=length([Name])
en prec=2 waarbij een komma (,) gebruikt wordt als decimaal
scheidingsteken en de punt (.) voor de scheiding van de duizendtallen. De standaardwaarden
kunnen gewijzigd worden met de FormatFloat
functie waarmee andere waarden voor duizendtal en decimale scheidingsteken alsmede het
aantal cijfers achter de komma (lees: het decimale scheidingsteken) kan worden
opgegeven.
De evaluatie van Name vindt plaats in de volgorde: VariableName, ColumnName, Expressie. Indien Name de naam van een variabele
is dan wordt de waarde afgedrukt. Indien Name echter de naam van kolom is
in de huidige query dan wordt de waarde van deze kolom afgedrukt waarbij * en ? als
'wildcards' of jokers opgevat worden. Indien er echter geen enkele kolomnaam past dan
wordt getracht om Name uit te werken als een expressie en het resultaat
(een getalswaarde) afgedrukt.
Met de zogenoemde string-aanwijzing ($) zoals in [$>start#len#prec Name]
wordt Name opgevat als de naam een met String gedeclareerde variabele.
Hierbij kan Name de tekens * en ? bevatten om in alfabetische volgorde de
eerst passende StringVarName aan te duiden. Indien Name
niet voldoet aan een StringVarName dan wordt de referentie
vervangen door de lege string.
Opm: Tot en met versie 024 vond de evaluatie van Name plaats in de
volgorde van: VariableName, ColumnName,
StringVarName, Expressie.
In referenties mogen expressies worden gebruikt maar
er wordt aanbevolen om dit zoveel mogelijk te beperken. Om de leesbaarheid van modellen te
vergroten wordt aanbevolen om alle berekeningen in de modelaanwijzingen uit te voeren en
de referenties enkel voor afdrukken te gebruiken.
Referenties kunnen toegepast worden in de tekstblokken van een model en in
de MergedString argumenten van sommige functies en opdrachten.
Voorbeeld:
{
String test
twee = 2
drie = 3
a = 123.456
len = length([a])
Copy(test,a = [>twee#len#drie a]); //MergedString
}
[a] (123.46)
[##3 a] (123.456) of [##drie a] (123.456)
[>2 a] (3.46)
[>2#len#drie a] (3.456)
[>twee#len#drie a] (3.456)
[test] (a = 3.456)
[$te*] (a = 3.456)