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 Detaildarstellung 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.