Cognos
Anbindung von Cognos an EXASolution
Cognos kann EXASolution als eine generische relationale Datenquelle über den EXASOL ODBC Treiber ansprechen. Im weiteren werden wir einen Report auf Basis unserer Beispieldatenbank erstellen.
Diese Anleitung wurde mit Hilfe von Cognos 8.4.1 erstellt.
Konfiguration einer ODBC DSN
Bitte beachten Sie, dass der EXASOL ODBC Treiber auf den selben Rechnern installiert und konfiguriert werden muss, auf denen auch Cognos-Server und Frameworkmanager laufen. Sie können entweder eine System DSN oder eine Nutzer DSN für den Cognos-User erstellen. Die DSN-Namen auf beiden Rechnern müssen unbedingt identisch sein.
Framework Manager: ein Datenmodell erstellen
Zuerst muss eine neue relationale Datenquelle erstellt werden, die die oben erzeugte DSN benutzt. Hierbei sind keine besonderen Einstellungen nötig.
Im Metadaten Wizard wird dann eine Datenbasis für das Metadatenmodell ausgewählt. Sie können Tabellen und Views einzeln oder Schemaweise auswählen.

Ein Datenmodell wird erstellt, indem Tabellenrelationen und ihre Kardinalität festgelegt werden. Anhand dieser Relationen "weiß" das Reporting Studio, wie die Tabellen verknüpft sind. Daher werden Sie dies beim Report-Design nicht mehr angeben müssen.
Das nachfolgende Beispiel zeigt, dass die Tabellen ITEMS und PRODUCT über eine PRODUCT_NO verbunden sind. Die Tabellen stehen in einer 1-zu-(0..n) Beziehung: Produkte sind eindeutig, ein Produkt kann in der Tabelle ITEMS mehrfach oder gar nicht vorhanden sein. Der letzte Fall tritt dann auf, wenn das Produkt bisher nicht verkauft wurde.
Zusätzlich muss für alle Felder deren Nutzungsart definiert werden. Für die Tabelle CITIES wird
- CITY_ID als Identifier,
- NAME als Attribute
- und COUNTRY_ID als Identifier definiert.
In der bereits erwähnten Tabelle ITEMS sollen Felder wie QUANTITY, ITEM_PRICE und ORDER_DATE als Fakten markiert werden, so weiß das Programm, dass sie in Berechnungen verwendet werden können.

Framework Manager: Veröffentlichung des Datenmodels
Damit andere Cognos-Tools mit dem erstellten Datenmodell arbeiten können, muss ein Package erstellt und veröffentlicht werden. Dabei wird es auf den Server kopiert und somit anderen Nutzern und Programmen zur Verfügung gestellt.
Klicken Sie hierfür mit der rechten Maustaste auf den Knoten "Packages" in dem Übersichtsbaum links und wählen Sie den Punkt "Create" im Kontextmenü. Anschließend können Sie das erstellte Package über den Publish Wizard veröffentlichen. Hier sind keine speziellen Einstellungen erforderlich, auch an dem "Variable Function Set" müssen Sie keine Veränderungen vornehmen.
Report Studio: Erstellen eines Reports
Im Reporting Studio können wir das zuvor erstellte Package als Basis für unseren neuen Bericht auswählen.

Unser Ziel ist ein Bericht, der uns für jeden Kunden das letzte Bestelldatum und die gesamte Bestellsumme anzeigt. Auf dieser Basis kann man ein einfaches Ranking der Kunden durchführen: Kunden, die vor kurzem bestellt haben und insgesamt viel bestellen, werden bevorzugt.
Zunächst platzieren wir mittels Drag&Drop folgende Felder:
- CUSTOMER_NO
- LAST_NAME
- CITY
- COUNTRY
Als nächstes wählen wir das Feld ORDER_DATE und setzen Aggregate Function im "Properties"-Fenster auf "MAXIMUM". Somit haben wir bereits das letzte Bestelldatum.

Nun können wir wie im Screenshot gezeigt eine Ranking-Funktion erstellen, die Kunden bevorzugt, die zuletzt bestellt haben und einen größeren Umsatz erzeugt haben.
Im Ergebnis sehen wir auch Kunden, die noch nie bestellt haben. Dies ist auf unser Metadatenmodell zurückzuführen. Die Tabelle CUSTOMERS steht mit der Tabelle ORDERS in einer 0..n Beziehung:
- Each CUSTOMERS has zero or more ORDERS (outer join)
- Each ORDERS has one and only one CUSTOMERS
Das heißt, auch Kunden, die keine Bestellungen abgegeben haben, werden bei den Berichten berücksichtigt. Bei Bedarf können Sie diese Zeilen aus Ihrem Bericht ausschließen, in dem Sie einen Filter setzen, der nur die Zeilen erlaubt, in denen die Spalte ORDER_SUM nicht leer ist.




















