Funzioni

Le Funzioni aggiungono una certa funzionalitá alle espressioni. Dopo il nome della funzione, i parametri seguono separati da punto e virgola tra parentesi:

 

NomeFunzione(parametro1; parametro2; parametro3; ...)

 

Funzioni di controllo

if()

La funzione if (or iif ) ha tre parametri: se il primo parametro non è 0 / non è falso, verrà restituito il secondo parametro, altrimenti il ​​terzo parametro. Per esempio:

if([Checkbox];"si";"no")

Se il checkbox viene selezionato, l'espressione restituisce sì altrimenti no.
Il terzo parametro può anche essere omesso. Quindi, la funzione restituisce NULL nel caso falso.

switch()

switch ha un numero arbitrario di parametri, che alternano una condizione e un risultato. Se il primo parametro è vero, verrà restituito il risultato del secondo parametro. Altrimenti, se il terzo parametro è vero, verrà restituito il risultato del quarto parametro e così via. Per esempio:

 

switch([Pettorale]<100;"A";[Pettorale]<200;"B";[Pettorale]<300;"C")

Se il numero di pettorale è inferiore a 100, verrà restituito A. Se il numero di pettorale è inferiore a 200 (ma maggiore o uguale a 100), verrà restituito B. Se il numero di pettorale è inferiore a 300 (ma maggiore o uguale a 200), verrà restituito C. Se il numero di pettorale è maggiore o uguale a 300, verrà restituito NULL.

 

choose()

choose ha un numero arbitrario di risultati. Il primo parametro è un numero intero che è l'indice del parametro che verrà restituito. Per esempio:

 

choose(4;"A";"B";"C";"D";"E") - restituisce il quarto parametro dopo l'indice: D

 

Questo esempio converte lo stato dei partecipanti (codificato come numero) in un testo:

choose([Stato]+1;"regolare";"NC";"DSQ";"DNF";"DNS";"assente") 

Funzioni stringhe

left()

left ha due parametri, una stringa e un numero n, e restituisce i primi n caratteri della stringa. Per esempio:

 

left("race result";4) - restituisce race

 

left([Cognome];1) - restituisce la prima lettera del cognome

right()

right ha due parametri, una stringa e un numero n e restituisce gli ultimi n caratteri della stringa. Per esempio:

 

right("race result";4) - restituisce sult

 

right([Cognome];1) - restituisce l'ultima lettera del cognome

mid()

mid ha tre parametri, un testo e due numeri m e n. Restituisce n caratteri della stringa, iniziando dal m-esimo carattere. Per esempio:

 

mid("race result"; 6; 3) - restituisce res

Nota che gli spazi vengono conteggiati come carattere!

instr()

instr restituisce la posizione della prima occorrenza di una sottostringa in una stringa. I primi parametri determinano da dove iniziare la ricerca.

 

instr(1;"race result";" ") - restituisce 5

 

instr(2;"ab";"a") - restituisce 0, dal momento che non c'è una "a" se si inizia la ricerca dal secondo carattere in poi.

instr2()

instr2 è simile ad instr(), ma considera áàä etc. come a, éèê etc. come e, e cosí via; In sostanza non si fa differenza tra lettere accentate e non accentate.

 

instr2(1;"ráce result";"a") - restituisce 2

 

SplitString()

SplitString takes 3 parameters - a string, a delimeter and a number n.

The string is split at each occurence of the delimeter, then the nth object is returned, for example:

SplitString("a,b,c,d"; ","; 3) returns c

val()

val converte una stringa in un numero. Ad esempio, questa funzione può essere utilizzata per ordinare numericamente in base ai valori in un campo di testo aggiuntivo.

 

val([CTA1]) - può essere utilizzato per l'ordinamento numerico per CTA1

 

val("3")<val("20") - restituisce 1 (vero)
"3"<"20" - restituisce 0 (falso a causa del confronto del testo)

len()

len restituisce la lunghezza di un testo.

 

len("race result") - restituisce 11.

Nota che anche in questo caso lo spazio vale come carattere e quindi viene conteggiato!

len([Cognome]) - restituisce la lunghezza del cognome

lcase()

La funzione LCase converte tutti i caratteri in minuscolo.

UCase([Cognome]) & ", " & LCase([Nome]) - restituisce per esempio ROSSI, antonio

ucase()

La funzione UCase converte tutti i caratteri in maiuscolo.

UCase([Cognome]) & ", " & LCase([Nome]) - restituisce per esempio ROSSI, antonio

trim()

trim rimuove gli spazi bianchi all'inizio e alla fine di un testo e restituisce la stringa rimanente:

 

trim(" Hello World   ") - restituisce "Hello World"

 

string()

string ha due parametri, un numero n e un testo. Ripete il testo n volte.

 

string(3; "Corri! ") - restituisce "Corri! Corri! Corri! ".

 

replace()

replace sostituisce parti di un testo con un altro testo.

 

replace("race result"; " "; "-") - restituisce "race-result".

 

reduceChars()

reduceChars ha due stringhe a e b come parametri e restituisce solo quei caratteri di a che fanno parte di b:

 

reduceChars("race result 12 software 2020"; "0123456789") - restituisce 122020

 

removeAccents()

removeAccents rimuove gli accenti da ogni lettera:

 

removeAccents("Caffé e Latte") - restituisce "Caffe e Latte"

 

chr()

Chr ha un parametro e converte un codice ASCII nel carattere corrispondente.

 

chr(65) - restituisce "A"

 

asc()

Asc ha un parametro e restituisce il codice ASCII del primo carattere del parametro.

 

 asc("A") - restituisce 65.

 

ordinal()

ordinal restituisce i numeri ordinali in inglese:

 

ordinal(1) - restituisce "1st"
ordinal(3) - restituisce "3rd"
ordinal(15) - restituisce "15th"

similarity()

La funzione similarity restituisce la somiglianza di due stringhe come valore compreso tra 0 e 1.

similarity("Hansaplast";"HansPlasta") - restituisce 0.625
similarity([Cognome];[Cognome]) - restituisce 1

CorrectSpelling()

La funzione CorrectSpelling converte i caratteri del nome / cognome in maiuscolo e minuscolo come previsto: il primo carattere sarà in maiuscolo, tutti gli altri caratteri in minuscolo. Le parole "de", "der", "und", "van", "von" e "zu" saranno sempre in minuscolo.

CorrectSpelling("max VON uNd zu mustERMann") - restituisce Max von und zu Mustermann

stringCount()

stringCount prende due stringhe a e b. Restituisce la frequenza con cui b appare in a.

 

stringCount("race result 12"; "r") - restituisce 2

 

Funzioni matematiche

int()

int restituisce la parte intera di un numero, ad esempio

 

int(6.7) - restituisce 6

 

sqrt()

sqrt restituisce la radice quadrata di un numero, ad esempio:

 

sqrt(9) - restituisce 3

 

quersumme()

quersumme restituisce la somma delle cifre di un numero, ad esempio:

 

quersumme(423) - restituisce 9 (4+2+3)

 

abs()

abs restituisce il valore assoluto di un risultato o di un calcolo, convertendo i numeri negativi in ​​numeri positivi:

 

abs(-9) - restituisce 9

 

abs(18) - restituisce 18

Esempio:

in una gara di regolarità in cui le classifiche si basano sulla precisione di ciascun partecipante in un determinato punto di cronometraggio in base ad un orario specifico, potresti voler calcolare la differenza assoluta tra il tempo teorico e il tempo reale e quindi classificare i partecipanti dal più preciso al meno preciso.

Utilizzando abs(), i tempi negativi vengono trattati come positivi, e questo rende facile valutare la migliore prestazione di ogni atleta.

round()

La funzione round arrotonda a number. Il secondo parametro è facoltativo e definisce quante cifre decimali devono rimanere:

round(3.149) - restituisce 3
round(3.149;2) - restituisce 3.15

speed()

La funzione speed calcola la velocità in km/h (unità metriche) o mph (unità imperiali) in base alle unità di misura indicate nelle impostazioni di base, ad esempio

speed([Tempo10.Decimale])

Se la distanza non deve essere la lunghezza della gara, ma un valore arbitrario, può essere aggiunta come secondo parametro; questo utilizzerà l'unità dalle impostazioni base della gara.

Il terzo parametro è facoltativamente l'unità di misura come:
metri - "m"
kilometri - "km"
miglia - "miles"

Per esempio

speed([Tempo10Decimale]; 5)
speed([Tempo10.Decimale]; 5000; "m")

Usado la funzione formato l'output può essere formattato facilmente:

format(speed([Tempo10.Decimale]); "s.k") & " mph"

pace()

La funzione pace calcola l'andatura in minuti per chilometro (unità metriche) o minuti per miglio (unità imperiali), in base alle unità di misura nelle impostazioni di base, ad esempio

pace([TempoDecimale10])

Se la distanza non deve essere la lunghezza della gara, ma un valore arbitrario, può essere aggiunta come secondo parametro; questo utilizzerà l'unità dalle impostazioni base della gara; Il terzo parametro è facoltativamente l'unità di misura come:
- metri - "m"
- kilometri - "km"
- miglia - "miles"

Per esempio

pace([TempoDecimale10]; 5)
pace([TempoDecimale10]; 5000; "m")

Usando la funzione formato l'output può essere facilmente impostato:

format(pace([TempoDecimale10]); "m:ss") & " min/mile"

Funzioni Risultati

Le funzioni risultati sono usate per comparare i risultati individuali dei partecipanti.

La maggior parte usano il formato TFunzione(a;b) dove a e b definiscono il range degli ID Risultati che devono essere presi in considerazione. 

es. TMin(1;10) - restituisce il tempo minore presente tra i risultati con ID da 1 a 10

Alcune funzioni hanno parametri aggiuntivi che sono spiegati con la funzione. Ci sono ulteriori variazioni aggiuntive di ciascuna funzione che sono anche spiegate all'interno della sezione.

TCount()

TCount(a;b) conta quanti tempi sono inseriti nei risultati con ID da a a b.

Es. TCount(1;10) - restituisce il numero di tempi inseriti nei Risultati con ID da 1 a 10

TSum()

La funzione TSum(a;b) calcola la somma dei tempi nei risultati con ID da a a b.

TSum(10;12) - equivale a nz(T10)+nz(T11)+nz(T12)

La funzione TSum(a;b;c;d) recupera tutti i tempi nei risultati con ID da a a b, li ordina dal più piccolo al più grande e quindi calcola la somma dei migliori risultati nelle posizioni da c a d.

TSum(10;15;1;2) - somma i due migliori tempi presenti nei risultati da 10 a 15.
TSum(10;15;3;3) - somma i 3 migliori tempi presenti nei risultati da 10 a 15 e sottrae la somma dei migliori 2 tempi. 
                --> restituisce il terzo miglior tempo nei risultati da 10 a 15.

TSum(a;b;c;d;1) corrisponde a TSum(a;b;c;d), ma ordina i tempi in ordine decrescente.

TMin()

TMin(a;b) restituisce il tempo o valore minimo dai risultati con ID da b.

Es. TMin(1;10) - restituisce il minor tempo presente nei risultati con ID da 1 a 10.

TAvg()

Tavg(a;b) calcola la media dei tempi nei risultati con ID da a a b

es. TAvg(1;10) - restituisce la media dei tempi nei risultati con ID da 1 a 10.

TMax()

TMax(a;b) restituisce il tempo o il valore massimo dai risultati con ID da a a b.

e.g. TMax(1;10) - restituisce il tempo massimo dai risultati con ID da 1 a 10

TFirst()

TFirst(a;b) scansiona i risultati da a a b e restituisce il primo tempo che trova (con ID più basso)

es. TFirst(1;10) - restituisce il tempo dal risultato con l'ID più basso da Risultati con ID da 1 a 10

La funzione TFirst(a;b;c;d) recupera tutti i tempi dai risultati con ID da a a b e li ordina dal più piccolo al più grande. Quindi considera solo i tempi dal c-esimo al d-esimo e restituisce il primo di questi (= quello con l'ID più basso).

es. TFirst(1;10;1;3)  - Restituisce il risultato con l'ID più basso dai 3 tempi più piccoli dagli ID risultati da 1 a 10

TFirst(a;b;c;d;1) corrisponde a TFirst(a;b;c;d), ma ordina i tempi in ordine decrescente.

TFirst(a;b;0;0;0;c) scansiona i risultati da a a b e restituisce il c-esimo tempo inserito.

es. TFirst(1;10;0;0;0;3)  - Restituisce il terzo risultato (in base agli ID dei Risultati) che son stati inseriti nei Risultati da 1 a 10

TLast()

TLast(a;b) scansiona i risultati da a a b e restituisce l'ultimo tempo inserito (quindi con ID più alto)

es. TLast(1;10) - restituisce il tempo contenuto dal risultato con il più alto ID tra i Risultati con ID da 1 a 10

La funzione TLast(a;b;c;d) recupera tutti i tempi nei risultati con gli ID da a a b e li ordina dal più piccolo al più grande. A questo punto considera dal c-esimo al d-esimo risultato restituendo l'ultimo (=ID più grande).

es. TLast(1;10;1;3)  - Restituisce il risultato con ID più grande dai 3 tempi più piccoli dagli ID risultati da 1 a 10

TLast(a;b;c;d;1) corrisponde a TLast(a;b;c;d), ma ordina i tempi in ordine decrescente.

TLast(a;b;0;0;0;c) scansiona i risultati da a a b e restituisce il c-ultimo risultato.

es. TLast(1;10;0;0;0;3)  - Restituisce il 3-ultimo risultato (in accordo agli ID Risultati) che è stato inserito nei risultati ID da 1 a 10.

T()

T(x) restituisce il valore nel risultato x come valore decimale.

Evita di usare la funzione T() nelle Formule Risultati - crea importanti dipendenze nel tuo file!

Guarda inoltre TR(), TText(), TName().

DMaxMin()

DMaxMin(a;b;c) esegue la scansione dei risultati da a a b e restituisce il tempo massimo inferiore a c, dove c è un valore temporale immesso come secondi.

e.g. DMaxMin(1;10;3600)  - Restituisce il tempo massimo presente tra i risultati da 1 a 10  minore peró di 3600s (1 ora)

Funzioni di conversione

urlencode()

urlencode codifica una stringa come URL.

urlencode("race result") - restituisce race%20result

NumberToWords()

NumberToWords(a;b;c) converte un numero in parole inglesi. b sará aggiunto dopo la parte intera, c sará aggiunto dopo le cifre decimali.

 

NumberToWords([QuotaIscrizione];"Euro";"Cent") - restituisce il valore della quota di iscrizione in parole (inglese), es. eighteen Euro and twenty Cent

ZahlInWort()

ZahlInWort(a;b;c) converte un numero in parole tedesche. b sará aggiunto dopo la parte intera, c sará aggiunto dopo le cifre decimali.

ZahlInWort([QuotaIscrizione];"Euro";"Cent") - Restituisce il valore della quota di iscrizione in parole (tedesco), es. achtzehn Euro und zwanzig Cent

TimeFromString()

La funzione TimeFromString è la controparte della funzione format(). Converte una stringa tempo in numero di secondi:

TimeFromString("0:02:03,4") - restituisce 123.4

md5()

md5(x) calcola il valore hash MD5.

md5("race result") - restituisce "02185E816175C3FC6255140D2BE222C3"

crc7()

Il controllo CRC7 è necessario per la comunicazione con un numero di dispositivi di terze parti. 

Il risultato della funzione crc7() é restituito come valore decimale. 

crc7(2) - restituisce 34

 

Funzioni di tempo e data

format()

La funzione format formatta un numero (primo parametro) in accordo al formato tempo (secondo parametro). Esempio:

format(123.45; "h:mm:ss,k") - restituisce 0:02:03,4

date()

date() restituisce la data corrente per i calcoli:

[Event.Date]-[Date]  - restituisce il numero di giorni mancanti alla data dell'evento

date(a) restituisce la data corrente formattata secondo a:

date("dd/mm/yyyy") - restituisce ad esempio 01/07/2014

date(a;b) restituisce la data b formattata secondo a:

date("mm/yyyy"; [DateOfBirth]) - potrebbe restituire ad esempio 05/1970

la funzione può essere utilizzata anche per estrarre date/ore da una stringa datetime come i campi [Creato] o [Modificato].

Formati Data:

d Giorno del mese (senza zeri iniziali)
dd Giorno del mese (con zeri iniziali)
ddd Giorno del mese come valore ordinale
m Mese (senza zeri iniziali)
mm Mese (con zeri iniziali)
mmm Mese come testo breve (solo inglese e tedesco)
mmmm Mese come testo lungo (solo inglese e tedesco)
yy Anno a 2 cifre
yyyy Anno a 4 cifre
e Giorno della settimana come numero (1-7)
ee Giorno della settimana come testo breve (solo inglese e tedesco)
eee Giorno della settimana come testo lungo (solo inglese e tedesco)
a Giorno dell'anno
ww Numero della settimana
isoweek Numero dell'anno e della settimana

Formati Ora:

hh Ore
nn Minuti
ss Secondi

now()

now() restituisce la data e l'ora correnti per i calcoli:

now()-[Creato]  - restituisce il numero di giorni fa in cui il partecipante è stato creato.

ElapsedTime()

ElapsedTime(tempo; formato) crea una stringa speciale che genererà un tempo a correre negli elenchi che mostra il tempo trascorso da tempo.

Se il formato non viene specificato, sará usato HH:mm:ss.

Se il formato viene espresso con valore negativo, verrà mostrato un conto alla rovescia al tempo indicato.

ElapsedTime non funziona in eventi di più giorni dove il tempo di gara supera le 24h.

AgeOnDate()

AgeOnDate(yyyy;mm;dd) restituisce l'etá del partecipante alla data inserita dai 3 paramentri: anno, mese e giorno.

Funzioni di analisi

inRange()

inRange(a;b) restituisce 1 se il numero a é nel range dei numeri indicati in b.

inRange([Pettorale];"1-10;15") - restituisce 1 se il pettorale é tra 1 e 10 o uguale a 15.

isNumeric()

isNumeric controlla se una stringa contiene solo i caratteri numerici 0,1,2,3,4,5,6,7,8,9:

isNumeric("12323") - restituisce vero

 

isNumeric("12W44") - restituisce falso

 

isAlpha()

isAlpha controlla se una stringa contiene solo caratteri alfabetici A-Z/a-z:

isAlpha("ASKdeo") - restituisce vero
isAlpha("Ström") - restituisce falso
isAlpha("K3") - restituisce falso

 

hasChip()

hasChip(transponder) restituisce 1 se il transponder indicato é assegnato al partecipante, altrimenti 0.

hasChip("NUSPW44") - restituisce 1 o 0

Il codice transponder puó essere assegnato attraverso i campi Transponder1, Transponder2 o attraverso il file abbinamenti dei Chip.

ChipFileHas()

 ChipFileHas(transponder) restituisce 1 se il codice transponder indicato è presente nel Chip File, e 0 altrimenti.

ChipFileHas("ZABCD12") - restituisce 1 o 0

search()

search(a;b) restituisce 1, se tutte le parole di b sono presenti in a.

search("Questa é una stringa con race e result"; "race result") - restituisce 1

 

search("i primi tre caratteri dell'alfabeto non compaiono in questo testo"; "abc") - restituisce 0

 

isUCICode()

isUCICode controlla se il primo paramentro é un codice UCI valido:

isUCICode("GER19810312") - restituisce vero

 

isUCICode("Ger13333") - restituisce falso

 

isUCIID()

isUCIID() controlla se il primo paramentro é un ID UCI valido:

isUCIID("98387437864") - restituisce vero
isUCIID("ABCD123") - restituisce falso

 

hasEntryFee(entryFeeID)

hasEntryFee(entryFeeID) restituisce 1 se la tassa di iscrizione con tale ID viene applicata al partecipante e 0 in caso contrario.

hasEntryFee(1) - restituisce 1 o 0

Puoi trovare l'ID della tassa di iscrizione nella Finestra principale > Quote di iscrizione.

Questa funzione può essere utilizzata, ad esempio, come filtro negli elenchi di output, per vedere a quali partecipanti è stata applicata una determinata quota di iscrizione.

isEligible()

IsEligible(a;b;c) restituisce 1 se il partecipante è idoneo alla gara in base agli intervalli di date di nascita e, facoltativamente, al sesso e 0 negli altri casi.

isEligible("01/01/2000") - controlla se la data 01/01/2000 è idonea per la gara in corso del partecipante.

La funzione può anche richiedere un anno invece della data. 

isEligible(2000) - verifica se l'anno di nascita 2000 sarebbe idoneo per la gara in corso del partecipante.

Il secondo parametro è facoltativo e può essere utilizzato anche per verificare se il genere è idoneo alla gara.

isEligible([DataDiNascita];"m") - controlla se la data di nascita attuale e il sesso maschile sono idonei per la gara in corso del partecipante.

Il terzo parametro opzionale può essere utilizzato per definire l'ID della gara.

isEligible([DataDiNascita];[Genere];2) - verifica se il partecipante è idoneo per la gara ID 2.

Questa funzione è utile per la registrazione delle squadre di staffetta in cui è possibile memorizzare informazioni aggiuntive sui membri della squadra in campi aggiuntivi, ma è comunque necessario confermare la loro idoneità a competere.

isValidEmail()

IsValidEmail() restituisce 1 se la stringa rappresenta un indirizzo email valido e 0 altrimenti.

isValidEmail("john.doe@gmail.com") - controlla se john.doe@gmail.com è tecnicamente un indirizzo email valido (non necessariamente esistente).

Inter-Record Functions

BunchTime()

BunchTime(ClassificaID;RisultatoID;scostamento) calcola il tempo di gruppo per gli eventi ciclistici. Tutti i ciclisti in un gruppo rivevono il tempo del primo ciclista in testa al gruppo se il distacco tra questi non é maggiore dello scostamento (in secondi). Altrimenti verrá creato un altro gruppo con un differente tempo di arrivo.

BunchTime(1;11;1) 

GapTimeTop()

GapTimeTop(RisultatoID;ClassificaID;testo per il primo;formato tempo) calcola il distacco tra un partecipante e il primo arrivato. Il RisultatoID determina quale risultato considerare; la ClassificaID definisce chi é il primo atleta; testo per il primo definisce il testo da mostrare sul primo atleta e formato tempo specifica come formattare il tempo di distacco. Per esempio:

GapTimeTop(1;2;"--";"+m:ss,kk") 

Usando i Risultati predefiniti (RisultatoID 1 = Tempo di arrivo) e le Classfiche predefinite (ClassificaID 2 = ClassificaDiGenere) questo restituisce il tempo in base alla classifica di genere basata sul tempo di arrivo.

Il terzo e quarto parametro possono essere omessi. "-" e"+HH:MM:ss,kk" sono i valori di default.

GapTimePrev()

GapTimePrev(RisultatoID;ClassificaID;testo per il primo;formato tempo) calcola il distacco tra un partecipante e quello che lo precede. Il RisultatoID determina quale risultato considerare; la ClassificaID definisce chi é l'atleta che precede; testo per il primo definisce il testo da mostrare sul primo atleta e formato tempo specifica come formattare il tempo di distacco. Per esempio:

GapTimePrev(1;3;"--";"+m:ss,kk") 

Usando i Risultati predefiniti (RisultatoID 1 = Tempo di arrivo) e le Classifiche predefinite (ClassificaID 3 = ClassificaCategoria) questo restituisce il tempo di distacco dal corridore che precede, nella stessa categoria e basato sul tempo finale.

Il terzo e quarto parametro possono essere omessi. "-" e"+HH:MM:ss,kk" sono i valori di default.

GapTimeLast()

GapTimeLast(IDRisultato;IDClassifica;TestoUltimo;FormatoTempo) calcola il tempo di differenza tra un partecipante e l'ultimo partecipante (ultimo nella classifica, al momento del calcolo). L'ID Risultato determina quale risultato avanzato prendere in considerazione; l'IDClassifica determina quale classifica considerare per vedere chi è l'ultimo atleta; TestoUltimo è il testo da mostrare per l'ultimo atleta e FormatoTempo specifica come formattare il distacco. Per esempio:

GapTimeLast(1;2;"--";"+m:ss,kk") 

Utilizzando i risultati avanzati predefiniti (ID risultato 1 = tempo di arrivo) e le classifiche (ID classifica 2 = ClassificaMF), questo restituirà il tempo di distacco dall'ultimo atleta dello stesso sesso in base al tempo di arrivo.

Il terzo e il quarto parametro possono essere omessi. "-" e " HH:MM:ss,kk" sono i valori predefiniti.

GapTimeNext()

GapTimeNext(IDRisultato;IDClassifica;TestoUltimo;FormatoTempo) calcola il tempo di distacco tra un partecipante e il partecipante successivo. l'IDRisultato determina quale risultato avanzato prendere in considerazione; l'IDClassifica determina chi è il prossimo atleta; TestoAtletaSuccessivo è il testo da mostrare per l'atleta successivo; e formato dell'ora specifica come formattare l'intervallo di tempo. Per esempio:

GapTimeNext(1;3;"--";"+m:ss,kk") 

Utilizzando i risultati predefiniti (ID risultato 1 = tempo di arrivo) e le classifiche (ID classifica 3 = Classifica Fascia d'Età), questo restituirà il tempo in anticipo rispetto al corridore successivo, nella stessa fascia di età, in base al tempo di arrivo. 

Il terzo e il quarto parametro possono essere omessi. "-" e " HH:MM:ss,kk" sono i valori predefiniti.

TeamGapTimeTop()

TeamGapTimeTop(RisultatoID;ClassificaSquadraID; testo per il primo; formato tempo) calcola il distacco dalla prima squadra. Il RisultatoID determina quale risultato considerare (da 1 a 4); la ClassificaSquadraID determina quale punteggio di squadra verrá considerato; testo per il primo definisce il testo da mostrare sulla prima squadra e il formato tempo specifica come formattare il distacco. Per esempio:

TeamGapTimeTop(2;1;"--";"+m:ss,kk") 

Ciò restituirebbe il distacco del secondo risultato nel punteggio di squadra 1.

Il terzo e quarto parametro possono essere omessi. "-" e"+HH:MM:ss,kk" sono i valori di default.

TeamGapTimePrev()

TeamGapTimePrev(RisultatoID;ClassificaSquadraID; testo per il primo; formato tempo) calcola il distacco dalla squadra che precede. Il RisultatoID determina quale risultato considerare (da 1 a 4); la ClassificaSquadraID determina quale punteggio di squadra verrá considerato; testo per il primo definisce il testo da mostrare sulla prima squadra e il formato tempo specifica come formattare il distacco. Per esempio:

TeamGapTimePrev(2;1;"--";"+m:ss,kk") 

Questo restituirebbe il distacco del secondo risultato nella classifica di squadra 1.

Il terzo e quarto parametro possono essere omessi. "-" e"+HH:MM:ss,kk" sono i valori di default.

DCount()

DCount conta il numero di partecipanti che soddisfano un filtro (primo parametro):

DCount("[Arrivati]") - restituisce il numero di arrivati
DCount("T101>0 AND [Gara]=1") - restituisce il numero di partecipanti registrati nella gara 1, che hanno un risultato nel Risultato 101

Se il filtro contiene un valore testo, hai la necessitá di uscire dalle virgolette con più virgolette. Esempi:

DCount("[Genere]=""f""") - Restituisce il numero di partecipanti di genere femminile
DCount("[Genere]="""  & [Genere] & """") - Restituisce il numero di partecipanti dello stesso sesso del partecipante considerato.

Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DSum()

DSum somma i valori di un campo (primo paramentro) di quei partecipanti che soddisfano un determinato filtro (secondo parametero):

DSum("[Etá]"; "[Arrivati]") - restituisce la somma delle età di tutti gli arrivati

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!

Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DMin()

DMin determina il valore minimo tra i valori presenti in un campo (primo paramentro) di quei partecipanti che soddisfano un determinato filtro (secondo parametro):

DMin("[Etá]"; "[Arrivati]") - restituisce l'etá del più giovane arrivato.

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!
Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DAvg()

DAvg calcola la media tra i valori di un campo (primo paramentro) di quei partecipanti che soddisfano un determinato filtro (secondo paramentro):

DAvg("[Etá]"; "[Arrivati]") - restituisce l'etá media degli arrivati

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!
Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DMax()

DMax determina il valore massimo tra i valori presenti in un campo (primo paramentro) di quei partecipanti che soddisfano un determinato filtro(secondo parametro).

DMax("[Etá]"; "[Arrivati]") - restituisce l'etá del più anziano

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!
Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DFirst()

DFirst restituisce il valore di un campo (primo parametro) del primo partecipante che soddisfa il filtro (secondo parametro):

DFirst("[Cognome]"; "[Pettorale]=1") - restituisce il cognome del partecipante con pettorale numero 1

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!
Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DLast()

DLast restituisce il valore di un campo (primo parametro) dell'ultimo partecipante che soddisfa il filtro(secondo parametro).

DLast("[Cognome]"; "[Pettorale]=1") - Restituisce il cognome del partecipante con pettorale numero 1

Perché le doppie virgolette attorno ai nomi dei campi? Perché il parametro è il nome del campo che la funzione deve analizzare!
Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DConcat()

DConcat concatena il valore (stringa) di un campo (primo parametro) di quei partecipanti che soddisfano il filtro (secondo paramentro).

DConcat puó essere usato per esempio per elencare tutti i partecipanti con lo stesso cognome.

DConcat("#[Nome] [Cognome] [crlf]"; "[Cognome]=""" & [Cognome] & """")

DQuantile()

DQuantile calcola un quantile dei valori di un campo (primo parametro) di quei partecipanti che soddisfano il filtro (secondo parametro):

DQuantile("[TempoDecimale1]"; "[TempoPositivo1]"; 25) - calcola il 25%-quantile dei tempi nel risultato 1.

Si noti che le funzioni di aggregazione non sono molto veloci e dovrebbero essere utilizzate raramente.

DFunctions() explanation

DFunctions() can be tricky to write due to the escaped quotation marks in the function. The parameters used must be written as text strings, but then comparing participants in groups requires calling the field value in to the string. Below is an explanation of how to write DFunctions and how the quotation marks are escaped or how to write it using a full-text expression.

Standard Text String

The below function will return the count of all participants whose Gender and Contest match the considered participant.

DCount("[Contest]=" & [Contest] & " AND [Gender]=""" & [Gender] & """")
  • The first yellow quote opens a string of text and the second yellow quote closes it.
  • An ampersand is used to concatenate the yellow string of text with the value of [Contest].
  • Since the value of [Contest] is a number and NOT a string of text, we do not need to surround the value with quotes. The resulting concatenated string is shown below if, for example, the considered participant was in contest 1.
[Contest]=1
  • The first orange quote opens a new string of text and the second orange quote closes it.
  • The first green quote escapes the second green quote leaving a single quote within the orange quote string. When evaluated, the resulting string between the orange quotes looks like this. (note, there is a space in front of AND)
 AND [Gender]="
  • An ampersand is used to concatenate the orange string of text with the value of [Gender]. The resulting concatenated string is shown below if, for example, the considered participant's gender was male.
 AND [Gender]="m
  • The first red quote opens a new string and the second red quote closes it.
  • The first blue quote escapes the second blue quote leaving a single quote within the red quote string.
  • When evaluated, the second green quote is paired with the second blue quote which encloses the value of [Gender]. The use of quotes around [Gender] is necessary because the value of [Gender] is a string and NOT a number.
  • Once all strings are concatenated and the function is evaluated, the resulting string of text within the DCount() function would be this.
[Contest]=1 AND [Gender]="m"

 

Altre funzioni

nz()

nz é utile principalmente per le formule dei risultati. Le espressioni con gli operatori saranno valutate solo se tutti gli operandi sono disponibili (non devono essere senza valore/NULL).

Per esempio la formula T2-T1 verrá valutata solo se il partecipante ha entrambi i tempi, cioé in T1 e T2. Se vuoi valutare una espressione con operatori quando non tutti gli operandi sono disponibili, necessiterai della funzione nz che restituisce 0 se un parametro non esiste (NULL).

Per esempio nel caso del tempo netto, potresti volerlo calcolare anche se il tempo di partenza non esiste; per questo puoi usare la seguente espressione:

T2-nz(T1)

min()

min puó avere un numero arbitrario di paramentri e restituisce il valore minimo tra questi.

min(2;3;1;5;6) - restituisce 1

 

min([AnnoDiNascita];[Pettorale]) - restituisce il valore minore tra anno di nascita e pettorale

max()

max puó avere un numero arbitrario di paramentri e restituisce il valore massimo tra questi

max(2;3;1;5;6) - restituisce 6

 

max([AnnoDiNascita];[Pettorale]) - restituisce il massimo tra i valori anno di nascita e pettorale. 

first()

first() prende un numero arbitrario di parametri e restituisce il primo paramentro (in accordo alla sequenza con cui sono inseriti in lista) che non é nullo.

first(T11;T12;T0) - restituisce T0 se sia T11 che T12 sono zero o restituisce il primo risultato che trova che non sia zero.

last()

last() prende un numero arbitrario di parametri e restituisce l'ultimo paramentro (in accordo alla sequenza con cui sono inseriti in lista) che non é nullo.

 

last(T11;T12;T0) - restituisce T0 anche se T11 e T12 non sono nulli. 

table()

La funzione tabella quando usata nelle Formule risultati restituisce un valore dalla tabella. I parametri sono i 4 indici della tabella, per esempio:

table([Classifica1];0;0;0) - puó restituire alcuni valori dalla tabella

Setting()

Il primo e unico parametro della funzione Setting è il nome di un'impostazione. La funzione restituirà il valore dell'impostazione. Ora è possibile farlo inserendo i campi direttamente dai Campi dati evento.

Setting("EventName") - restituisce il nome dell'evento

GetSex()

GetSex restituisce il sesso ricavandolo dal database dei nomi dei partecipanti:

GetSex("Franco") - restituisce m 

 

GetSex("Susanna") - restituisce f 
GetSex("Andrea") - restituisce f/m (solitamente é femminile, in Italia é maschile)

 

translate()

translate serve a tradurre il genere di un partecipante in una parola in un'altra lingua. Se il primo paramentro é 'f' ('m', 'a'), sará restituito il secondo (terzo, quarto) paramentro. Se il primo parametro non è né 'f' né 'm' né 'a', verrà restituito il primo parametro.
Puoi usare questa espressione:

translate([Sex];"Women";"Men";"Agender")

Translate equivale a:

translate(a; b; c; d) := switch([a]="f";[b]; [a]="m";[c]; [a]="a";[d]; 1;[a])

Rank()

Rank(x) può essere usato per chiamare la posizione del partecipante secondo la  classifica X dove X può essere una formula di calcolo. RankP(x) può anche essere usato per restituire la posizione con un punto a seguire.

Per esempio:

Rank(TLastID(a;b)) - Restituisce il valore posizione nella classifica con ID corrispondente al valore risultante dall'espressione TlastID(a;b).

 

RankMax()

RankMax(x) restituisce il numero di partecipanti che sono stati classificati nello stesso gruppo in base alla definizione della classifica X, dove X può essere una formula di calcolo.

e.g. 

RankMax(TLastID(a;b)) - restituisce il numero di partecipanti che sono stati classificati nello stesso gruppo per il Rank con l'ID che corrisponde al valore per TLastID(a;b).

Text()

Per visualizzare il valore di un campo (ad es. [Nome.Concorso] o [Nome.Evento]) nella lingua corretta nelle liste di output, e-mail/sms, certificati ecc. utilizzare la funzione Text().

Text([Field];"codice lingua")

Il campo corrispondente verrà visualizzato nella lingua selezionata, ad es. Text([Gara.Nome];"en") restituisce il nome inglese della Gara, mentre Text([Gara.Nome];"de") restituisce il nome tedesco della gara.

Fai clic qui per ulteriori informazioni su dove utilizzare la funzione Text() e un elenco dei codici lingua disponibili.

ChangeLink()

La funzione ChangeLink() viene utilizzata con i Moduli di Registrazione di tipo self-service per generare l'URL univoco che consente a ciascun partecipante di accedere al proprio self-service.

Questo URL conterrà il nome del modulo, una chiave univoca per il modulo, un ID per il partecipante e una chiave univoca per il partecipante.

Il nome del modulo viene passato come parametro; di default, l'URL e il modulo self-service saranno ospitati sulla pagina my.raceresult dell'evento. 

ChangeLink("SelfService") - restituisce l'URL univoco per il modulo di registrazione self-service "SelfService".

Se i tuoi moduli di registrazione sono organizzati in gruppi, il nome del modulo deve includere il percorso completo, con il nome del gruppo e il nome del modulo separati da una barra verticale.

ChangeLink("Group 1|SelfService") - restituisce l'URL per il modulo "SelfService" all'interno del gruppo "Group 1".

Un secondo parametro può essere passato opzionalmente per modificare l'URL di destinazione, consentendo di creare un URL personalizzato per incorporare il modulo self-service.

ChangeLink("SelfService"; "my") - restituisce l'URL predefinito su my.raceresult.
ChangeLink("SelfService"; "events") - restituisce un URL che punta al server events.raceresult.
ChangeLink("SelfService"; "www.mywebsite.com/event/reg") - restituisce un URL con l'URL specificato; i parametri di query saranno aggiunti direttamente dopo, incluso il "?".
Un secondo parametro può essere passato opzionalmente per modificare l'URL di destinazione, consentendo di creare un URL personalizzato per incorporare il modulo self-service.

Quando utilizzi un URL di destinazione personalizzato sul tuo sito web, devi anche assicurarti di incorporare il modulo di registrazione utilizzando l'Integrazione Web.

 

 

 

Funzioni di punteggio

2015 Age Graded Functions

For new events, it is recommended to use the 2020 Age Graded Functions. The 2015 functions will still be supported for legacy events.

2020 Age Graded Functions

Functions Reference

Type  

 

   
Arithmetic Operators + (addition) - (subtraction) * (multiplication) / (division)
  \ (integer division) % (remainder) ^ (exponentiation) : (time operator)
         
Comparison Operators < (less than) > (greater than) = (equal to) <> (not equal to)
  <= (less than or equal to) >= (greater than or equal to)    
         
Logical Operators OR  XOR (one or the other) AND  
         
Array Operators  IN NIN (not in)    

 

       
Control Functions if() switch() choose()  
         
String Functions left() right() mid() instr()
  instr2() val() len() lcase()
  ucase() trim() string() replace()
  reduceChars() removeAccents() chr() asc()
  ordinal() similarity() CorrectSpelling() stringCount()
  SplitString()      
         
Mathematical Functions int() sqrt() quersumme() abs()
  round() speed() pace()  
         
Result Functions TCount() TCountIf() TSum() TRSum()
  TMin() TRMin() TMinID() TMinName()
  TAvg() TRAvg() TMax() TRMax()
  TMaxID() TMaxName() TFirst() TRFirst()
  TFirstName() TFirstID() TLast() TRLast()
  TLastID() TLastName() T() TR()
  TName() TText() TPrev() DMaxMin()
  TMinIf() TMaxIf() TMinIfID() TMaxIfID()
         
Conversion Functions urlencode() NumberToWords() ZahlInWort() TimeFromString()
  md5() crc7()    
         
Time and Date Functions format() date() now() ElapsedTime()
  AgeOnDate()      
         
Check Functions inRange() isNumeric() isAlpha() hasChip()
  search() isUCICode() isUCIID() hasEntryFee(entryFeeID)
  isEligible() isValidEmail()    
         
Inter-Record Functions BunchTime() GapTimeTop() GapTimePrev() TeamGapTimeTop()
  TeamGapTimePrev() DCount() DSum() DMin()
  DAvg() DMax() DFirst() DLast()
  DConcat() DQuantile()    
         
Other Functions nz() min() max() first()
  last() table() Setting()     GetSex()    
  translate() rank(x) Text() ChangeLink()
         
Scoring Functions AgeGradedOC2015() AgeGradedLevel2015() AgeGradedFactor2015()  
  AgeGradedOC2020() AgeGradedLevel2020() AgeGradedFactor2020()