Abfrageeditor für Datenquellen

Erstellen Sie Datenquellenabfragen für Tabellen- und Diagramm-Widgets, um bestimmte Daten aus einer Datenbank auszuwählen. Abfragen werden in Form eines Datenbankfelds erstellt, 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 angereichert werden:

  • Zeit- und Datumsberechnung mit momentjs

Operatoren

Operator

Beschreibung

BETWEEN()

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

IN()

Durch Kommas getrennte Liste von Zahlen oder Zeichenfolgen zum Vergleichen

GT()

Größer als der Wert

LT()

Niedriger als der Wert

NOT()

Negation eines Ausdrucks

AND()

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

OR()

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

NULL()

Überprüft, ob ein Wert NULL ist

Beispiele

Wählen Sie alle Datensätze mit einem Gehalt über 40000 aus:

salary=GT(40000)

Wählen Sie alle Datensätze mit anderen Namen als James , John und Joe aus:

name=NOT(IN(James%2CJohn%2CJoe))

Wählen Sie alle Datensätze mit einer Kunden-ID ungleich NULL aus:

customerId=NOT(NULL())

Kommas in Argumenten sollten maskiert 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 gesetzt

Wählt nur Datensätze mit einem Datum zwischen dem Datums-/Uhrzeitparameter „Begin“ und „Ende“ aus, der von einem Datumsauswahl-Widget bereitgestellt wird. „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 desselben Monats vom Vorjahr, wobei der Monat ohne führende Nullen formatiert ist:

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 ausgeführt werden soll, wenn ein bestimmter Parameter gesetzt 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 der gleiche Parameter nicht definiert ist, wird die resultierende Abfrage für die wahrscheinlich nicht vorhandene Spalte „none“ konfiguriert:

 none=''