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:

Operators

Operator

Beschreibung

BETWEEN()

Bereich vom Start- bis zum Endwert. Start- und Endwerte sind durch Kommas getrennt

IN()

Durch Kommas getrennte Liste von Zahlen oder Zeichenfolgen, mit denen verglichen werden soll

GT()

Größer als Wert

LT()

Kleiner als Wert

NOT()

Negation eines Ausdrucks

AND()

Liste mit durch Kommas getrennten Ausdrücken. Alle müssen erfüllt sein

OR()

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

NULL()

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