FRMQUERYBUILDER

Aus AvERPedia
Zur Navigation springen Zur Suche springen

Querybuilder - Konfiguration

In dieser Maske besteht die Möglichkeit, eine Query zu erzeugen. Eine Query entspricht einem SQL-Befehlssatz, der bestimmte Daten zu definierten Bedingungen aus der Datenbank zurückliefert.

FRMQUERYBUILDER.jpg


Hauptbereich

Über den Querybuilder können solche SQL-Abfragen erstellt werden, um z. B. Statistiken erzeugen zu können, ohne SQL - Programmierkenntnisse besitzen zu müssen.


Registerkarten

Definierte Abfragen

In dieser Registerkarte können neue Abfragen angelegt werden. Über das grüne Plus (+) werden neue Datensätze angelegt. Mit dem roten Minus (-) können Querys aus der Liste wieder gelöscht, oder mit dem blauen Dreieck � verändert werden. Des Weiteren kann eine komplette Query kopiert werden, z. B. wenn zwei fast identische Querys benötigt werden. Unter Gespeicherte Abfragen stehen evtl. bereits vorhandene Querys. Wird das grüne Plus unter 'Gespeicherte Abfragen' angeklickt, verändert sich die Spalte 'Gespeicherte Abfragen' und es wird eine neue Query eingefügt. In die neu entstandenen Felder können nun beliebige Werte eingetragen werden, die jedoch der besseren Orientierung wegen aussagekräftige und vor allem eindeutige Bezeichnungen tragen sollten. Anhand der hier eingesetzten Werte wird die Query später identifiziert, d. h. sie erscheint im Menüpunkt Query Ausführen mit diesen Daten.

In der Tabelle Gespeicherte Abfragen sind folgende Bestandteile möglich:

  • ID ist eine fortlaufende Nummer, die zur besseren Orientierung vom System vergeben wird
  • Die Spalte Maskenkey entspricht dem Namen der Query
  • In Bez. kann eine beliebige Beschreibung der Query eingetragen werden
  • Userqbkat_Maskenkey lässt eine benutzerdefinierte Kategorie zur besseren Orientierung zu; dies wird im dritten Menüpunkt 'Statistikgenerator Kategorie' festgelegt
  • Userqbkat_Bezeich ist eine dazugehörige Bezeichnung, die an derselben Stelle festgelegt wird
  • Systemvorgabe leer
  • Der Ersteller entspricht dem User, der die Query angelegt hat
  • SQL-Text wird mit (sqltext) gefüllt, sobald ein SQL hinterlegt ist
  • Der Benutzer wird automatisch mit dem jeweiligen User belegt
  • Gespeichert enthält Datum und Uhrzeit der letzten Änderung
  • Userqbkat_Id ist die entsprechende ID der Userqbkat (Statistikgenerator Kategorien)

Werden in ein Userqbkat-Feld Daten eingegeben, so füllen sich die anderen mit den zugehörigen Daten dieses Datensatzes, wie in Statistikgenerator Kategorien angelegt.

In der Tabelle Rechte kann festgelegt werden, wer diese Query benutzen darf.

Im Auswahlfeld können durch einen Doppelklick Benutzer bzw. Gruppen hinzugefügt werden. Diese werden dann unter Rechte angezeigt, d. h. sie wurden erfolgreich hinzugefügt.

Ausgabe festlegen

Unter der Registerkarte Ausgabe festlegen wird angegeben, welche Felder die Query zurückliefern soll. Dazu müssen in der linken Seitenhälfte Tabellen ausgewählt werden, aus denen die Daten angezeigt werden sollen. Diese müssen einzeln markiert werden. Daraufhin erscheinen auf der rechten Seitenhälfte die Spalten der selektierten Tabelle. Durch einen Doppelklick auf die gewünschte Spalte wird diese dem unteren Teil der Seite, der die Auswahl repräsentiert, hinzugefügt. Wesentlich komfortabler lassen sich Tabellen oder Spalten durch die Felder Schnellsuche unterhalb der jeweiligen Listen finden. Es können auch Felder aus verschiedenen Tabellen gewählt werden. Weiterhin müssen nicht alle Felder, die selektiert wurden, in der fertigen Query angezeigt werden. Dies ist durch ein Entfernen des Häkchens in der Spalte Anzeigen möglich.

Die Spalten der unteren Seitenhälfte beinhalten folgende Funktionen:

  • Org. Tabellenname: Gibt den Namen der Tabelle wie oben an (Systemname)
  • Tabellenname: Gibt den Namen wie oben unter Name an (Tabellenbezeichnung)
  • TabAlias: Gibt einen Buchstaben an, Felder derselben Tabelle tragen gleiche Buchstaben; dies ist für die Relationen der Queryfelder wichtig, um die Herkunft des Feldes zu bestimmen
  • Org.Feldname: Gibt den Namen des Feldes wie oben an (Systemname)
  • Feldname: Gibt den Namen wie oben unter Name an (Feldbezeichnung)
  • Formel: Hier lässt sich eine individuelle Formel hinterlegen, falls Werte der Ausgabe manipuliert werden müssen; z.B. Stückzahlen in Tausend
  • FeldAlias: Unter diesem Namen wird das Feld in der Ausgabe angezeigt
  • Anzeigen: Gewählte Felder müssen nicht zwangsläufig ausgegeben werden; dies lässt sich hiermit deaktivieren
  • RF (Reihenfolge): Durch Nummerierung kann hier die Reihenfolge angegeben werden, in der die selektierten Felder ausgegeben werden sollen
  • ASC_DESC: Steht für 'ascending' (aufsteigend), 'descending' (absteigend) und gibt die Sortierreihenfolge an
  • RF bei Sort: Gibt die Reihenfolge an, in der sortiert werden soll
  • Funktion: Durch einen Klick in dieses Feld kann eine Auswahl von vordefinierten Funktionen eingesehen werden, die verwendet werden können
    • Count: Zählt die Anzahl der Datensätze in dieser Spalte
    • Sum: Summiert die enthaltenen Datensätze der Spalte
    • Max: Gibt den Maximalwert dieser Spalte zurück
    • Min: Liefert den Minimalwert der Spalte zurück
    • Avg: Berechnet den Durchschnittswert der Werte in der Spalte
  • SUCHBEDINGUNG: Hier lässt sich eine Suchbedingung angeben, z. B. alles < 10
  • GroupBed: Selbiges als Groupbedingung, d. h. die Werte werden gruppiert

Tabellenverbindung

Unter der Registerkarte Tabellenverbindung wird festgelegt, welche Tabellen miteinander und durch welche Felder verbunden sind. Im Prinzip wird eine logische Verknüpfung der Tabellen erstellt, da eine zusammenhangslose Auflistung der Daten nicht sinnvoll wäre. So muss z. B. ein Artikel seinem Lager zugeordnet sein, damit nicht wahllos irgendwelche Lager dazu ausgegeben werden müssen.

Als Erstes wird die Haupttabelle festgelegt (eine Haupttabelle ist eine Tabelle, die Spalten enthält, aufgrund derer Verknüpfungen zu anderen Tabellen hergestellt werden können; im einfachsten Falle ID-Felder, die den Namen anderer Tabellen tragen). Dies geschieht in der rechten Hälfte (Zu Tabelle). Es muss die gewünschte Tabelle markiert und der Button Ausgewählte Tabelle ist Haupttabelle betätigt werden. Daraufhin wird diese aus der rechten Liste entfernt und in der Seitenmitte eingetragen. Nun muss die Suche nach der Verknüpfung der Haupttabelle mit den restlichen Tabellen, sofern vorhanden, erfolgen. Die Art der Verknüpfung muss ausgewählt werden, indem oben links Normal oder Joins angeklickt wird. Der Unterschied hierbei ist folgender: Bei Normal werden diejenigen Datensätze angezeigt, die auch eine Verknüpfung besitzen, d. h. die sowohl in der Haupttabelle als auch in der Zusatztabelle Daten zum jeweiligen Datensatz haben. Bei Joins werden die Daten der Zusatztabelle praktisch nur angehängt, d. h. alle Datensätze der Haupttabelle werden angezeigt, plus die Datensätze der Zusatztabelle, die die Verknüpfung mitbringt (􀃆 im Allgemeinen umfangreicher).

Dies kann auf drei verschiedene Möglichkeiten erfolgen, welche durch die drei Schaltflächen darüber repräsentiert werden. Zu beachten ist, dass in der linken Hälfte (Von Tabelle) die Haupttabelle gewählt ist.

  • Verbindungsfelder suchen: Mit dieser Schaltfläche sucht das System automatisch nach einer günstigen Verbindung der Haupttabelle zu den übrigen. Es ist jedoch nicht garantiert, dass dieser Vorgang erfolgreich ist, da manche Verknüpfungen aufgrund komplexer Namensgebung oder besonderer Bedingungen nur schwer zu erkennen sind
  • Alle Möglichkeiten anzeigen (nur erfahrene Benutzer): Diese Option erstellt eine Liste aller möglichen Verbindungen, die das System erkennt. Dies stellt die sicherste Wahl dar, da dadurch ein Überblick über alle Möglichkeiten gegeben ist und die optimale Einstellung selbst ausgewählt werden kann. Die gewünschte Verknüpfung muss markiert werden.
  • Verbindung eintragen: Mit dem letzten Button wird die gewählte Verknüpfung, egal ob vom ersten oder zweiten Button erstellt, für die Haupttabelle eingetragen.

Im oberen mittigen Feld erscheinen die jeweils zur Auswahl stehenden Verknüpfungen. In der unteren Seitenhälfte wird weiterhin die Spaltenauswahl, wie auf der vorigen Seite, angezeigt.

SQL - Erzeugen / Testen

Auf der Registerkarte SQL - Erzeugen / Testen kann schließlich der, durch die auf den vorangegangenen Seiten erzeugte, SQL-Befehl angezeigt und die Ergebnismenge begutachtet werden, welche die dadurch erzeugte Query liefert. Sollte das gewünschte Ergebnis geliefert werden, kann durch einen Klick auf den Button Schließen beendet werden. Ansonsten können weitere Anpassungen auf den vorhergehenden Seiten vorgenommen werden, bis man zu den gewünschten Rückgabewerten gelangt.

Durch einen Klick auf den Button SQL-Erzeugen wird der in den vorigen Seiten generierte SQL-Befehl im Feld darüber angezeigt. Dieser kann auch zu Testzwecken oder zur weiteren Verwendung aus dem Feld herauskopiert und z. B. unter dem Menüpunkt Statistiken in das Feld 'SQL-Anweisung' eingefügt werden. Klickt man auf Ausführen / Testen, wird in dem darüber liegenden Feld die Ergebnismenge angezeigt, die der SQL zurückliefert. Dies ist die Wertemenge, die in der fertigen Query steht. Im unteren Seitenteil werden die Spalten wieder wie gehabt angezeigt.


Siehe auch

Hauptmenü