Im ersten Beispiel verwende ich eines der zahlreichen Datumsformate, um eine Kreuztabelle zu erstellen. Danach zeige ich Ihnen, wie die Drill-Down-Funktion verwendet werden kann, um von einer kumulierten Darstellung zur Detail­darstellung zu gelangen.

Voraussetzungen

Zum Zeitpunkt der Erstellung dieses Artikels konnte für die Ausführung der Beispiele nur die englische Version verwendet werden.

Für meine Beispiele verwende ich die von IBM verfügbare Bibliothek QWQCENT. Diese enthält vier Tabellen:

  • ORDERS – Bestellungen, 32.283 Zeilen bzw. Sätze
  • INVENTORY – Artikelbestand, 75 Zeilen bzw. Sätze
  • STORES – Kaufhäuser/Geschäfte, 116 Zeilen bzw. Sätze
  • PLANT – Regionale Niederlassungen, 6 Zeilen bzw. Sätze

Erstellen einer Kreuztabelle (Cross-Tab Report)

Im ersten Beispiel möchte ich Ihnen zeigen, wie man aus dem im letzten Artikel erstellten Bericht über nach Produkttypen kumulierte Umsätze eine sogenannte Kreuztabelle bzw. einen Cross-Tab Report erstellen kann.

Als Ergebnis sollen die Umsätze eines bestimmten Jahres nach Produkttyp in vier Quartalen unterteilt angezeigt werden.

Ausgangspunkt ist unser Beispielprogramm TKL1_01.

Für die Darstellung nach Quartalen benötigen wir zunächst ein neu zu definierendes Feld ‚Quartal‘ . Dieses ergibt sich aus dem Feld ORDERDATE mit der Formatierung ‚Q‘. Die Formatierung ‚Q‘ bezieht sich auf ein Datumsfeld und liefert die Quartale 1 bis 4. Eine Übersicht aller Datumsformate wird in der Tabelle von Abbildung 1 gezeigt.

Anzeigeoption

Bedeutung

Ergebnis

D

Tag

zeigt einen Wert von 1 bis 31 für den Tag an

M

Monat

zeigt einen Wert von 1 bis 12 für den Monat an

Y

Jahr

zeigt das Jahr zweistellig an

YY

Jahr vierstellig

zeigt das Jahr vierstellig an

T

Umsetzung Monat

wird mit ‚M‘ für Monat verwendet: ‚TM‘ oder ‚MT‘ und liefert die dreistellige Abkürzung des Monatsnamens in Großbuchstaben (JAN)

t

Umsetzung Monat

wie ‚T‘, jedoch mit Groß-/Kleinschreibung: Jan

TR

Umsetzung Monat oder Tag

wie ‚T‘, jedoch wird der komplette Name angezeigt

tr

Umsetzung Monat oder Tag

wie ‚TR‘, der komplette Name in Groß-/ Kleinschreibung

Q

Quartal

zeigt die Quartale Q1 bis Q4 an

W

Wochentag

zeigt die Nummer des Wochentags 1 bis 7 an (Montag =1). Zusammen mit anderen Optionen wird Wochentag dreistellig in Großbuchstaben dargestellt

w

Wochentag

wie ‚W‘, aber mit Groß-/Kleinschreibung

WR

Wochentag

wie ‚W‘, aber der Name wird komplett in Großbuchstaben dargestellt

wr

Wochentag

wie ‚WR‘, aber mit Groß-/Kleinschreibung

JUL

Julianisches Format

zeigt das Datum im julianischen Format

YYJUL

Julianisches Format

zeigt das Datum im julianischen Format YYYYDDD

Abbildung 1:  Anzeigeoptionen für Datumsfelder

Die Erstellung eines neuen Feldes kann über die Anzeige der verfügbaren Felder durch Anklicken des Taschenrechnersymbols erfolgen (siehe Abbildung 2).

Abbildung 2

Das neue Feld nenne ich ‚Quartal‘, die Formatierung ‚Q‘ wird verwendet für das Datumsfeld ORDERDATE:

Abbildung 3

Auf die gleiche Art und Weise erstellen wir noch ein Feld ‚Jahr‘ mit der Formatierung ‚YY‘ für ORDERDATE.

Dieses wird benötigt, um den Zeitraum 2007 auszuwählen.

Die beiden erstellten Felder ‚Quartal‘ und ‚Jahr‘ sind nun in der Sicht der verfügbaren Felder enthalten:

Abbildung 4

Die Auswahl der Umsätze für das Jahr 2007 erfolgt über ‚Selection Criteria‘ (Auswahlkriterien). Nur die Sätze für das ‚Jahr‘ = 2007 sollen verwendet werden.

Sobald für die Art des zu vergleichenden Feldes ‚Values‘ (Werte) ausgewählt wird, werden die möglichen Werte aus der Datei ORDERS angezeigt (siehe Abbildung 5).

Abbildung 5

Damit eine quartalsmäßige Darstellung erfolgt, wird das Feld ‚Quartal‘ in den Bereich ‚Sort across‘ übertragen:

Abbildung 6

Nachdem die Kopfzeile noch angepasst wurde (das ausgewählte Jahr wurde als Variable übertragen), sollte der Bericht folgendes Aussehen haben:

Abbildung 7

Vergessen Sie bitte nicht, die Anwendung zu sichern (TKL1_03).

Erstellen eines Drill-Down-Berichts

Bisher wurden Berichte erstellt, die als Oberbegriff den Produkttyp PRODUCTTYPE verwendeten. Die nächste darunter liegende Stufe ist die Produktkategorie PRODUCTCATEGORY. In unserem Beispiel soll es möglich sein, von der obersten Stufe Produkttyp in die darunter liegende Produktkategorie zu verzweigen. Diesen Vorgang nennt man Drill-Down.

Dazu erstelle ich zunächst einen neuen Bericht, der innerhalb eines Produkttyps auch die zugehörigen Produktkategorien anzeigt. Diesen Bericht nenne ich TKL1_04.

Das Ergebnis dieses Berichts ist in Abbildung 8 zu sehen. Er erhält neben den Zwischensummen für den Produkttyp auch eine bedingte Darstellung des Gewinns je Produktkategorie. Der Bericht wird nach Gewinn absteigend sortiert. Eine Rangfolgespalte wurde hinzugefügt.

Der so erstellte Bericht erwartet als Eingabeparameter das Feld PRODUCTTYPE.

Abbildung 8

Als Ausgangspunkt für die Drill-Down-Funktion verwenden wir wieder den ersten Bericht TKL1_01.

Durch Markieren des Feldes PRODUCTTYPE im ‚Sort by‘-Bereich erscheint unter ‚Feldoptionen‘ der Auswahlknopf ‚Drill down‘. Dieser wird angeklickt.

Abbildung 9

Nach der Auswahl ‚Execute procedure (FOCEXEX) wird die Domain TECHKNOW angezeigt. Aus dieser wähle ich den oben beschriebenen Bericht TKL1_04 aus.

Abbildung 10

Als Parameter füge ich noch das Feld PRODUCTTYPE hinzu:

Abbildung 11

Speichern Sie den Bericht unter dem Namen TKL1_05 und führen Sie ihn aus.

Die angezeigten Produkttypen sind nun mit einem Hyperlink versehen:

Abbildung 12

Die Auswahl von Produkttype ‚Audio‘ sollte dann das folgende Bild zeigen:

Abbildung 13

Genial einfach!

Im nächsten Schritt könnte nun ein Drill-Down für die Produktkategorie erfolgen. Die Realisierung dürfte jetzt nicht mehr allzu schwierig sein.

Vorschau für die nächste Folge:

Zentrales Thema der nächsten Folge wird Query/400, das Vorgängerprodukt von DB2 Web Query sein. Zum einen werde ich zeigen, wie bestehende Abfragen von Query/400 nach DB2 Web Query übernommen werden können. Zum anderen werde ich Unterschiede zwischen den beiden Produkten aufzeigen. Auch werde ich weitere Funktionen des Report-Assistenten vorstellen.