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:

Operatoren

Operator

Beschreibung

BETWEEN()

Bereich von Start- bis Endwert. Start- und Endwerte sind durch Komma getrennt

IN()

Durch Kommata getrennte Liste von Zahlen oder Zeichenketten, mit denen verglichen werden soll

GT()

Größer als Wert

LT()

Kleiner als der Wert

NOT()

Negation eines Ausdrucks

AND()

Liste von durch Komma getrennten Ausdrücken. Alle müssen erfüllt sein

OR()

Liste von durch Komma getrennten Ausdrücken. Mindestens einer muss erfüllt sein

NULL()

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=''