myfactory Online-Hilfe

So erstellen Sie Ihre eigene SQL-Datenquelle für Ihre Smart Reports

Neben den standardmäßig angebotenen myfactory-Datenquellen zur Befüllung von Smart Reports haben Sie auch die Möglichkeit, Ihre eigenen Datenquellen mithilfe grundlegender SQL-Kenntnisse sowie einem Datenbankmanagementsystem (z.B. dem Microsoft SQL Server Management Studio; siehe Screenshots) auf Datenbankebene zusammenzustellen und als Datenquelle für Positionsblöcke im Smart Report heranzuziehen.

SQL-Datenquelle auf Datenbankebene zusammenbauen
SQL-Datenquelle im Smart Report-Designer einsetzen

Konkret handelt es sich um eigene, freie SQL-Anweisungen, welche in der Datenbank zur Verfügung gestellt werden können. Für diese eigenen Statements gibt es zwei Tabellen in der Anwendungsdatenbank, welche als Voraussetzung für das Anbieten eigener Datenquellen manuell befüllt werden müssen: tdSmartReportSQLDataSource und tdSmartReportSQLDataSourceParams.

Eigene SQL-Datenquelle erstellen 0

SQL-Datenquelle auf Datenbankebene zusammenbauen

Beginnen wir in diesem Hilfekapitel mit der Tabelle tdSmartReportSQLDataSource: Damit lässt sich eine individuelle SQL-Datenquelle erstellen. In einer neuen Zeile vergeben Sie dazu in der ersten Spalte "SourceName" bitte einen internen Namen für Ihre SQL-Datenquelle. Ganz wichtig ist, dass dieser Name auch eindeutig ist.

In der zweiten Spalte "SourceDesc" haben Sie dann die Möglichkeit, eine griffige, öffentlich einsehbare Bezeichnung für Ihre Datenquelle anzugeben. Diese wird Ihnen dann später in der Oberfläche des Smart Report-Designers im Dialogfenster der Datenquellenauswahl angezeigt.

In der nachfolgenden Spalte "InfoText" können Sie optional noch einen längeren Beschreibungstext eingeben, um deutlich und ausführlich zu erklären, welche Daten Ihre Datenquelle eigentlich genau laden soll. Auch dieser Text wird anschließend in der Anwendung bei der SQL-Datenquellenauswahl dargestellt.

Eigene SQL-Datenquelle erstellen 1

In den darauffolgenden Spalten wird dann das eigentliche SQL-Statement zusammengesetzt. Hierbei entscheidet sich, wie die Daten letztlich geladen werden sollen.

Mit der Spalte "SQLFields“ geben Sie zunächst kommasepariert all jene Datenbankfelder an, die Ihre SQL-Datenquelle für den Smart Report anbieten soll. In unserem Screenshot-Beispiel werden etwa die Datenbankfelder "OrderNumber" / "OrderTypeInitials" / "OrderTypeDesc" sowie "OrderDate" für die Datenquelle herangezogen. Bitte beachten Sie, dass diese Felder dann auch im Smart Report-Designer in der Dropdown-Liste des Feldtyps "Datenfeld" zur Auswahl stehen. Alternativ können Sie auch einfach ein Asterisk-Zeichen (*) in die Spalte "SQLFields" eintragen. In diesem Fall stehen Ihnen im Smart Report alle Datenbankfelder als Datenauswahl zur Verfügung.

Da es oft unpraktisch ist, mit den internen, englischen Namen der Datenbankfelder zu arbeiten, empfehlen wir Ihnen, mithilfe des 'AS'-Schlüsselworts die Alias-Funktion von SQL zu nutzen, um die in dieser Spalte eingetragenen Felder ins Deutsche zu übersetzen.

Beispiel 1: OrderTypeDesc AS 'Belegart'
Beispiel 2: tdSalesOrders.OrderTypeInitials AS 'Belegkürzel'

Letzteres Beispiel kommt etwa dann zum Tragen, wenn für das System nicht eindeutig ist, welcher SQL-Tabelle ein bestimmtes Datenbankfeld zuzuordnen ist.

Die darauffolgende Spalte "SQLTables" beinhaltet dann die eigentliche Datenbanktabelle, aus welcher die SQL-Datenquelle ihre Daten beziehen soll. Sie haben hier auch die Möglichkeit, kommasepariert mehrere SQL-Tabellen einzutragen (z.B. tdSalesOrders, tdSalesOrderPos, tdSalesOrderTypes)

Die Spalte "SQLOrderBy" bietet Ihnen noch die Möglichkeit, Ihre im Smart Report auszugebenden Daten nach einem gewissen Parameter respektive Datenbankfeld zu sortieren. In diesem Beispiel ist es das Belegdatum. Mit den SQL-Schlüsselwörtern "ASC" bzw. "DESC" lässt sich die Ausgabe in auf- bzw. absteigender Reihenfolge sortieren.

Eigene SQL-Datenquelle erstellen 2

Die einzelnen Einträge in den Tabellenspalten lesen sich dann in ihrer Gesamtheit wie eine zusammengesetzte SELECT-Anweisung:
SELECT [ Datenbankfeld ] FROM [ Tabelle ]

Eigene SQL-Datenquelle erstellen 3

Dies ist auch schon alles, was Sie für Ihre erste vollständige SQL-Datenquelle benötigen.

SQL-Datenquelle im Smart Report-Designer einsetzen

Im Smart Report-Designer der myfactory können Sie dann Ihre eigens erstellte SQL-Datenquelle in Ihren Bericht laden und die darin enthaltenen Daten zu Auswertungszwecken und zur weiteren Filterung der Informationen vorhalten.

Hierzu wählen Sie in einem neuen, leeren Bericht im Smart Report-Designer zunächst einen Positionsblock über die Schaltfläche [ Neue Sektion ] aus.

Eigene SQL-Datenquelle erstellen 4

Eigene SQL-Datenquelle erstellen 5

Im Anschluss daran laden Sie anhand des [ Auswählen ]-Buttons bitte die für den Positionsblock vorgesehenen Daten aus Ihrer SQL-Datenquelle in den Designer.

Eigene SQL-Datenquelle erstellen 6

In dem zugehörigen Dialogfenster navigieren Sie dazu zu dem Reiter "System SQL Datenquelle" und selektieren aus der Auswahlliste Ihre erzeugte Datenquelle. Dort sehen Sie dann auch die Beschreibung, die Sie zuvor als Infotext auf Datenbankebene hinterlegt haben.

Eigene SQL-Datenquelle erstellen 7

Nach einem Klick auf [ OK ] werden die Daten aus Ihrer Datenquelle in den Smart Report geladen und stehen Ihnen somit zur Verfügung.

Eigene SQL-Datenquelle erstellen 8

Anschließend können Sie noch eine neue Sektion vom Typ "Position" sowie neue Datenfelder zur Darstellung Ihrer Datenquellendaten hinzufügen.

Eigene SQL-Datenquelle erstellen 9

Jedem Datenfeld ist eine Dropdown-Liste "Datenauswahl" zugeordnet. Hierin finden Sie die (übersetzten) Datenbankfelder Ihrer SQL-Datenquelle. Wenn Sie in dieser Auswahlliste noch keine Datenauswahl getroffen haben, jedoch schon zuvor ein Datenfeld eingefügt haben, dann erhalten Sie für das betreffende Datenfeld zunächst noch die Fehlermeldung "Ungültige Datenauswahl".

Eigene SQL-Datenquelle erstellen 10

Diese verschwindet jedoch, sobald Sie eine Belegung für dieses Datenfeld auswählen (hier: das Belegdatum). Nun sehen Sie bei dem Datenfeld automatisch alle Inhalte, die Ihnen Ihre Datenquelle für dieses Datenbankfeld zurückliefert.

Eigene SQL-Datenquelle erstellen 11

Wie Sie die in den Smart Report geladenen Daten aus Ihrer eigenen SQL-Datenquelle dergestalt filtern bzw. einschränken können, dass Sie diese zu Auswertungszwecken heranziehen können, erfahren Sie im Hilfekapitel "So filtern Sie die Daten Ihrer SQL-Datenquelle".

Zurück zum Anfang

Detaillierte Informationen zu diesem Thema: