Editor für Datenquellenabfragen
Erstellen Sie Datenquellenabfragen für Tabellen- und Chart-Widgets, um bestimmte Daten aus einer Datenbank auszuwählen. Abfragen werden in Form eines Datenbankfeldes, gefolgt von dem Zeichen =
und einem Operator, einer Zahl oder einer Zeichenkette, erstellt:
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Die Abfragen können durch spezifischen JavaScript-Code angereichert werden:
Zeit- und Datumsberechnung mit momentjs
Operatoren
Operator | Beschreibung |
---|---|
| Bereich von Start- bis Endwert. Start- und Endwerte sind durch Komma getrennt |
| Durch Kommata getrennte Liste von Zahlen oder Zeichenketten, mit denen verglichen werden soll |
| Größer als Wert |
| Kleiner als der Wert |
| Negation eines Ausdrucks |
| Liste von durch Komma getrennten Ausdrücken. Alle müssen erfüllt sein |
| Liste von durch Komma getrennten Ausdrücken. Mindestens einer muss erfüllt sein |
| Prüft, ob ein Wert NULL ist |
Beispiele
Wähle alle Datensätze mit einem Gehalt größer als 40000 aus:
salary=GT(40000)
Wähle alle Datensätze mit anderen Namen als James, John und Joe:
name=NOT(IN(James%2CJohn%2CJoe))
Wähle alle Datensätze mit einer nicht NULL customerId aus:
customerId=NOT(NULL())
Kommas in den Argumenten sollten vermieden werden:
.
-> %2C
Dies ist erforderlich, wenn verschachtelte Operatoren wie im obigen Beispiel verwendet werden.
Beispiele mit momentjs
In den folgenden Beispielen wird params.interval durch ein Datumsauswahl-Widget festgelegt
Wählen Sie nur Datensätze aus, deren Datum zwischen dem Anfangs- und dem Enddatum/Zeitparameter liegt, die von einem Datumsauswahl-Widget bereitgestellt werden. Beginn, Ende und format() werden von der momentjs-Bibliothek verwendet:
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
Auswahl von Datensätzen von vor einem Jahr:
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
Abfrage desselben Monats ein Jahr zuvor, wobei der Monat ohne führende Nullen formatiert wird:
month=${interval(params.interval).begin.subtract(params.sub, 'years').format('M')}
Abfrage des Wochentags (0-6):
weekday=${interval(params.interval).begin.day()}
Parameterabhängige Abfrage
Soll eine Abfrage nur angewendet werden, wenn ein bestimmter Parameter gesetzt ist (z.B. eine Filter-Matrix-Abfrage), können sowohl die Spalte als auch der Abfrage-String in if-Anweisungen eingeschlossen werden:
${filterMatrix.device_name ? 'device_name' : 'none'}=${filterMatrix.device_name ? filterMatrix.device_name : ''}
Wenn der Parameter filterMatrix.device_name definiert ist, wird die Spalte auf 'device_name' und der Abfrage-String auf 'filterMatrix.device_name' gesetzt):
device_name=filterMatrix.device_name
Wenn derselbe Parameter nicht definiert ist, wird die resultierende Abfrage für die wahrscheinlich nicht existierende Spalte 'none' konfiguriert:
none=''