Editor di query della sorgente dati
Crea query di origine dati per widget di tabelle e grafici per selezionare dati specifici da un database. Le query sono costruite sotto forma di un campo del database seguito dal segno = e da un operatore, un numero o una stringa:
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Le query possono essere arricchite da codice JavaScript specifico:
Calcolo di ora e data con momentjs
Operatori
Operatore | Descrizione |
|---|---|
| Intervallo dal valore iniziale al valore finale. I valori iniziali e finali sono separati da virgola |
| Elenco separato da virgole di numeri o stringhe da confrontare |
| Valore maggiore di |
| Valore inferiore |
| Negazione di un'espressione |
| Elenco di espressioni separate da virgola. Tutte devono essere soddisfatte |
| Elenco di espressioni separate da virgola. Almeno una deve essere soddisfatta |
| Verifica se un valore è NULL |
Esempi
Seleziona tutti i record con uno stipendio superiore a 40000:
salary=GT(40000)
Seleziona tutti i record con nomi diversi da James, John e Joe:
name=NOT(IN(James%2CJohn%2CJoe))
Seleziona tutti i record con un customerId non NULL:
customerId=NOT(NULL())
Le virgole negli argomenti devono essere precedute dal carattere di escape:
. -> %2C
Ciò è necessario se si utilizzano operatori nidificati come nell'esempio sopra riportato.
Esempi con momentjs
Negli esempi seguenti, params.interval è impostato da un widget di selezione della data
Seleziona solo i record con una data compresa tra il parametro di data/ora di inizio e fine fornito da un widget di selezione della data. Begin, end e format() sono utilizzati dalla libreria momentjs:
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
Seleziona i record di un anno prima:
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
Eseguire una query sullo stesso mese di un anno prima con il mese formattato senza zeri iniziali:
month=${interval(params.interval).begin.subtract(params.sub, 'years').format('M')}
Esegui una query sul giorno della settimana (0-6):
weekday=${interval(params.interval).begin.day()}
Query dipendente dai parametri
Se una query deve essere applicata solo se è impostato un parametro specifico (ad esempio una query con matrice di filtro), sia la colonna che la stringa di query possono essere racchiuse in istruzioni if:
${filterMatrix.device_name ? 'device_name' : 'none'}=${filterMatrix.device_name ? filterMatrix.device_name : ''}
Se è definito il parametro filterMatrix.device_name, la colonna sarà impostata su "device_name" e la stringa di query su "filterMatrix.device_name"):
device_name=filterMatrix.device_name
Se lo stesso parametro non è definito, la query risultante sarà configurata per la colonna probabilmente inesistente "none":
none=''