Schlagwort-Archive: framework manager

Cognos Fehlermeldung QE-DEF-0360: „use of 2-part reference“

Cognos Fehlermeldungen sind oftmals nicht gerade hilfreich… Diese hier ist noch halbwegs „sprechend“ – wenn man etwas damit anzufangen weiß.

QE-DEF-0360 The query contains a reference to at least one object '[myNamespace].[myFilterName]' that does not exist. Possible cause is the use of 2-part reference to a model query item, which is a deprecated feature. RQP-DEF-0149 The query specification is incorrect. RQP-DEF-0457 Referenced Query 'Query' is not defined or its query items contain unresolved references. RSV-SRV-0042 Trace back:RSReportService.cpp(724): QFException: CCL_CAUGHT: RSReportService::processImpl()RSReportServiceMethod.cpp(258): QFException: CCL_RETHROW: RSReportServiceMethod::process(): promptPagingForward_RequestRSASyncExecutionThread.cpp(859): QFException: 
usw. usw. ...

In dem hier verwendeten Framework-Model (v10.2.2.) wird ein drei-schichtiges Design verfolgt – bestehend aus:

3. Presentation-View
2. Model-View
1. Physical-View

Die unterste Schicht („Physical-View“) enthält ausschließlich importierte Datenbank-Strukturen wie Tabellen, Views und Aliase. Sie enthält keine Relationships. Jegliche Modellierungstätigkeit findet in Schicht-Nr. 2 statt. Hierzu gehört auch das Erzeugen von Relationships zwischen physischen Tabellen wie auch zwischen Tabellen und Alias-Shortcuts, um bspw. Role-Playing-Dimensions zu implementieren. Die oberste Schicht besteht ausschließlich aus Reference-Shortcuts und Objekten, die der Strukturierung dienen – also Namespaces und Ordner. Das Design folgt den Empfehlungen von Cognos.

Der obenstehende Fehler kommt zustande, weil in der Presentation-View ein Shortcut auf einen Filter exisitiert. Er hat folgenden Namen: [myFilterName]. Dieser Filter-Shortcut verweist auf die eigentliche Filter-Definition innerhalb der Model-View. Der dort ansässige Filter trägt den gleichen Namen „[myFilterName]“. Und das ist auch schon das Problem. Die Namen beider Objekte (Filter und Shortcut auf diesen Filter) müssen sich im Namen unterscheiden. Nachdem ich den Namen der Filter-Definition in Schicht Nr. 2 auf „[myFilterName]_x“ geändert hatte, war der Fehler behoben.

Das Problem hatte ich bisher nur bei Stand-Alone-Filtern und Stand-Alone-Calculations. Getestet habe ich mit Query-Studio. Vielleicht hilft es dem ein oder anderen Framework-Modellierer …

Cognos Framework: Sortierte Wertelisten

cognos_fwm_logo_title

So manch einer hat sich vielleicht schon gefragt, „Wie modelliere ich sortierte Wertelisten?“

Die Standard-Prompt-Definition besitzt keinen Parameter, um eine Sortierung zu definieren. Auch über ein Macro-Prompt kommt nan nicht weit – Versuche in der Art

#prompt(sort('ColumnName', 'String'))#

funktionieren nicht. Die SORT Funktion sortiert nur innerhalb der Macro-Expression selbst.

Ein SQL-Override der SELECT-Definition der Data-Query-Subjetcs funktioniert ebenfalls nicht – würde außerdem „Metadata Caching“ außer Kraft setzen – und erfordert zudem bestimmte Einstellungen der Data Source („Query Processing“), die evtl. andersweitig nachteilig sind.

In einem ROLAP modellierten Framework kann man die Sortierung über die Definition von Determinanten beeinflußen. Durch Definition von „GROUP BY“ für eine Gruppe von Attributen wird implizit eine Sortierung erzwungen für den definierten KEY; damit sind auch die Mitglieder dieser Gruppe sortiert. Untenstehend ein Bsp. für eine Zeitdimension. Schritt 1, Definition der Determinante „month“:
Cognos Framework: Sortierte Wertelisten weiterlesen