Editor für Datenquellenabfragen
Erstellen Sie Datenquellenabfragen für Tabellen- und Diagramm-Widgets, um bestimmte Daten aus einer Datenbank auszuwählen. Abfragen werden in Form eines Datenbankfeldes gefolgt von einem =-Zeichen und einem Operator, einer Zahl oder einer Zeichenfolge erstellt:
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Die Abfragen können durch spezifischen JavaScript-Code erweitert werden:
Zeit- und Datumsberechnung mit momentjs
Operators
Operator | Beschreibung |
|---|---|
| Bereich vom Start- bis zum Endwert. Start- und Endwerte sind durch Kommas getrennt |
| Durch Kommas getrennte Liste von Zahlen oder Zeichenfolgen, mit denen verglichen werden soll |
| Größer als Wert |
| Kleiner als Wert |
| Negation eines Ausdrucks |
| Liste mit durch Kommas getrennten Ausdrücken. Alle müssen erfüllt sein |
| Liste von durch Kommas getrennten Ausdrücken. Mindestens einer muss erfüllt sein |
| Prüft, ob ein Wert NULL ist |
Beispiele
Wählen Sie alle Datensätze mit einem Gehalt von mehr als 40000 aus:
salary=GT(40000)
Wählen Sie alle Datensätze mit Namen außer James, John und Joe aus:
name=NOT(IN(James%2CJohn%2CJoe))
Wählen Sie alle Datensätze mit einer nicht NULL-Kunden-ID aus:
customerId=NOT(NULL())
Kommas in Argumenten sollten escaped 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 mit einem Datum zwischen dem Start- und Enddatum/-zeitparameter aus, die vom Datumsauswahl-Widget bereitgestellt werden. Begin, end und format() werden aus der momentjs-Bibliothek verwendet:
date=BETWEEN(${interval(params.interval).begin.format()}, ${interval(params.interval).end.format()})
Wählen Sie Datensätze aus dem Vorjahr aus:
year=${interval(params.interval).begin.subtract(1, 'years').format('YYYY')}
Fragen Sie den gleichen Monat ein Jahr zuvor ab, 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
Wenn eine Abfrage nur angewendet werden soll, wenn ein bestimmter Parameter festgelegt ist (z. B. eine Filtermatrixabfrage), können sowohl die Spalte als auch die Abfragezeichenfolge 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 die Abfragezeichenfolge 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 vorhandene Spalte „none” konfiguriert:
none=''