Im aktuellen Artikel wird gezeigt, wie das Synonym, welches für eine Stored Procedure mit zwei Antwortmengen erstellt und mit verschiedenen Hierarchien versehen wurde, für Reports, Diagramme und Visualisierungen eingesetzt werden kann.  

Was bisher geschah

In den letzten Artikeln habe ich eine SQL Stored Procedure vorgestellt, die zwei Ergebnismengen erzeugt. Diese beiden Mengen sollen in Db2 Web Query als Input verwendet werden, um  verschiedene Reports zu erzeugen. Den Code für diese Prozedur, die ich SPTKL nannte, finden Sie weiter unten. Die Vorbereitungen und Erstellung des Synonyms, das für die Verarbeitung mit Db2 Web Query erforderlich ist, sind in den vorherigen Artikeln zu dieser Reihe beschrieben.

Im letzten Artikel wurde das Synonym mit verschiedenen hierarchischen Dimensionen versehen. Diese können nun benutzt werden, um Abhängigkeiten und Drilldown-Funktionalitäten in Reports, Diagramme und Visualisierungen zu realisieren.

Die als Beispiel verwendete Stored Procedure (SP):

— Stored Procedure zum Vergleichen der Monatswerte Umsatz, Kosten und Profit eines Jahres mit denen des Vorjahres

CREATE OR REPLACE  PROCEDURE Qwqcent.SPTKL()

DYNAMIC RESULT SETS 2

LANGUAGE SQL

BEGIN

DECLARE C1 CURSOR FOR

WITH A AS (

SELECT Country, Region, State, City, YEAR(Orderdate) AS Ordyy,

MONTH(Orderdate) AS Ordm, MONTHNAME(Orderdate) AS Ordmn,

(Linetotal * Quantity) AS Revenue, (Costofgoodssold * Quantity) AS Extcost,

(Linetotal * Quantity) – (Costofgoodssold * Quantity) AS Extprofit

FROM Qwqcent.Orders O

JOIN Qwqcent.Stores S

ON O.Storecode = S.Storecode

)

SELECT Country, Region, State, City, Ordyy,

Ordyy || ‚-‚ || Substr(Digits(Ordm), 9, 2) AS Period, Ordmn,

Sum(Revenue) AS Periodrev, Sum(Extcost) AS Periodcost,

Sum(Extprofit) AS Periodprofit

FROM A

GROUP BY Country, Region, State, City, Ordyy, Ordyy || ‚-‚ ||

Substr(Digits(Ordm), 9, 2), Ordmn

ORDER BY Country, Region, State, City, Ordyy, Ordyy || ‚-‚ ||

Substr(Digits(Ordm), 9, 2), Ordmn Desc;

DECLARE C2 CURSOR FOR

WITH A AS (

SELECT Producttype, Productcategory, Productname, Model, O.Productnumber,

Year(Orderdate) AS Ordyy, Month(Orderdate) AS Ordm,

Monthname(Orderdate) AS Ordmn, (Linetotal * Quantity) AS Revenue,

(Costofgoodssold * Quantity) AS Extcost,

(Linetotal * Quantity) – (Costofgoodssold * Quantity) AS Extprofit

FROM Qwqcent.Orders O

JOIN Qwqcent.Inventory I

ON O.Productnumber = I.Productnumber

)

SELECT Producttype, Productcategory, Productname, Model, Productnumber,

Ordyy || ‚-‚ || Substr(Digits(Ordm), 9, 2) AS Period, Ordmn,

Sum(Revenue) AS Periodrev, Sum(Extcost) AS Periodcost,

Sum(Extprofit) AS Periodprofit

FROM A

GROUP BY Producttype, Productcategory, Productname, Model, Productnumber, Ordyy ||

‚-‚ || Substr(Digits(Ordm), 9, 2), Ordmn

ORDER BY Producttype, Productcategory, Productname, Model, Productnumber, Ordyy ||

‚-‚ || Substr(Digits(Ordm), 9, 2), Ordmn DESC;

OPEN C1;

OPEN C2;

SET RESULT SETS CURSOR C1, CURSOR C2;

END;

 

Das Synonym wurde dahingehend bearbeitet, dass für jede Ergebnismenge (Answerset1 und Answerset2) in der Kategorie „Dimensionen“ eine Hierarchie erstellt wurde.

Bei Answerset1 wurden die Felder Country, Region, State, City zu einer Geografischen Hierarchie zusammengefasst.

Answerset2 wurde mit einer Produkthierarchie versehen, die aus den Feldern Producttype, Productcategory, Model, Productnumber besteht.

Dimensionen für Answerset1 und Answerset2 und zwei HierarchienQuelle: Bär

Dimensionen für Answerset1 und Answerset2 und zwei Hierarchien

 

Hinweis: Das mit den Dimensionen und Hierarchien erweiterte Synonym habe ich unter folgendem Namen gespeichert: a_tkl/tkl_sptkl_dim.

Verwendung der im Synonym implementierten Dimensionen und Hierarchien

Sobald man einen Report mit dem erweiterten Synonym erstellt, erhält man folgende Darstellung mit dem InfoAssist:

Daten von Answerset1 und Answerset2 für Report mit dem InfoAssistQuelle: Bär

Daten von Answerset1 und Answerset2 für Report mit dem InfoAssist

 

Beispiele für die Verwendung von dimensionalen Hierarchien

Wie können die zuvor erstellten Hierarchien nun in Reports angewendet werden? Schauen wir uns zunächst ein Beispiel an mit dem Report-Typ Auto-Drilldown.

Beispiele Auto-Drilldown

Für den Report verwende ich das Synonym a_tkl/tkl_sptkl_dim, das zuvor mit den dimensionalen Hierarchien erstellt wurde. Die Hierarchien werden in der Feldliste am Ende dargestellt (siehe folgende Abbildung).

Für das Beispiel soll die Produkthierarchie von Answerset2 verwendet werden.

Report mit der Produkthierarchie von Answerset2 erstellenQuelle: Bär

Report mit der Produkthierarchie von Answerset2 erstellen

 

Mit der Menü-Auswahl wird das zugehörige Band geöffnet. Öffnen Sie die Kategorie Ausführen mit und aktivieren Sie Auto-Drilldown.

Report mit Auto-Drilldown aktivierenQuelle: Bär

Report mit Auto-Drilldown aktivieren

 

Erst beim Ausführen zeigt sich die aktivierte Drilldown-Funktionalität.

Report mit Auto-Drilldown Quelle: Bär

Report mit Auto-Drilldown

 

Die Produkttypen sind unterstrichen und mit einem Link versehen. Gemäß der im Synonym implementierten Produkthierarchie kann von Producttype zur nächst tieferen Ebene Productcategory verzweigt werden. Die unterste Ebene ist das Feld Productnumber beziehungsweise Productname.

Report mit Auto-Drilldown auf unterster EbeneQuelle: Bär

Report mit Auto-Drilldown auf unterster Ebene

 

Auf die gleiche Art und Weise kann eine Drilldown-Funktionalität mit dem Answerset1 und der Geografischen Hierarchie erstellt werden.

Diagramm mit Auto-Drilldown Quelle: Bär

Diagramm mit Auto-Drilldown

 

Diagramm mit Auto-Drilldown Country-->RegionQuelle: Bär

Diagramm mit Auto-Drilldown Country–>Region

 

Visuelle Darstellungen von Daten

Wie zuvor gezeigt, können die Techniken auch für Diagramme eingesetzt werden. Im folgenden Beispiel werden mit dem InfoAssist ein Report und zwei Diagramme anhand derselben Datenmenge der Stored Procedure dargestellt. Die Darstellung erfolgt auf einer Seite mit drei verschiedenen Bereichen. Die Seite wird interaktiv aktualisiert, sobald eine Auswahl, ein Filter oder ein Drilldown in einem der Bereiche erfolgt.

Visuelle Darstellung in drei BereichenQuelle: Bär

Visuelle Darstellung in drei Bereichen

 

Wird beispielsweise im Ringdiagramm (= eine spezielle Form eines Kreisdiagramms) ein Land wie Spanien (=das grüne Teilstück) ausgewählt, so kann ein Drilldown auf die nächsttiefere Ebene REGION durchgeführt werden (siehe obige Abbildung). Die Darstellung in allen drei Bereichen wird umgehend automatisch aktualisiert (siehe nächste Abbildung).

Geänderte Visuelle Darstellung in den drei Bereichen nach Drilldown für SpanienQuelle: Bär

Geänderte Visuelle Darstellung in den drei Bereichen nach Drilldown für Spanien

 

Neue Visuelle Daten-Seiten

Mit der Version 2.3 wurden die visuellen Möglichkeiten erweitert. Dies betrifft unter anderem auch das zweite Entwicklungstool DESIGNER. Damit kann eine Seite mit mehreren voneinander abhängigen Bereichen erstellt werden. Diese Bereiche werden Container genannt. Diese Visualisierungen sind dynamisch und können daher zur detaillierten Untersuchung der Daten verwendet werden.

Das folgende und auch letzte Beispiel zeigt eine Darstellung mit fünf verschiedenen und voneinander abhängigen Bereichen oder Containern. Die Filterauswahl kann über das Jahr und die Produkte erfolgen. Damit werden dann die Profitinformationen in verschiedenen Arten dargestellt.

Wenn der Benutzer das Jahr ändert, werden die drei oberen Diagramme neu kalibriert bzw. aktualisiert.

Wenn die Produktauswahl getroffen wird, werden beiden unteren Diagramme aktualisiert.

Visuelle Daten-Seite mit fünf Bereichen (=Container)Quelle: Bär

Visuelle Daten-Seite mit fünf Bereichen (=Container)

 

Vorschau: In den nächsten Artikeln geht es  um die Verwendung von IBM i Services mit Db2 Web Query.

Bis dahin wünsche ich Ihnen weiterhin viel Spaß beim Vermehren Ihrer Fertigkeiten.

Der Autor Theo Bär schreibt regelmäßig für den TechKnowLetter.

Sie erreichen ihn unter

EDV-Beratung Theo Bär

Ringmauerweg 1

69250 Schönau

Tel.: (+49) 6228 912 630

E-Mail: [info@edv-baer.com]

Sechs Ausgaben des TechKnowLetters erhalten Sie hier für 88 Euro.