Übersicht: Report Studio
Cognos8 Content Store lässt sich nicht mit MSSQL Server konfigurieren
Manchmal sind es die Kleinigkeiten, die einen bei dem Installieren von Software Stunden kosten können. Hier ein Tipp zur Installation von Cognos8 mit einem MSSQL Server Content Store: Sollte nach dem befolgen der Schritte in der Cognos Installationsanleitung der Test der Verbindung zur Datenbank im Cognos Configuration scheitern, liegt dies mit großer wahrscheinlichkeit an den Einstellungen des MSSQL Server.
Unsere Empfehlung: Nutzen Sie nicht die Windows-Authentifizierung sondern einen Benutzer, sondern die SQL-Server Authentifizierung, bei der ein fest hinterlegtes Passwort besitzt. Damit bei dieser Konfiguration Cognos auf die Datenbank zugreifen kann, muss in den Eigenschaften der Server Gruppe unter Sicherheit die Option “SQL Server und Windows” aktiviert sein. Dann sollte der Connect klappen.
Listenberichte mit wechselndem Zeilenhintergrund formatieren
Wo ist eigentlich die Funktion in Cognos Inpromptu zu finden, mit der in einem Listenbericht die Zeilen abwechselnd grau und weiss hinterlegt werden? Eine solche Formatierung eines Listenberichtes – gerade der im Querformat mit vielen Spalten – erhöht die Lesbarkeit des Reports ungemein. Leider bietet Impromptu keine Standardeinstellung für eine solche Formatierung und wir müssen uns mit einem Kniff behelfen. So kann ein solcher Bericht aussehen:

Die Formatierung kann den einzelnen Zeilen über die Bedingungsformate zugewiesen werden. Hierzu werden alle geraden Zeilen mit einem grauen Bedingungsformat hinterlegt. Um zu wissen welches die geraden Zeilennummern wird eine berechnete Spalte (z.B. Zeilennummer) mit der Funktion running-count / laufende Anzahl angelegt. Diese Spalte muss im Bericht nicht angezeigt werden sondern übernimmt nur das Durchnummerieren der Zeilen. Die Formel für die formatierte Bedingung lautet dann: (Zeilennummer / 2) = round( (Zeilennummer / 2) , 0 )
Cognos Security Problem beim Query Reuse vs. Abfrageperformance
Nochmal ein Punkt zum Thema Abfragegeschwindigkeit bei Cognos 8. Um die Performance zu steigern wurde in Cognos 8 eine nettes Feature eingebaut “Query Reuse“. Abfragen, die von einem Report wiederverwendet werden können werden mit dieser Option nicht erneut von der Datenbank abgerufen sondern aus dem Cache geholt.
Prinzipiell eine sinnvolle Einrichtung – leider erkennt Cognos nicht immer richtig wann die Daten tatsächlich neu abgefragt werden müssen. Beispiel: Über eine User-Session-Variable wird im FrameworkManager die Security auf Userebene erstellt. Der Username wird so z.B. in der WHERE-Klausel einer Abfrage um den User ergänzt. Wird nun Cognos erlaubt Abfragen wieder zu verwenden wird die Session-variable zwar in der Anzeige im Report ausgetauscht aber die Daten werden nicht erneut abgefragt. Das Resultat ist, dass z.B. ein Benutzer die Daten seines Vorgängers angezeigt bekommt, was tatsächlich ein erhebliches Sicherheitsrisiko darstellt.
Die Lösung ist hier ganz einfach und kann an zwei Stellen gelöst werden. Der Ansatz ist es dem Cognos8 Dienst zu das wiederverwenden der Abfragen zu untersagen. Die erste Stelle ist in den Eigenschaften der Governors-Einstellungen des Framework Manager Packages zu finden. Hier ist unter dem Menüpunkt “Package”/”Edit Governors…” die Option “Allow usage of local cache” auszuschalten.
Der zweite Weg ist ein wenig radikaler und bezieht sich auf alle Package gleichzeitig: In dem Installationsverzeichnis unter c8\configuration liegt eine Datei Namens “CQEConfig.xml” (ist diese noch nicht vorhanden kann die bestehende “CQEConfig.xml.samples” umbenannt werden. Diese Datei kann in einem Texteditor geöffnet und folgender Einrtag geändert werden:
Suchen Sie nach dem Abschnitt
Nach dem Speichern der Datei muss der Cognos Dienst neu gestartet werden.
Tipp: Der Wert kann bis auf Maximal 10 hochgesetzt werden. Prinzipiell ist diese Eigenschaft ja positiv und entlastet den Datenbank-Server. Prüfen Sie also in Ihrer Umgebung ob ein QueryReuse genutzt werden kann und aktivieren Sie dieses Feature.
Unterschiede zwischen Native SQL und Cognos SQL in Cognos8 und ReportNet
In ReportStudio stehen zwei Varianten zur Verfügung sich das von Cognos generierte SQL anzeigen zu lassen. Hierbei ist das Native SQL das Statement, das direkt an die Datenbank weitergegeben wird.
Das Cognos SQL ist die Form wie Cognos die Abfrage intern bearbeitet. Aus dem Vergleich der beiden Abfragen ist z.B. erkenntlich ob Cognos bei der Abfrage auch eine lokale Verarbeitung durchführt. Eine lokale Verarbeitung wird von Cognos durchgeführt, wenn sich das Native SQL als Unterabfrage des Cognos SQL wiederfindet.
Als Tipp: Versuchen Sie im FrameWork-Manager bei der Datenquelleneigenschaft diese auf “database only” zu stellen. Mit dieser Einstellung werden die Abfragen immer komplett von der Datenbank bearbeitet. Verwenden Sie im Bericht Funktionen, die nicht über eine reine Datenbank-Abfrage generiert werden können erhalten Sie beim Abruf des Reports eine entsprechende Meldung. In dem Fall heißt es die Berechnungen, Filter und Aggregationen im Bericht zu überprüfen.
In vielen Fällen ist nur eine kleine Änderung an einer Berechnung notwendig um wieder ohne lokale Verarbeitung auszukommen. Klappt dies nicht, muss im Modell die Eigenschaft “lokale Verarbeitung” wieder freigegeben werden.
Excel Export mit Format auf Knopfdruck (Cognos8)
Mit Cognos8 steht eine konfortable und web-basierte Reporting- und Analyseplattfortm zur Verfügung. Im Alltagsgeschäft kommen wir aber immer wieder in die Situation einen Report schnell (auf Knopfdruck) als formatiertes Exel-File zu benötigen. Die Cognos Office Connection ist hier schon eine gute Möglichkeit direkt aus Excel heraus auf Cognos Reports zuzugreifen.
Eine andere Möglichkeit ist in den Beispielen des Cognos8 SDK zu finden. Über das SDK (Software Development Kid) ist es möglich z.B. über ein Visual Basic Skript einen Report aufzurufen und als Excel-File im lokalen Filesystem zu speichern.
Solch ein Skript kann dann Beispielsweise als Schaltfläche in Excel hinterlegt werden, sodass die aktuellen Daten aus Reports wirklich auf Knopfdruck zur Verfügung stehen.
Unterschiede ReportNet zu Cognos8 bei Objektreferenzen
In ReportNet wurden Objekte in Cognos Connection (z.B. die Reports) nur über die Bezeichnung (Zeichenkette) des Objektes referenziert. So geht es in ReportNet ein wenig durcheinander, wenn ein Package umbenannt wird und unter dem selben Namen ein neues (anderes) Package veröffentlicht wird. Reports verwenden in dem Fall die Textreferenz und laufen unter dem neuen (eventuell falschen) Package wogegen z.B. geplante Tasks im Scheduler fest mit dem alten Package verbunden sind.
Hier gibt es in Cognos8 eine wesentliche Verbesserung: Reports sind nun fest mit dem Package-Objekt verlinkt. Es hat also keine Auswirkung auf den Report wenn ein Package nachträglich umbenannt wird.
Soll ein Report auf ein anderes Package zielen, kann dieses in Cognos Connection über die Eigenschaften des Reports verändert werden (“Eigenschaften festlegen” –> “Mit einem Package verknüpfen…”). Auf diese Weise kann z.B. ein Report auf einem Testpackage erstellt werden und dann auf das Produktivpackage umgehängt werden.
Schaltflächen in Cognos Connection anpassen (einblenden / ausblenden)
In Cognos8 stehen über Cognos Connection umfassende Funktionalitäten zur Verfügung eine umfassende Rechtesteuerung einzelner Benutzergruppen zu steuern.
Wenn es aber darum geht, einzelne Schaltflächen in Connection oder im ReportViewer auszublenden sind Anpassungen in der Datei system.xml notwenig.
Als Beispiel: Soll der “Home”-Link zu congos-Connection ausgeblendet werden, ist folgender Abschnitt in der system.xml zu ergänzen:
   [param name="ui_hide"]
       [CC_HEADER_MENU_home show/]
       [RV_HEADER_MENU_home show/]
   [/param]
Hinter dem show/ Abschnitt können einzelne Benutzerklassen abgegeben werden, auf die sich der Eintrag beziehen soll.
Die Datei ist im Cognos Installationsverzeichnis im Unterordner /templates/ps/portal/ zu finden und kann mit einem Texteditor editiert werden (eckige Klammern [] durch Spitze tauschen <> ).
Das Kürzel CC_ steht für Cognos Connection und RV_ für ReportViewer – hier können also die Elemente getrennt ein- oder ausgeblendet werden.Â
Damit die Änderungen wirksam werden muss der Cognos8 Dienst einmal gestoppt und wieder gestartet werden.
Detaillierte Informationen über die Einzelnen Elemente und wie diese angesprochen werden sind im “Administration and Security”-Handbuch nachzulesen.
Falsche Tabellenverbindung in zusammengeführten Query Subjects
In einem Modell mit einem mehrschichtigen Design (z.B. Database Layer, Business Layer und Presentation Layer) kommt es vor, dass im Framework Manager zusammengeführten Query Subjects nicht die Relationships aus dem Database Layer beachtet werden. Das Ergebnis einer Abfrage über dieses Query Subject ist ein Kreuzprodukt (cross join).
Als sichere Alternative zu der Funktion “Merge in New Query Subject” kann das selbe Ergebnis erzeugt werden, in dem über “create –> Query Subject” ein neues Query Subject erzeugt wird in dem die Spalten aus den beiden Query Subjects im Database Layer ausgewählt wird. Hierbei werden die Tabellenverbindungen aus dem Database Layer zuverlässig gezogen.
was tun, wenn sich Cognos ReportStudio nicht öffnen lässt…
Mit Cognos ReportNet und Cognos8 haben wir eine komplett Web-basierte Reporting Umgebung bekommen. Die neue Web-Technologie bringt aber auch eine ganze Reihe neuer Tücken mit sich. Hier ein ganz beliebter Fall: Wenn sich aus Cognos Connection heraus z.B. ReportStudio nicht öffnen lässt, ist der erste Schritt die Browsereinstellungen zu prüfen. Ist hier ein Pop-Up-Blocker aktiv so verhindert dieser, dass ReportStudio gestartet werden kann. In vielen Fällen klappt das Starten von ReportNet wenn dabei die “Strg”-Taste gedrückt wird. Auch nach einem automatischen Update der Browsersoftware können die Einstellungen wieder geändert sein.
Die Komplikationen durch Browsereinstellungen sind aber sehr vielfältig. Lässt sich z.B. aus einer Reportansicht ein Excel-Export nicht anzeigen kann dieses wiederum an den Sicherheitseinstellungen des Browsers liegen. Wird der Cognos Server in den Einstellungen als vertrauenswürdige Seite eingetragen, kann man sich eine ganze Menge Ärger sparen.
Cognos 8.2 Update (z.B. Cognos Migration 8.1 MR2 auf 8.2)
Seit einer Woche ist die Cognos8 Version 8.2 verfügbar. Wer noch eine ältere Cognos8 Version im Einsatz hat kann hier recht problemlos updaten. Ein schneller und einfacher Weg ist die 8.2 einfach in einem neuen Verzeichnis zu installieren:
- alle C8 Dienste stoppen
- den “alten” Cognos8 Dienst entfernen: Im bin-Verzeichnis cogbootstrapservice -u aufrufen
- Framework Manager und Cognos8 BI Server in einem neuen Verzeichnis installieren (z.B. C:\programme\cognos\c8-2)
- die Content Store Datenbank sichern!!
- nach der Installation können das alte und neue Cognos Configuration aufgerufen werden und die Konfiguration übernommen werden
- als Content Store Datenbank wird ebenfalls die bestehende DB angegeben
- Einträge im Webserver auf das neue Verzeichnis ändern
- Cognos8 über Cognos Configuration starten –> nun erfolgt der Update der Content Store Datenbank (ein Zurück ist ab hier nur noch über das Einspielen der Sicherung möglich)
- evtl. aus dem alten C8 Verzeichnis geänderte Systemdateien in das neue übertragen
- FERTIG!
Bestimmt gibt es noch einige Sonderfälle, aber ein Testsystem umzustellen dauert so keine halbe Stunde. Das schöne an dieser Variante ist, dass sehr schnell doch wieder auf die alte Installation zurück geschaltet werden kann.
