Editor für Datenquellenabfragen
Erstellen Sie Datenquellenabfragen für Tabellen- und Diagramm-Widgets, um bestimmte Daten aus einer Datenbank auszuwählen. Abfragen werden in der Form eines Datenbankfelds aufgebaut, gefolgt vom Zeichen „=“ und einem Operator, einer Zahl oder einer Zeichenfolge:
database_string=my string database_number=1234 database_numger=BETWEEN(3, 6)
Die Abfragen können durch spezifischen JavaScript-Code erweitert werden:
Zeit- und Datumsberechnungen 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 der Wert |
| Wert, der kleiner ist als |
| Negation eines Ausdrucks |
| Liste von 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
Alle Datensätze mit einem Gehalt von mehr als 40000 auswählen:
salary=GT(40000)
Wähle alle Datensätze aus, deren Namen nicht James, John oder Joe lauten:
name=NOT(IN(James%2CJohn%2CJoe))
Alle Datensätze mit einer nicht-NULL-Kunden-ID auswählen:
customerId=NOT(NULL())
Kommas in Argumenten sollten mit einem Escape-Zeichen versehen werden:
. -> %2C
Dies ist erforderlich, wenn verschachtelte Operatoren wie im obigen Beispiel verwendet werden.
Beispiele mit Moment.js
In den folgenden Beispielen wird `params.interval` über ein Datumsauswahl-Widget festgelegt
Wähle nur Datensätze mit einem Datum aus, das zwischen dem Start- und Enddatum/-zeit liegt, die von einem 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')}
Abfrage des gleichen 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 dann angewendet werden, wenn ein bestimmter Parameter gesetzt ist (z. B. bei einer Filter-Matrix-Abfrage), 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
Ist derselbe Parameter nicht definiert, wird die resultierende Abfrage für die wahrscheinlich nicht vorhandene Spalte „none“ konfiguriert:
none=''