Espressioni nello script
Le espressioni possono essere utilizzate sia nelle istruzioni LOAD che nelle istruzioni SELECT. La sintassi e le funzioni descritte in questa sezione riguardano l'istruzione LOAD e non l'istruzione SELECT poiché quest'ultima viene interpretata dal driver ODBC e non da Qlik Sense. In ogni caso, la maggior parte dei driver ODBC è spesso in grado di interpretare molte delle funzioni descritte di seguito.
Le espressioni sono costituite da funzioni, campi e operatori, combinati in una sintassi.
Tutte le espressioni in uno script di Qlik Sense restituiscono un numero e/o una stringa, a seconda di quale dei due risultati è appropriato. Le funzioni logiche e gli operatori restituiscono 0 per False e -1 per True. Le conversioni da numero a stringa e viceversa sono implicite. Gli operatori logici e le funzioni interpretano 0 come False e tutto il resto come True.
La sintassi generale di un'espressione è:
Espressione | Campi | Operatore |
---|---|---|
expression ::= (constant | constant | | |
expression ::= (constant | fieldref | | |
expression ::= (constant | operator1 expression | | |
expression ::= (constant | expression operator2 expression | | |
expression ::= (constant | function | | |
expression ::= (constant | ( expression ) | ) |
dove:
- constant è una stringa (un testo, una data o un'ora) racchiusa tra virgolette singole diritte o un numero. Le costanti sono scritte senza separatore delle migliaia e con un punto decimale come separatore decimale.
- fieldref è un nome di campo della tabella caricata.
- operator1 è un operatore unario (che agisce su un'unica espressione, quella a destra).
- operator2 è un operatore binario (che agisce su due espressioni, una per ogni lato).
- function ::= functionname( parameters)
- parameters ::= expression { , expression }
Il numero e i tipi dei parametri non sono arbitrari. Dipendono dal tipo di funzione utilizzata.
Le espressioni e le funzioni possono essere nidificate liberamente. Finché l'espressione restituisce un valore interpretabile, in Qlik Sense non verrà visualizzato alcun messaggio di errore.