09.10.2013 Aufrufe

COGNOS(R) 8

COGNOS(R) 8

COGNOS(R) 8

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>COGNOS</strong> (R) 8<br />

FRAMEWORK MANAGER<br />

Richtlinien für die Erstellung von Metadatenmodellen<br />

01-08-2005<br />

Framework Manager<br />

8.1<br />

Cognos(R) 8 Business Intelligence Readme<br />

RICHTLINIEN FÜR DIE ERSTELLUNG VON METADATENMODELLEN<br />

RICHTLINIEN FÜR DIE<br />

ERSTELLUNG VON<br />

METADATENMODELLEN<br />

THE NEXT LEVEL OF PERFORMANCE TM


Produktinformationen<br />

Dieses Dokument bezieht sich auf Cognos (R)<br />

8 Version 8.1 und möglicherweise auch auf zukünftige Versionen. Jüngere Versionen dieses<br />

Dokuments finden Sie auf der Website des Cognos Support (http://support.cognos.com).<br />

Copyright<br />

Copyright (C) 2005 Cognos Incorporated<br />

Portions of Cognos(R) software products are protected by one or more of the following U.S. Patents: 6,609,123 B1; 6,611,838 B1; 6,662,188<br />

B1; 6,728,697 B2; 6,741,982 B2; 6,763,520 B1; 6,768,995 B2; 6,782,378 B2; 6,847,973 B2; 6,907,428 B2; 6,853,375 B2.<br />

Cognos und das Cognos Logo sind Marken von Cognos Incorporated in the Vereinigten Staaten und/oder anderen Ländern. Alle anderen<br />

genannten Produktnamen sind Marken oder eingetragenen Marken der jeweiligen Firmen.<br />

Wir haben uns bemüht, sicherzustellen, dass die Informationen in diesem Dokument so genau und vollständig wie möglich sind; trotzdem ist<br />

nicht auszuschließen, dass vereinzelt Druckfehler oder inhaltliche Ungenauigkeiten auftreten können. Cognos übernimmt keine Verantwortung<br />

für Verluste, die durch die Verwendung der in diesem Dokument enthaltenen Informationen entstehen.<br />

Dieses Dokument zeigt das Veröffentlichungsdatum. Bei den in diesem Dokument enthaltenen Informationen sind Änderungen vorbehalten.<br />

Alle Veränderungen oder Verbesserungen der Software oder des Dokuments werden in zukünftigen Ausgaben dokumentiert.<br />

Diese Software/dieses Dokument enthält urheberrechtlich geschützte Informationen von Cognos Incorporated. Alle Rechte vorbehalten. Die<br />

Rückentwicklung dieser Software ist nicht gestattet. Diese Software/dieses Dokument oder Teile davon dürfen ohne die vorherige ausdrückliche,<br />

schriftliche Zustimmung von Cognos Incorporated nicht kopiert, reproduziert, in einem Datenabrufsystem gespeichert, in einer beliebigen<br />

Form und mit beliebigen Hilfsmitteln übertragen oder in eine andere Sprache übersetzt werden.


Inhaltsverzeichnis<br />

Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen 5<br />

Szenarien 5<br />

Neue Objekte in Cognos 8 6<br />

Determinanten 6<br />

Reguläre Dimension 7<br />

Kennzahldimension 7<br />

Bereichsbeziehung 7<br />

Dimensionales Modellieren relationaler Datenquellen 7<br />

Überprüfen importierter Metadaten 8<br />

Vereinfachen von Modellen anhand von dimensionalen Konzepten 11<br />

Klären nicht eindeutiger Beziehungen 13<br />

Definieren von Dimensionen und Determinanten 17<br />

Erstellen von Sternschemagruppen 24<br />

Aktualisieren von Best-Practices-Modellen von ReportNet 1.x 25<br />

Überprüfen des vorhandenen Modells 26<br />

Aktualisieren des Modells 26<br />

Kapitel 2: Das von Cognos 8 generierte SQL 33<br />

Übersicht über dimensionale Abfragen bei der Verwendung von Best Practices 33<br />

Abfrage einzelner Fakten 33<br />

Abfrage mehrerer Fakten und mehrerer Ebenen von angepassten Dimensionen 34<br />

Modellieren von 1-n-Beziehungen als 1-1-Beziehungen 36<br />

Abfrage mehrerer Fakten und mehrerer Ebenen bei nicht angepassten Dimensionen 37<br />

Auflösen uneindeutig identifizierter Dimensionen und Fakten 40<br />

Auflösen von Abfragen, die nicht geteilt werden sollten 40<br />

Auflösen von Abfragen, die an der falschen Stelle geteilt sind 43<br />

Index 49<br />

Richtlinien für die Erstellung von Metadatenmodellen 3


4 Framework Manager


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Szenarien<br />

Framework Manager ist ein Tool zur Erstellung von Metadatenmodellen. Ein Modell ist eine<br />

unternehmensspezifische Darstellung von Informationen in einer oder mehreren Datenquellen.<br />

Wenn Sie dieser unternehmensspezifischen Darstellung Zugriffsschutz, mehrsprachige Metadaten<br />

und dimensionale Metadaten hinzufügen, kann ein Modell die Anforderungen vieler internationaler<br />

Benutzergruppen an Berichterstellungen, Ad-hoc-Abfragen und Analysen erfüllen.<br />

Ein wichtiges Ziel bei der Vorbereitung von Metadaten für Business Intelligence ist die Nutzung<br />

vorhandener Metadaten während des Hinzufügens von Werten, damit Ihre Benutzer die notwendigen<br />

Informationen finden können.<br />

Cognos 8 aktiviert Business Intelligence für normalisierte und entnormalisierte relationale Datenquellen<br />

sowie eine Vielzahl von OLAP-Datenquellen.<br />

Dieses Dokument behandelt grundlegende Konzepte für die Erstellung von Modellen von relationalen<br />

Datenquellen in Framework Manager und enthält Herstellerempfehlungen zur Erstellung<br />

von Metadatenmodellen für die Verwendung bei Berichterstellungen und Analysen in Unternehmen.<br />

Mit Framework Manager können Sie alle relationalen Datenquellen dimensional modellieren.<br />

Obwohl ein dimensionales Schema nicht zwangsläufig in Cognos 8 verwendet werden muss,<br />

wurden viele Funktionen hinzugefügt, damit Sie die Vorzüge dimensionaler Schemen besser nutzen<br />

und eine logische dimensionale Ansicht nicht dimensionaler Schemen erstellen können.<br />

Die Struktur der Themen in diesem Dokument richtet sich nach den unterschiedlichen Szenarien.<br />

Verwenden Sie das Thema, das mit Ihren Zielen übereinstimmt.<br />

Dimensionales Modellieren relationaler Datenquellen<br />

Das dimensionale Modellieren relationaler Datenquellen ist eine Funktion, die von Cognos 8 Framework<br />

Manager bereitgestellt wird. In ReportNet 1.x konnten Abfragen mit mehreren Fakten<br />

aktiviert und Doppelzählungen vermieden werden. Cognos 8 wiederum führt Funktionen ein, die<br />

ausdrücklich für das dimensionale Modellieren konzipiert wurden. Jetzt ist es möglich, Modelle<br />

von Dimensionen mit Hierarchien und Ebenen zu erstellen und Fakten mit mehreren Kennzahlen<br />

zu besitzen. Anschließend können Sie Beziehungen zwischen Dimensionen und Kennzahlen herstellen,<br />

indem Sie den Bereich im Modell verwenden.<br />

Weitere Informationen finden Sie unter "Dimensionales Modellieren relationaler<br />

Datenquellen" (S. 7).<br />

Aktualisieren von Best-Practices-Modellen von ReportNet 1.x<br />

Wenn Ihr Modell anhand von Best Practices (optimalen Verfahren) in ReportNet 1.x erstellt<br />

wurde, kann ein Großteil der Aktualisierung auf die neuen Funktionen von Cognos 8 in Framework<br />

Manager durchgeführt werden. Der Befehl Verify Model wurde erweitert, damit Sie Objekte<br />

im Modell auswählen und automatisch in Cognos 8-Dimensionen konvertieren können. Dadurch<br />

können die Metadaten genutzt werden, die im vorhandenen Modell bereitstehen. Sie können sich<br />

weiterhin mit Abfragesubjekten beschäftigen und Dimensionsinformationen in ReportNet 1.x in<br />

Determinanten übersetzen lassen, oder Sie können mit den Dimensionen fortfahren. Wenn Sie mit<br />

den Dimensionen fortfahren, werden die vorhandenen Dimensionsinformationen in Ihrem Modell<br />

zum Erstellen der ersten Hierarchie und der ersten Ebenen verwendet.<br />

Weitere Informationen finden Sie unter "Aktualisieren von Best-Practices-Modellen von<br />

ReportNet 1.x" (S. 25).<br />

Richtlinien für die Erstellung von Metadatenmodellen 5


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Neue Objekte in Cognos 8<br />

Determinanten<br />

6 Framework Manager<br />

In ReportNet 1.x wurden für Dimensionsinformationen die Konzepte von Eindeutigkeit und<br />

Dimensionshierarchien kombiniert. In Cognos 8 wurde das Konzept der Dimensionsinformationen<br />

zur Kontrolle von Eindeutigkeit und Granularität aufgeteilt. Diese Kontrolle ist für Abfragesubjekte<br />

erforderlich, die auf Relationen basieren, sowie für explizit adressierte Konzepte von<br />

Hierarchien und Ebenen für dimensionale Objekte, selbst auf relationalen Quellen.<br />

Beim Überprüfen von Dimensionsinformationen müssen Sie verstehen, wie die Dimensionsinformationen<br />

auf das Abfragesubjekt angewendet werden und wie das Abfragesubjekt im Cognos 8-<br />

Modell verwendet wird.<br />

Folgende neue Objekte wurden in Cognos 8 eingeführt:<br />

• Determinanten für Abfragesubjekte<br />

• reguläre Dimensionen<br />

• Kennzahldimensionen<br />

• Bereichsbeziehungen<br />

Determinanten sind nicht mit Ebenen und Hierarchien identisch, können aber eng mit einer einzelnen<br />

Hierarchie verbunden sein. Die Abfragen-Engine wertet Determinanten von der ersten bis zur<br />

letzten aus. Es können ein oder mehrere Determinanten angegeben werden.<br />

Wenn eine reguläre Modelldimension auf einem Abfragesubjekt mit angegebenen Determinanten<br />

basiert, wird empfohlen, dass<br />

• jeder im Abfragesubjekt vorhandenen Determinante eine Ebene entspricht<br />

• die Reihenfolge der Ebenen in der Hierarchie die Reihenfolge der Determinanten widerspiegelt<br />

Das führt zu einem einheitlichen Modell und erleichtert das Aktualisieren des Modells in zukünftigen<br />

Versionen von Cognos-Produkten.<br />

Eine Determinante ist ein Satz von Datenbankspalten (Abfrageelementen), der für die eindeutige<br />

Identifikation eines Datensatzes verwendet werden kann. Determinanten werden auf der Grundlage<br />

von Schlüssel- und Indexinformationen in der Datenquelle importiert. Es wird empfohlen, die<br />

importierten Determinanten immer zu überprüfen.<br />

Mit Determinanten können Sie folgende Aktionen durchführen:<br />

• Hinzufügen von Informationen über Funktionsabhängigkeiten zwischen den Spalten, um<br />

Doppelzählungen zu vermeiden.<br />

• Festlegen der Granularität von entnormalisierten Abfragesubjekten, um bei der Verwendung<br />

von Modelldimensionen Gruppierungen und Doppelzählungen zu steuern.<br />

Z. B. stellen einige Fakten eine Verbindung zur Zeit auf der Grundlage von Monaten, andere<br />

auf der Grundlage von Tagen her. Legen Sie die Zeitdeterminanten fest, um die Funktionsabhängigkeit<br />

zwischen Monat und Tag als Minimum klar zu erfassen. So können Sie die Doppelzählung<br />

dieser Fakten verhindern, die eine Verbindung zum Monatsschlüssel herstellen.<br />

• Eindeutiges Identifizieren der Datenzeile beim Abrufen von Textblob-Daten aus der Datenquelle.<br />

• Überschreiben der aus der Datenquelle importierten Determinanten, bei denen ein Konflikt<br />

mit den Beziehungen besteht, die für die Berichterstellung erstellt wurden.<br />

So sind beispielsweise Determinanten zu zwei Abfragesubjekten für mehrere Spalten vorhanden,<br />

aber die Beziehung zwischen den Abfragesubjekten verwendet nur eine Untermenge dieser<br />

Spalten. Ändern Sie die Determinanteninformationen des Abfragesubjekts, wenn es die<br />

zusätzlichen Spalten in der Beziehung nicht verwenden kann.<br />

Weitere Informationen finden Sie unter "Definieren von Dimensionen und<br />

Determinanten" (S. 17).


Reguläre Dimension<br />

Kennzahldimension<br />

Bereichsbeziehung<br />

Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Eine reguläre Dimension enthält beschreibende und Unternehmensschlüsselinformationen und<br />

strukturiert die Informationen in einer Hierarchie von der obersten Granularitätsebene zur untersten.<br />

Sie hat in der Regel mehrere Ebenen und kann über mehrere Schlüsselsegmente für die Definition<br />

einer Ebene verfügen. Außerdem kann sie mehrere Hierarchien haben.<br />

Für eine reguläre Dimension der Datenquelle kann nur eine einzige Hierarchie definiert werden.<br />

Bei angepassten Dimensionen ist die Abfrage mehrerer Fakten möglich.<br />

Eine Kennzahldimension ist eine Zusammenstellung von Fakten.<br />

Sie können für ein oder mehrere Abfragesubjekte mit einer gültigen Beziehung zueinander eine<br />

Kennzahldimension erstellen.<br />

Bereichsbeziehungen bestehen zwischen Kennzahldimensionen und regulären Dimensionen und<br />

definieren die Ebene, auf der die Kennzahlen für die Berichterstellung zur Verfügung stehen.<br />

Bereichsbeziehungen bestimmen die Berichterstellungsgranularität der regulären Dimension für<br />

eine bestimmte Kennzahldimension.<br />

Bereichsbeziehungen sind zwischen Kennzahlen und Dimensionen bei der Berichterstellung obligatorisch.<br />

Wenn keine Bereichsbeziehung vorhanden ist, führt dies zur Laufzeit zu einem Fehler.<br />

Bereichsbeziehungen dienen der Berichterstellung. Sie sind nicht mit Verbindungen identisch und<br />

beeinflussen nicht die Where-Klausel.<br />

Mit Bereichsbeziehungen können Sie die reguläre Dimension in die Sternschemagruppe integrieren<br />

oder daraus ausschließen.<br />

Es können keine Verknüpfungen für Bereichsbeziehungen erstellt werden. Bereichsbeziehungen<br />

können nur zwischen regulären Dimensionen und Kennzahldimensionen vorhanden sein. Außerdem<br />

können Bereichsbeziehungen für Verknüpfungen zu Dimensionsobjekten erstellt werden.<br />

Wenn Verknüpfungen zu Dimensionen verwendet werden, wird der Bereich vom Bereich des<br />

ursprünglichen Objekts abgeleitet, sofern der Bereich nicht ausdrücklich für die Verknüpfungen<br />

definiert wurde.<br />

Dimensionales Modellieren relationaler Datenquellen<br />

Sie müssen eine relationale Datenquelle dimensional modellieren, wenn Sie eine der folgenden<br />

Aktionen durchführen möchten:<br />

• Verwenden von Analysis Studio<br />

• Aktivieren von Drillfunktionen in Berichten<br />

• Verbessern der Steuermöglichkeiten der Abfragegranularität<br />

• Zugreifen auf Mitgliederfunktionen in den Berichterstellungstools<br />

Es wird empfohlen, bei der dimensionalen Modellierung von relationalen Datenquellen dem folgenden<br />

Workflow zu folgen:<br />

❑ Importieren Sie die Metadaten.<br />

❑ Überprüfen Sie die importierten Metadaten (S. 8).<br />

❑ Passen Sie die Metadaten an.<br />

❑ Vereinfachen Sie das Modell anhand von dimensionalen Konzepten (S. 11).<br />

❑ Klären Sie nicht eindeutige Beziehungen (S. 13).<br />

❑ Definieren Sie Dimensionen und Determinanten (S. 17).<br />

❑ Strukturieren Sie das Modell durch Erstellen von unternehmensspezifischen Ansichten.<br />

❑ Erstellen Sie Sternschemagruppen (S. 24).<br />

Richtlinien für die Erstellung von Metadatenmodellen 7


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

8 Framework Manager<br />

❑ Richten Sie Zugriffsschutz ein.<br />

❑ Erstellen Sie Packages, und publizieren Sie Metadaten.<br />

Informationen zu den hier nicht behandelten Themen finden Sie unter "Designing a Project",<br />

"Preparing Relational Metadata for Use in Reports" und "Making Metadata Available to Report<br />

Authors" im Framework Manager User Guide.<br />

Alle Beispiele in diesem Dokument verwenden die Datenbankansicht des normalisierten Modells<br />

"gosales_goretailers" oder die Importansicht des Modells "go_data_warehouse", die in den<br />

Cognos 8-Beispielen enthalten sind.<br />

Überprüfen importierter Metadaten<br />

Nach dem Importieren von Metadaten müssen Sie die importierten Metadaten in den folgenden<br />

Bereichen überprüfen:<br />

• Beziehungen und Kardinalität<br />

• Eigenschaft Usage für Abfrageelemente<br />

• Eigenschaft Regular Aggregate für Abfrageelemente<br />

Hier werden Beziehungen in Verbindung mit Kardinalität diskutiert. Informationen zu den Eigenschaften<br />

Usage und Regular Aggregate finden Sie unter Modifying the Properties of Query Items<br />

im User Guide von Framework Manager.<br />

Kardinalität wird mit Dimensionen kombiniert, um die Art der Generierung von Abfragen zu steuern.<br />

Dadurch können Sie<br />

• Doppelzählungen vermeiden<br />

• Schleifenverbindungen automatisch auflösen<br />

• Faktübergreifende Abfragen für Berichterstellung und Analyse aktivieren<br />

Sie können Modelldimensionen und Datenquellendimensionen erstellen. Modelldimensionen werden<br />

auf der Grundlage von Abfragesubjekten erstellt, die Determinanten und Beziehungen mit<br />

Kardinalität verwenden. Datenquellendimensionen enthalten ihr eigenes SQL und verwenden<br />

Hierarchie- und Ebeneninformationen sowie Beziehungen mit Kardinalität, um die Abfragegranulariät<br />

zu definieren.<br />

Die Kardinalität beeinflusst das Abfrageverhalten, indem sie es ermöglicht, dass Regeln bezüglich<br />

der Granularität von Daten, die von einem einzelnen Objekt zurückgegeben werden, und der Auswirkungen<br />

von Verbindungen zwischen Objekten angewendet werden. Die in der Beziehung zwischen<br />

Abfragesubjekten oder Dimensionen festgelegte Kardinalität gibt an, wie und wann<br />

Cognos 8 zusammengefügte Abfragen generiert. Zusammengefügte Abfragen werden für die<br />

Abfrage mehrerer Fakten in angepassten Dimensionen und verschiedenen Granularitätsebenen<br />

benötigt.<br />

Erkennen von Kardinalitäten aus Datenquellen<br />

Beim Importieren aus einer relationalen Datenquelle wird Kardinalität auf der Grundlage einer<br />

Reihe von Regeln erkannt, die Sie festlegen. Die verfügbaren Optionen sind<br />

• Verwendung von Primär- und Fremdschlüsseln<br />

• Verwendung von übereinstimmenden Abfrageelementnamen, die Spalten mit eindeutigem<br />

Index darstellen<br />

• Verwendung von übereinstimmenden Abfrageelementnamen<br />

Am häufigsten werden Primär- und Fremdschlüssel sowie übereinstimmende Abfrageelemente verwendet,<br />

die Spalten mit eindeutigem Index darstellen. Die Informationen dienen dem Festlegen<br />

einiger Eigenschaften der Abfrageelemente sowie dem Erstellen von Beziehungen.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Wenn Sie die importierten Index- und Schlüsselinformationen anzeigen möchten, klicken Sie mit<br />

der rechten Maustaste auf ein Abfragesubjekt oder eine reguläre Dimension und anschließend auf<br />

Edit Definition. Bei einem Abfragesubjekt können Sie die Informationen in der Registerkarte<br />

Determinants ändern. Alle regulären Dimensionen sind zunächst Abfragesubjekte. Wenn Sie ein<br />

Abfragesubjekt in eine reguläre Dimension konvertiert haben, beachten Sie, dass die Determinanteninformationen<br />

für das Abfragesubjekt als Ausgangspunkt eingesetzt werden, um die Ebenen<br />

einer einzelnen Hierarchie zu definieren. Es wird empfohlen, die Ebenen und Schlüssel zu prüfen,<br />

die in der Hierarchie der Dimension erstellt wurden.<br />

Optionale Beziehungen, vollständige offene Verbindungen und n-zu-n-Beziehungen können aus<br />

Ihrer Datenquelle importiert werden. Framework Manager führt sie als Abfragen aus.<br />

Reflexive Beziehungen können aus Ihrer Datenquelle importiert werden und werden im Modell<br />

angezeigt. Framework Manager führt sie jedoch nicht als Abfragen aus. Auch wenn Sie die Metadaten<br />

anzeigen können, die die reflexive Beziehung definieren, können Sie eine reflexive Beziehung<br />

in Framework Manager nicht bearbeiten.<br />

Weitere Informationen finden Sie unter "Reflexive und rekursive Beziehungen" (S. 16).<br />

Kardinalitäten in generierten Abfragen<br />

Framework Manager unterstützt sowohl die minimale/maximale Kardinalität als auch die obligatorische/optionale<br />

Kardinalität.<br />

0:1 - 0 ist die minimale Kardinalität, 1 ist die maximale Kardinalität<br />

1:n - 1 ist die minimale Kardinalität, n ist die maximale Kardinalität<br />

Eine Beziehung mit der Kardinalität 1-n kann angegeben werden als 1:1 bis 1:n, wenn die maximalen<br />

Kardinalitäten gelesen werden. Die minimale Kardinalität von 1 ist für optionale Daten auf<br />

0 festgelegt. Daher kann die 1-n-Beziehung auch als 0:1 bis 0:n, 0:1 bis 1:n oder 1:1 bis 0:n<br />

angegeben werden.<br />

Die wichtigsten Regeln für die Verwendung von Kardinalitäten lauten wie folgt:<br />

• Kardinalität wird im Rahmen einer Abfrage verwendet, d. h., es werden nur die Kardinalitäten<br />

von explizit in die Abfrage integrierten Elementen ausgewertet.<br />

• 1-n-Kardinalität bedeutet Fakt auf der Seite n und Dimension auf der Seite 1.<br />

• Ein Abfragesubjekt kann in einer Abfrage als Dimension und in einer anderen als Fakt fungieren.<br />

• Abfragen von mehreren Fakten werden zu einer zusammengefügten Abfrage.<br />

Weitere Informationen finden Sie unter "Abfrage einzelner Fakten" (S. 33) und "Abfrage mehrerer<br />

Fakten und mehrerer Ebenen von angepassten Dimensionen" (S. 34).<br />

Modellieren von 1-n-Beziehungen als 1-1-Beziehungen<br />

Wenn eine 1-n-Beziehung in den Daten vorhanden ist, im Modell jedoch als 1-1-Beziehung dargestellt<br />

wird, können SQL-Traps nicht vermieden werden, weil die von den Metadaten für die<br />

Abfrage-Engine bereitgestellten Informationen nicht ausreichen.<br />

Wenn 1-n-Beziehungen im Modell als 1-1 dargestellt werden, treten sehr häufig folgende Probleme<br />

auf:<br />

• Doppelzählung für Abfragen mehrerer Ebenen wird nicht automatisch vermieden.<br />

Cognos 8 kann keine Fakten finden und anschließend keine zusammengefügte Abfrage erzeugen,<br />

um die Doppelzählung auszugleichen, was beim Umgang mit hierarchischen Beziehungen<br />

und verschiedenen Ebenen der Granularitäten in angepassten Dimensionen auftreten kann.<br />

• Abfragen mehrerer Fakten werden nicht automatisch gefunden.<br />

Cognos 8 verfügt nicht über ausreichend Informationen, um eine Abfrage mit mehreren Fakten<br />

zu finden. Bei Abfragen mehrerer Fakten wird eine geschlossene Verbindung durchgeführt,<br />

und die Schleifenverbindung wird durch Ablegen der letzten ausgewerteten Verbindung<br />

entfernt. In Abhängigkeit von den Dimensionen und Fakten in der Abfrage kann das Ablegen<br />

einer Verbindung zu falschen oder unerwarteten Ergebnissen führen.<br />

Richtlinien für die Erstellung von Metadatenmodellen 9


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

10 Framework Manager<br />

In Report Studio können Sie diese Probleme umgehen, indem Sie zwischen den Abfragen eine<br />

geschlossene oder offene Verbindung erstellen. Dafür benötigt der Berichtsautor detaillierte<br />

Kenntnisse der Daten. In Query Studio oder Analysis Studio können solche Probleme nicht<br />

umgangen werden.<br />

Analysieren von Modellen für Fakten und Dimensionen<br />

Wenn Sie eine relationale Datenbank für faktübergreifende Abfragen und Analysen dimensional<br />

modellieren möchten, müssen Sie das zugrunde liegende Schema und die Adressbereiche untersuchen,<br />

in denen die Rolle eines Objekts als Fakt oder Dimension nicht eindeutig ist. Diese Untersuchung<br />

kann zur Erstellung einer logischen Schicht führen, um die Daten als Sternschema<br />

darzustellen. Möglicherweise nehmen Sie aber auch Änderungen an der physischen Datenquelle<br />

vor, um eine Anwendung mit höherer Leistung bereitzustellen. Physische Änderungen können u. a.<br />

die Konsolidierung von Tabellen mithilfe von Tools zum Extrahieren/Transformieren/Laden oder<br />

die Erstellung von konvertierten Ansichten für häufig verwendete Aggregationen umfassen.<br />

Möglicherweise müssen Sie in einer relationalen Datenquelle, die nicht anhand von Sternschemakonzepten<br />

entnormalisiert wurde, die Kardinalität der importierten Abfragesubjekte vor der<br />

Erstellung von Dimensionen oder der Konvertierung von Abfragesubjekten in Dimensionen analysieren.<br />

Zunächst müssen Sie die Unternehmensanwendungen der zugrunde liegenden Daten sowie<br />

die Art der Generierung von Abfragen in Cognos 8 verstehen.<br />

Im Kontext einer Abfrage kann ein Abfragesubjekt mit einer Kardinalität von n in allen seinen 1n-Beziehungen<br />

mit anderen Abfragesubjekten als Fakt betrachtet werden. Dies bedeutet, dass<br />

mehr Datenzeilen im Faktabfragesubjekt als im verbundenen Abfragesubjekt auf der Seite 1 der<br />

Beziehung vorhanden sind. Alle Abfragesubjekte auf der Seite 1 einer 1-n-Beziehung mit einem<br />

anderen Abfragesubjekt werden als Dimension behandelt.<br />

In den folgenden Beispielen wird veranschaulicht, wie Schemen interpretiert werden können.<br />

In den ersten beiden Beispielen wird gezeigt, dass sich "Sales Staff" direkt auf "Sales Fact", aber<br />

auch über "Sales Branch" auf "Sales Fact" beziehen kann. Mehrere Vertriebsmitarbeiter gehören<br />

zu einem Vertriebsbüro, und die Mitarbeiter können über einen längeren Zeitraum zu verschiedenen<br />

Vertriebsbüros gehören. Damit der Umsatz in einem Büro zu einem bestimmten Zeitpunkt<br />

korrekt bestimmt werden kann, muss "Sales Branch" direkt, und nicht erst über "Sales Staff", mit<br />

"Sales" verbunden werden.<br />

Beispiel 1<br />

In diesem Beispiel sind alle vier Abfragesubjekte in einer Abfrage enthalten. Das Diagramm zeigt,<br />

dass die Abfragesubjekte als Fakten behandelt werden, die nur n Kardinalitäten besitzen. "Sales<br />

Staff" und "Order Details" werden als Fakten behandelt. "Order Header" und "Sales Branch"<br />

werden als Dimensionen behandelt.<br />

Beispiel 2<br />

In diesem Beispiel sind nur drei Abfragesubjekte in einer Abfrage enthalten. "Order Details" wird<br />

in der Abfrage nicht verwendet. "Order Header" wird nun als Fakt behandelt. "Sales Staff" wird<br />

weiterhin als Fakt behandelt.


Beispiel 3<br />

Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

In diesem Beispiel werden verschiedene Abfragesubjekte veranschaulicht. Pfeile zeigen auf die<br />

Abfragesubjekte, deren Kardinalität angibt, dass sie immer Fakten sind. Bereiche, in denen das<br />

Verhalten vom Kontext der Abfrage abhängt, sind eingekreist. Alle anderen Abfragesubjekte verhalten<br />

sich als Dimensionen in allen Abfragen.<br />

Weitere Informationen finden Sie unter "Das von Cognos 8 generierte SQL" (S. 33).<br />

Vereinfachen von Modellen anhand von dimensionalen Konzepten<br />

Diese Regeln gelten für die Modellierung mit Abfragesubjekten oder Dimensionen:<br />

• Erstellen Sie eine reguläre Dimension für Gruppen von Abfragesubjekten mit hierarchischen<br />

Beziehungen, die ein einzelnes Unternehmenskonzept darstellen (S. 12).<br />

• Erstellen Sie eine Kennzahldimension für Gruppen von Abfragesubjekten mit Faktdaten, die<br />

viele reguläre Dimensionen gemeinsam nutzen oder die eine Beziehung vom Typ Master/Detail<br />

aufweisen (S. 12).<br />

• Verwenden Sie die Kardinalitätsregeln, um Modellbereiche zu erkennen, in denen die Rolle<br />

eines Objekts als Fakt oder Dimension unklar ist. Weitere Informationen finden Sie unter<br />

"Kardinalitäten in generierten Abfragen" (S. 9).<br />

Das Ergebnis der Vereinfachung des Modells sollte eine Schicht regulärer Dimensionen oder Kennzahldimensionen<br />

sein, durch die die Daten zu den Unternehmenskonzepten klar dargestellt und<br />

eine vorhersehbare Abfragengenerierung sichergestellt wird.<br />

Wenn Ihre Datenquelle Fakt-zu-Fakt-Beziehungen enthält, sollten Sie diese in der Datenquelle verarbeiten.<br />

Richtlinien für die Erstellung von Metadatenmodellen 11


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Erstellen von regulären Dimensionen<br />

12 Framework Manager<br />

Normalisierte bzw. "Schneeflocken"-Datenquellen verfügen oft über verschiedene Tabellen, die<br />

ein einzelnes Unternehmenskonzept beschreiben. Eine normalisierte Darstellung von "Product"<br />

kann z. B. vier Tabellen enthalten, die mit 1-n-Beziehungen verbunden sind. Jede "Product Line"<br />

verfügt über einen oder mehrere "Product Types". Jeder "Product Type" verfügt über ein oder<br />

mehrere "Products". Namen und Beschreibungen von Produkten sind in mehreren Sprachen vorhanden,<br />

weshalb sie in einer Nachschlagetabelle "Product" aufgeführt werden.<br />

Ein Endbenutzer kennt möglicherweise nicht die Beziehungen der einzelnen Abfragesubjekte<br />

untereinander. Zusätzlich ist es für den Endbenutzer aufwändiger, die einzelnen Abfragesubjekte<br />

oder Dimensionen erweitern und Abfragelemente auswählen zu müssen.<br />

Bei der dimensionalen Modellierung können Sie eine reguläre Dimension für "Product" erstellen,<br />

wodurch die Verwendung von "Product" für Ad-hoc-Abfragen und -Berichterstellungen vereinfacht<br />

wird und wodurch die Ebenen der Hierarchie als visuelle Hervorhebung der Beziehung der<br />

Ebenen untereinander dargestellt werden.<br />

Wenn Sie ein ReportNet 1.x-Modell verwalten, können Sie ein Modellabfragesubjekt mit Determinanten<br />

anstatt einer regulären Dimension erstellen. Sie können den Präsentationseffekt der Ebenen<br />

mehrfach nutzen, indem Sie Abfrageelementordner verwenden. Das resultierende Modellabfragesubjekt<br />

kann jederzeit in eine reguläre Dimension konvertiert werden.<br />

Erstellen von Kennzahldimensionen<br />

Datenquellen verfügen häufig über Master/Detail-Tabellen, die Fakten enthalten. Beispiele dafür<br />

sind "Order Header" und "Order Detail". Wenn diese Tabellen zum Einfügen und Aktualisieren<br />

von Daten verwendet werden, ist diese Struktur vorteilhaft. Wenn diese Tabellen zum Erstellen<br />

von Berichten und Analysen verwendet werden, kombinieren Sie sie zur Vereinfachung des<br />

Modells in einem einzigen Unternehmenskonzept.<br />

Erstellen Sie zur Vereinfachung des Modells in diesem Beispiel ein Modellabfragesubjekt, das die<br />

Fremdschlüssel von "Order Header" und "Order Detail" miteinander verbindet und alle Kennzahlen<br />

auf der Ebene "Order Detail" enthält. Sie können eine Kennzahldimension auf der Grundlage<br />

des Modellabfragesubjekts erstellen.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Nicht eindeutige Dimensionen und Fakten müssen immer aufgelöst werden. Weitere Informationen<br />

finden Sie unter "Das von Cognos 8 generierte SQL" (S. 33).<br />

Klären nicht eindeutiger Beziehungen<br />

Nicht eindeutige Beziehungen treten auf, wenn die von einem Abfragesubjekt oder einer Dimension<br />

dargestellten Daten in mehreren Kontexten oder Rollen angezeigt werden können. Folgende<br />

nicht eindeutige Beziehungen kommen am häufigsten vor:<br />

• mehrere gültige Beziehungen (S. 13)<br />

• reflexive und rekursive Beziehungen (S. 16)<br />

Sie können nicht eindeutige Beziehungen in Framework Manager klären, oder der Datenbankadministrator<br />

kann sie in der Datenquelle korrigieren. Der Datenbankadministrator kann z. B.<br />

zusätzliche Beziehungen entfernen, auch wenn dies nicht praktisch sein mag. Zur Klärung nicht<br />

eindeutiger Beziehungen im Modell gehört auch die Festlegung, welcher Abfragepfad verwendet<br />

werden soll.<br />

Mehrere gültige Beziehungen<br />

Eine Tabelle mit mehreren gültigen Beziehungen zu einer weiteren Tabelle wird als Dimension mit<br />

unterschiedlichen Rollen bezeichnet. Oft bestehen zwischen regulären Dimensionen und Kennzahldimensionen<br />

mehrere gültige Beziehungen. Dies trifft gewöhnlich für Dimensionen wie<br />

"Time" und "Customer" zu.<br />

Der Fakt "Sales" verfügt z. B. über mehrere Beziehungen zur Zeitdimension mit Schlüsseln, wie<br />

z. B. "Order Day", "Ship Day" und "Close Day".<br />

Schritte<br />

1. Lassen Sie alle Beziehungen in der Importansicht unverändert.<br />

2. Erstellen Sie eine Kennzahldimension für den Fakt.<br />

3. Erstellen Sie eine reguläre Dimension für jede einzelne Dimension.<br />

4. Erstellen oder kopieren Sie die reguläre Dimension für die einzelnen Rollen.<br />

5. Benennen Sie die Dimension, Hierarchie, Ebenen und Attribute entsprechend ihrer Verwendung<br />

um.<br />

Richtlinien für die Erstellung von Metadatenmodellen 13


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

14 Framework Manager<br />

6. Stellen Sie sicher, dass eine einzige geeignete Beziehung zwischen den einzelnen regulären<br />

Dimensionen und der Kennzahldimension oder zwischen den zugrunde liegenden Abfragesubjekten<br />

vorhanden ist.<br />

7. Stellen Sie sicher, dass für jede Rolle eine entsprechende Bereichsbeziehung vorhanden ist.<br />

8. Entscheiden Sie, wie Sie diese Rollen mit anderen Fakten verwenden möchten, die nicht dieselben<br />

Konzepte nutzen.<br />

Product Forecast verfügt z. B. über nur einen Zeitschlüssel.<br />

Sie können einen der folgenden Vorgänge ausführen:<br />

• Kennzeichnen Sie eine bestimmte Zeitdimension als angepasste Zeitdimension.<br />

Sie können die gängigste Rolle auswählen, die Sie verwenden werden, und sie eindeutig<br />

als angepasste Dimension bezeichnen. Anschließend können Sie sicherstellen, dass diese<br />

Version der Dimension mit allen Fakten verbunden wird, für die eine Zeitdimension<br />

erforderlich ist.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

• Sie können "ship day", "order day" und "close day" als austauschbare Zeitdimensionen<br />

mit dem Fakt "Product Forecast" verwenden.<br />

In diesem Fall müssen Sie Verbindungen zwischen den Dimensionen mit unterschiedlichen<br />

Rollen und dem Fakt "Product Forecast" erstellen. Wenn Ihr Bericht Daten enthalten soll,<br />

sollten Sie bei der Abfrage des Fakts "Product Forecast" nur jeweils eine Zeitdimension<br />

verwenden. Beispiel: Month_key=Ship Month Key (200401) und Month key=Close<br />

Month Key (200312).<br />

Richtlinien für die Erstellung von Metadatenmodellen 15


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

16 Framework Manager<br />

Modellobjekte im Vergleich mit Verknüpfungen<br />

Sie können Modellobjekte auf der Grundlage der ursprünglichen Abfragesubjekte erstellen. Diese<br />

Modellobjekte können reguläre Modelldimensionen oder Modellabfragesubjekte sein. Sie können<br />

aber auch Verknüpfungen erstellen.<br />

Verwenden Sie reguläre Modelldimensionen oder Modellabfragesubjekte, wenn Sie benutzerdefinierte<br />

Ansichten desselben Abfragesubjekts erstellen möchten.<br />

Verwenden Sie Verknüpfungen, wenn Sie an mehreren Stellen exakte Kopien einer regulären<br />

Dimension oder eines Abfragesubjekts erhalten möchten.<br />

Eine Verknüpfung, die sich in demselben Verzeichnis wie das Ziel befindet, verhält sich wie ein<br />

Alias oder eine unabhängige Instanz. Eine Verknüpfung, die an anderer Stelle im Modell vorhanden<br />

ist, verhält sich jedoch als Verweis auf das Original. Dieser Ansatz ist aus Sicht der Präsentation<br />

insgesamt weniger flexibel, weil die Umbenennung nur auf Objektebene erfolgen kann.<br />

Reflexive und rekursive Beziehungen<br />

Reflexive und rekursive Beziehungen besitzen zwei oder mehr Granularitätsebenen. Framework<br />

Manager importiert reflexive Beziehungen, verwendet sie aber nicht bei der Ausführung von<br />

Abfragen. Reflexive Beziehungen, die Verbindungen zu sich selbst sind, werden im Modell allein<br />

zum Zweck der Darstellung angezeigt.<br />

Wenn Sie eine funktionsfähige reflexive Beziehung erstellen möchten, müssen Sie einen Alias<br />

erstellen, der entweder eine Verknüpfung zum Abfragesubjekt in demselben Ordner oder ein<br />

Modellabfragesubjekt auf der Grundlage des Abfragesubjekts verwendet. Anschließend erstellen<br />

Sie eine Beziehung zwischen dem Abfragesubjekt und dem Alias. Die Verwendung eines Modellabfragesubjekts<br />

ist dazu tendenziell eher geeignet, weil Sie festlegen können, welche Abfageelemente<br />

in das Abfragesubjekt integriert werden sollen.<br />

Das Abfragesubjekt "Staff" verfügt z. B. über eine rekursive Beziehung zwischen "Staff Key" und<br />

"Manager Key".


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Schritte<br />

1. Erstellen Sie ein Modellabfragesubjekt zum Darstellen der Manager.<br />

2. Wählen Sie aus, welche Elemente für Manager gelten, und geben Sie ihnen einen neuen, aussagekräftigen<br />

Namen.<br />

3. Erstellen Sie eine 1:1- bis 1:n-Beziehung zwischen Mitarbeitern und Manager.<br />

Bei einer einfachen Struktur auf zwei Ebenen unter Verwendung eines Modellabfragesubjekts<br />

für Manager, das auf den Mitarbeitern basiert, sieht das Modell folgendermaßen aus:<br />

4. Wiederholen Sie bei einer rekursiven Hierarchie diese Schritte für jede zusätzliche Ebene in der<br />

Hierarchie.<br />

Wie empfehlen bei einer rekursiven Hierarchie mit vielen Ebenen, dass die Ebenen der Hierarchie<br />

in der Datenquelle reduziert werden und Sie ein Modell dieser reduzierten Hierarchie in<br />

einer einzigen regulären Dimension erstellen.<br />

5. Wählen Sie die Abfragesubjekte aus, klicken Sie mit der rechten Maustaste darauf, und klikken<br />

Sie auf Merge in New Regular Dimension.<br />

Definieren von Dimensionen und Determinanten<br />

Verwenden Sie Dimensionen und Determinanten, um zu gewährleisten, dass die Aggregation in<br />

Berichten korrekt ist und dass Abfragen korrekt generiert werden.<br />

Verwenden Sie reguläre Dimensionen, um beschreibende Informationen zu organisieren und darzustellen<br />

und somit die Endbenutzer effektiv durch die Berichterstellungstools zu führen. Hierarchien<br />

werden von oben nach unten dargestellt, d. h. von der gröbsten Granularitätsebene zur<br />

feinsten.<br />

Die regulären Dimensionen der Datenquelle behandeln Hierarchie- und Ebeneninformationen so,<br />

als wären sie Determinanten.<br />

Reguläre Modelldimensionen erfordern, dass Determinanten für die zugrunde liegenden Abfragesubjekte<br />

angegeben werden.<br />

Verwenden Sie Determinanten, um anzugeben, welche Daten eindeutig sind.<br />

Wenn eine Determinante Attribute definiert, müssen alle Abfrageelemente im Abfragesubjekt entweder<br />

als Schlüssel oder als Attribut definiert werden. Die Verwendung einer Determinante ohne<br />

definierte Attribute ist möglich. Framework Manager verwendet diesen Determinantentyp, um<br />

anzuzeigen, welche Abfrageelemente indiziert sind.<br />

Richtlinien für die Erstellung von Metadatenmodellen 17


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

18 Framework Manager<br />

Verbindungen und Granularität sind die entscheidenden Faktoren der SQL-Generierung. Geben<br />

Sie Granularität für die Objekte an, die über Beziehungen verfügen, indem Sie entweder eine Hierarchie<br />

oder Determinanten für diejenigen Objekte verwenden, zu denen die Verbindung hergestellt<br />

wird.<br />

Sie müssen reguläre Dimensionen und Kennzahldimensionen verwenden, um die Analyse Ihrer<br />

relationalen Datenquelle zu aktivieren. Bei den meisten Datenquellen ist es wahrscheinlich, dass<br />

die regulären Dimensionen, die die beschreibenden Informationen enthalten, von mehr als einer<br />

Kennzahldimension gemeinsam verwendet werden. Reguläre Dimensionen werden häufig als<br />

gemeinsame Dimensionen bezeichnet. Reguläre Dimensionen und Kennzahldimensionen, die als<br />

Cluster organisiert sind, werden oft als Sternschemagruppe bezeichnet, doch können sie auch als<br />

funktionale Gruppe oder Subjektbereichsgruppe bezeichnet werden.<br />

Kennzahldimensionen stehen über die regulären Dimensionen miteinander in Beziehung. Zum<br />

Erstellen von Berichten, die Funktionsbereiche vollständig vergleichen und einander gegenüberstellen,<br />

müssen Sie in einem Bericht eventuell mehr als eine Kennzahldimension verwenden.<br />

Bei der Abfrage in Sternschemata oder Funktionsbereichen müssen Sie die Rolle der Hierarchie bei<br />

der Abfragegenerierung beachten:<br />

• Abfrage mehrerer Fakten und mehrerer Ebenen (S. 18)<br />

• Mehrere Hierarchien (S. 22)<br />

Abfrage mehrerer Fakten und mehrerer Ebenen<br />

Abfragen mehrerer Fakten und mehrerer Ebenen treten auf, wenn Dimensionen auf verschiedenen<br />

Ebenen mit mehreren Faktentabellen verwandt sind. Eine Dimension verfügt normalerweise über<br />

unterschiedliche Ebenen an Attributdaten mit Unternehmensschlüsseln, zwischen denen eine hierarchische<br />

Beziehung besteht. Die Berichterstellungstools aggregieren automatisch zur niedrigsten<br />

gemeinsamen Ebene, die in dem Bericht vorhanden ist. Die hierarchische Beziehung zwischen Ebenenschlüsseln<br />

wird dazu verwendet, Daten auf der untersten im Bericht enthaltenen Ebene zu<br />

aggregieren. Die Gefahr der doppelten Zählung tritt auf, wenn die Gesamtsummen der Spalten<br />

gebildet werden und Daten darin wiederholt vorkommen. Bei korrekter Modellierung der Granularitätsebene<br />

der Daten lässt sich die doppelte Zählung vermeiden.<br />

Hinweis: Sie können einen Bericht mit Daten auf einer Hierarchieebene erstellen, unter der diese<br />

Daten vorhanden sind. Dadurch wiederholen sich zwar die Daten über alle Mitglieder dieser<br />

Ebene, aber die Gesamtsummen sind nicht betroffen.<br />

Dieses Beispiel zeigt zwei Kennzahldimensionen für Datenquellen, nämlich "Sales" und "Product<br />

forecast", die zwei reguläre Dimensionen gemeinsam verwenden: "Time" und "Product".


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Die Dimension "Time" ist der Schwerpunkt der Granularitätsproblematik dieses Beispiels. In der<br />

zugrunde liegenden Datenquelle ist "Sales" mit "Time" am "Day"-Schlüssel verbunden, und<br />

"Product forecast" ist mit "Time" am "Month"-Schlüssel verbunden. Aufgrund der unterschiedlichen<br />

Verbindungsschlüssel müssen mindestens zwei Ebenen eindeutig mit Schlüsseln für die<br />

"Time"-Dimension gekennzeichnet sein.<br />

Datenquellendimensionen<br />

Wir empfehlen Ihnen, beim Verwenden von Datenquellendimensionen alle Ebenen zu erstellen, die<br />

für die Berichterstellung notwendig sein könnten, und nicht nur jene Ebenen, die sofort notwendig<br />

sind.<br />

Die Schlüssel der Ebenen "Month" und "Day" wurden z. B. angegeben. "Day" ist die unterste<br />

Ebene der Hierarchie und das Feld Unique Level ist ausgewählt, weil diese Daten in der zugrunde<br />

liegenden Datenquelle eindeutig sind.<br />

Beispielsweise lauten die Ebenendefinitionen für "Month" wie folgt:<br />

Beispielsweise lauten die Ebenendefinitionen für "Day" wie folgt:<br />

Richtlinien für die Erstellung von Metadatenmodellen 19


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

20 Framework Manager<br />

Die Dimension "Product" hat drei Ebenen: "Product line", "Product type" und "Product". Sie<br />

steht in Beziehung zu beiden Faktentabellen am "Product"-Schlüssel. Alle Verbindungen in den<br />

zugrunde liegenden Tabellen erscheinen am "Product"-Schlüssel, sodass es in dieser Dimension<br />

keine Granularitätsprobleme gibt. Jegliche Hierarchie, die Sie erstellen, dient allein dem Drilling<br />

und der Aufsummierung.<br />

Standardmäßig wird ein Bericht aggregiert, um Datensätze aus jeder Faktentabelle auf der untersten<br />

gemeinsamen Ebene der Granularität abzurufen. Wenn Sie einen Bericht erstellen, der "Quantity"<br />

aus "Sales" verwendet, "Expected volume" aus "Product forecast", "Month_name" aus der<br />

Dimension "Time" und "Product_name" aus der Dimension "Product", ruft der Bericht Datensätze<br />

aus jeder Faktentabelle auf der untersten gemeinsamen Ebene der Granularität ab. In diesem<br />

Beispiel handelt es sich um die Monats- und Produktebenen.<br />

Wenn Sie die Ebenen der Hierarchie nicht ordnungsgemäß in der Dimension "Time" angeben,<br />

kann fehlerhafte Aggregation auftreten. So werden beispielsweise die Werte für "Expected<br />

volume", die sich auf der Ebene "Month" in "Product forecast" befinden, auf Grundlage der tieferen<br />

Zeitebene, d. h. "Days" in der Dimension "Time", aufsummiert. Die Werte für "Expected<br />

volume" werden mit der Anzahl der Tage im Monat multipliziert.<br />

Um eine doppelte Zählung zu verhindern, wenn Daten auf mehreren Granularitätsebenen vorhanden<br />

sind, müssen Sie eine Hierarchie für die Dimension "Time" erstellen und die Ebenen mit den<br />

Schlüsseln korrekt angeben.<br />

Beachten Sie die unterschiedlichen Zahlen in der Spalte "Expected volume". Eine doppelte Zählung<br />

wurde verhindert.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Reguläre Modelldimensionen und Abfragesubjekte mit Determinanten<br />

Determinanten sind nicht mit Ebenen und Hierarchien identisch, können aber eng mit einer einzelnen<br />

Hierarchie verbunden sein. Die Abfragen-Engine wertet Determinanten von der ersten bis zur<br />

letzten aus. Es können ein oder mehrere Determinanten angegeben werden.<br />

Wenn eine reguläre Modelldimension auf einem Abfragesubjekt mit angegebenen Determinanten<br />

basiert, wird empfohlen, dass<br />

• jeder im Abfragesubjekt vorhandenen Determinante eine Ebene entspricht<br />

• die Reihenfolge der Ebenen in der Hierarchie die Reihenfolge der Determinanten widerspiegelt<br />

Das führt zu einem einheitlichen Modell und erleichtert das Aktualisieren des Modells in zukünftigen<br />

Versionen von Cognos-Produkten.<br />

Wenn Sie Modelldimensionen verwenden, beginnen Sie mit den Abfragesubjekten, die die Basis<br />

der Dimension darstellen. Wir empfehlen, für jede Ebene, die für die Berichterstellung notwendig<br />

sein könnte, eine Determinante zu erstellen, und nicht nur für die Ebenen, die sofort notwendig<br />

sind.<br />

Hier ist z. B. eine Lösung für die Dimension "Time", die eine Alternative zu der weiter oben<br />

beschriebenen Art des Verwendens von Dimensionen darstellt. Für "Month" und "Day" sind<br />

Determinanten festgelegt. Beachten Sie, dass "Day" die unterste Ebene der Hierarchie ist.<br />

Beispielsweise lauten die Determinanten für "Month" wie folgt:<br />

Beispielsweise lauten die Determinanten für "Day" wie folgt:<br />

Richtlinien für die Erstellung von Metadatenmodellen 21


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Mehrere Hierarchien<br />

22 Framework Manager<br />

Das Kontrollkästchen Uniquely Identified ist nur für die unterste Ebene der Hierarchie aktiviert,<br />

da die Daten in dieser Spalte für jede Zeile in der zugrunde liegenden Datenquelle eindeutig sind.<br />

Das Kontrollkästchen Group By ist für alle Ebenen aktiviert, deren Daten nicht eindeutig sind.<br />

Falls eine Aggregation für ein zugehöriges Attribut erforderlich ist, sollte der für die Determinante<br />

definierte Schlüssel in einer Group By-Klausel in der Abfrage verwendet werden. Ebenso gilt: Falls<br />

ein Attribut einer Group By-Ebene in einer Abfrage enthalten ist, kann eine Minimum-Aggregatfunktion<br />

verwendet werden, um zu gewährleisten, dass der Wert in der Abfrage eindeutig ist.<br />

Die Hierarchie für die reguläre Modelldimension wäre identisch mit der hier gezeigten für die<br />

Datenquellendimension.<br />

Informationen über das SQL und die Ergebnisse für dieses Beispiel finden Sie unter "Abfrage mehrerer<br />

Fakten und mehrerer Ebenen von angepassten Dimensionen" (S. 34).<br />

Mehrere Hierarchien treten auf, wenn auf dieselben Daten unterschiedliche Strukturansichten<br />

angewendet werden können. Sie sollten das Modellerstellungsverfahren, das auf einen bestimmten<br />

Fall angewendet wird, in Abhängigkeit von den Hierarchien und den erforderlichen Berichte<br />

bewerten.<br />

In Framework Manager können Sie für reguläre Dimensionen mehrere Hierarchien angeben.<br />

Mehrere Hierarchien für eine reguläre Dimension verhalten sich wie Ansichten derselben Abfrage.<br />

Sie können die verschiedenen Hierarchien einer Dimension nicht in einer einzelnen Berichtsabfrage<br />

verwenden.<br />

Beispielsweise können Vertriebsmitarbeiter nach Manager oder geografischer Region angezeigt<br />

werden. In den Tools zur Berichterstellung sind diese Hierarchien getrennte, aber austauschbare<br />

logische Strukturen, die an dieselbe zugrunde liegende Abfrage gebunden sind.<br />

Nachfolgend sind die Vertriebsmitarbeiter als einzelne Dimension mit zwei Hierarchien abgebildet:


Die Hierarchien sind in Framework Manager wie folgt definiert.<br />

Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Wenn Sie mehrere Hierarchien aus einer Dimension in einem Bericht benötigen, z. B. auf gegenüberliegenden<br />

Achsen, müssen Sie für jede Hierarchie eine reguläre Dimension erstellen. Jede reguläre<br />

Dimension muss eine einzelne eindeutige Hierarchie sein. Auf diese Weise können Sie<br />

denselben oder einen leicht unterschiedlichen SQL-Block mehrere Male ausgeben.<br />

Nachfolgend sind für jede Hierarchie separate Dimensionen abgebildet.<br />

Verwenden Sie diesen Ansatz, wenn für jede Hierarchie sehr unterschiedliche Spaltensätze relevant<br />

sind. Für Endbenutzer ist es leichter zu erfassen, wenn die Hierarchien als separate Dimensionen<br />

mit separaten und einfacheren Abfragen modelliert sind.<br />

Richtlinien für die Erstellung von Metadatenmodellen 23


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Erstellen von Sternschemagruppen<br />

24 Framework Manager<br />

Sternschemagruppen können das Modell für Endbenutzer intuitiver machen, indem sie anzeigen,<br />

welche regulären Dimensionen und Kennzahldimensionen miteinander verbunden sind. Sternschemagruppen<br />

können auch das Erstellen von Berichten erleichtern, die mehrere Fakten beinhalten,<br />

indem sie angeben, wie die regulären Dimensionen, die in vielen Kennzahldimensionen vorhanden<br />

sind, verwendet werden. Das Erstellen von Berichten, die mehrere Fakten beinhalten, wird auch<br />

"funktionsübergreifende Berichterstellung" genannt.<br />

Sternschemagruppen stellen auch einen Kontext für Abfragen mit nicht eindeutigen Verbindungen<br />

bereit. Durch das Erstellen von Sternschemagruppen in der Geschäftsansicht des Modells können<br />

Sie klären, welcher Verbindungspfad auszuwählen ist, wenn mehrere Verbindungspfade zur Verfügung<br />

stehen. Dies ist insbesondere hilfreich für Abfragen ohne Fakten.<br />

Mehrere angepasste Sternschemata oder Abfragen ohne Fakten<br />

Es ist sehr wahrscheinlich, dass angepasste reguläre Dimensionen zwischen Kennzahldimensionen<br />

angezeigt werden. Uneindeutige Verbindungen sind dann ein Problem, wenn Sie einen Bericht mit<br />

Elementen aus mehreren Dimensionen erstellen, ohne Elemente aus der Kennzahldimension miteinzubeziehen.<br />

Bei dieser Situation spricht man auch von einer Abfrage ohne Fakten.<br />

"Product" und "Time" sind beispielsweise reguläre Dimensionen, die mit den Kennzahldimensionen<br />

"Product forecast" und "Sales" verwandt sind.<br />

Wie erstellen Sie mithilfe dieser Beziehungen einen Bericht, der lediglich die Elemente "Product"<br />

und "Year" verwendet? Die betriebswirtschaftliche Fragestellung könnte lauten: Der Verkauf welcher<br />

Produkte wurde für 2005 prognostiziert? Oder: Welche Produkte wurden 2005 tatsächlich<br />

verkauft? Obwohl diese Abfrage nur die Dimensionen "Product" und "Time" erfordert, sind die<br />

Dimensionen dennoch durch mehrere Kennzahldimensionen miteinander verbunden. Es gibt keine<br />

Möglichkeit, herauszufinden, welche betriebswirtschaftliche Fragestellung gestellt wird. Sie müssen<br />

den Kontext für die Abfrage ohne Fakten festlegen.<br />

In Bezug auf dieses Beispiel empfehlen wir, dass Sie zwei Namespaces erstellen, wobei der eine<br />

"Product", "Time" und "Product forecast" enthält und der andere "Product", "Time" und<br />

"Sales".


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Verwenden Sie zum Erstellen dieser Namespaces den Create Star Schema Grouping-Assistenten,<br />

um die korrekten Dimensionen für jede Kennzahl auszuwählen, Verknüpfungen für alle Objekte<br />

zu erstellen und die Verknüpfungen in einen neuen Namespace zu verschieben.<br />

Wenn Sie diesen Vorgang bei allen Sternschemata durchführen, lösen Sie die uneindeutigen Verbindungen<br />

durch das Erstellen von Verknüpfungen mit der Kennzahldimension und allen regulären<br />

Dimensionen in einem einzigen Namespace auf. In jedem Namespace sind die Verknüpfungen<br />

für angepasste Dimensionen identisch und stellen Verweise auf das ursprüngliche Objekt dar.<br />

Mit einem Namespace für jedes Sternschema ist dem Endbenutzer nun klar, welche Elemente zu<br />

verwenden sind. Um einen Bericht "Products Sold in 2005" (die 2005 verkauften Produkte) zu<br />

erstellen, verwenden die Benutzer "Product" und "Year" aus dem Namespace "Sales". Die einzige<br />

Beziehung, die in diesem Kontext von Belang ist, ist die Beziehung zwischen "Product", "Time"<br />

und "Sales", und diese wird zum Zurückgeben der Daten verwendet.<br />

Aktualisieren von Best-Practices-Modellen von ReportNet 1.x<br />

Teil der Cognos 8-Installation ist die automatische Aktualisierung aller publizierten Modelle für<br />

die Verwendung in Cognos 8. Um die Berichterstellung zu starten, müssen Sie diese Modelle nicht<br />

ändern. Wenn Sie Änderungen in den Daten oder Metadaten übernehmen oder neue Funktionen<br />

verwenden möchten, müssen Sie das Modell in Framework Manager aktualisieren. Beim Aktualisieren<br />

müssen Sie entscheiden, wann und wo Sie neue Funktionen verwenden möchten. Mit den<br />

Tools in Framework Manager wird das Aktualisieren mit neuen Funktionen basierend auf den<br />

vorhandenen Metadaten im Modell erleichtert.<br />

Wenn Sie für die Erstellung des ReportNet 1.x-Modells die Empfehlungen in Modeling in<br />

Framework Manager for Predictable Queries and Results verwendet haben, die Sie auf der Support-Website<br />

von Cognos (http://support.cognos.com) finden, empfiehlt sich der folgende Workflow:<br />

❑ Überprüfen Sie das vorhandene Modell (S. 26).<br />

❑ Aktualisieren Sie das Modell (S. 26).<br />

❑ Definieren Sie Dimensionen und Determinanten (S. 17).<br />

❑ Erstellen Sie Kennzahldimensionen, oder konvertieren Sie die Fakten in Kennzahldimensionen.<br />

❑ Erstellen und testen Sie Sternschemagruppen (S. 24).<br />

❑ Publizieren Sie die Metadaten neu.<br />

Informationen zu den hier nicht behandelten Themen finden Sie unter "Preparing Relational<br />

Metadata for Use in Reports" und "Making Metadata Available to Report Authors" im Framework<br />

Manager User Guide.<br />

Richtlinien für die Erstellung von Metadatenmodellen 25


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

26 Framework Manager<br />

Alle Beispiele in diesem Dokument verwenden die Datenbankansicht des normalisierten Modells<br />

"gosales_goretailers" oder die Importansicht des Modells "go_data_warehouse", die in den<br />

Cognos 8-Beispielen enthalten sind.<br />

Überprüfen des vorhandenen Modells<br />

In ReportNet 1.x wurden für Dimensionsinformationen die Konzepte von Eindeutigkeit und<br />

Dimensionshierarchien kombiniert. In Cognos 8 wurde das Konzept der Dimensionsinformationen<br />

zur Kontrolle von Eindeutigkeit und Granularität aufgeteilt. Diese Kontrolle ist für Abfragesubjekte<br />

erforderlich, die auf Relationen basieren, sowie für explizit adressierte Konzepte von<br />

Hierarchien und Ebenen für dimensionale Objekte, selbst auf relationalen Quellen.<br />

Beim Überprüfen von Dimensionsinformationen müssen Sie verstehen, wie die Dimensionsinformationen<br />

auf das Abfragesubjekt angewendet werden und wie das Abfragesubjekt im Cognos 8-<br />

Modell verwendet wird.<br />

Vor dem Aktualisieren des Modells auf Cognos 8 sollten Sie das ReportNet 1.x-Modell mithilfe<br />

des Dokuments Modeling in Framework Manager for Predictable Queries and Results überprüfen.<br />

Sie müssen sicherstellen, dass die Dimensionsinformationen korrekt angegeben wurden. Beim<br />

Aktualisierungsprozess werden die Dimensionsinformationen für das Erstellen von Dimensionen<br />

oder Determinanten verwendet. Mit Dimensionen und Determinanten werden in Cognos 8 die<br />

Granularität und die automatische Aggregation gesteuert und Doppelzählungen vermieden.<br />

Es wird dringend empfohlen, dass Sie in ReportNet 1.x den Befehl Verify Model ausführen. Beheben<br />

Sie alle Fehler, und überprüfen Sie alle Warnungen, bevor Sie die Aktualisierung starten.<br />

Aktualisieren des Modells<br />

Nach der automatischen Aktualisierung des Modells in Cognos 8 müssen Sie die neuen Funktionen<br />

manuell überprüfen, da einige das Abfrageverhalten ändern. Die anfängliche automatische<br />

Aktualisierung auf Cognos 8 erzeugt ein Modell, das auf einem Cognos 8-Berichtsserver publiziert<br />

werden kann.<br />

Die meisten Änderungen an Modellkonzepten in Cognos 8 gibt es in den Bereichen von Datentypen,<br />

Dimensionen und Determinanten.<br />

Änderungen an Datentypen<br />

In Cognos 8 wurde die Unterstützung für neue Datentypen hinzugefügt. Dadurch kann es Änderungen<br />

bei der Verknüpfung von Datentypen zwischen Cognos und den Quelldaten beim Metadaten-Import<br />

geben. Die wichtigsten Änderungsbereiche sind:<br />

• nChar<br />

In einigen Fällen wird der Datentyp char zu nChar.<br />

• nVarChar<br />

In einigen Fällen wird der Datentyp varChar zu nVarChar.<br />

• numeric<br />

In einigen Fällen wird der Datentyp decimal zu numeric.<br />

• timestampTZ<br />

In einigen Fällen wird der Datentyp varChar zu timestampTZ.<br />

• IntervalTZ<br />

In einigen Fällen wird der Datentyp varChar zu IntervalTZ.<br />

Die Verknüpfung dieser Datentypen unterscheidet sich nach dem Hersteller der Datenquelle und<br />

kann über den Abschnitt für die Datentypunterstützung auf der Support-Website von Cognos<br />

(http://support.cognos.com) bestätigt werden.<br />

Der Gouverneur Allow enhanced model portability at runtime wird bei der anfänglichen Aktualisierung<br />

ausgewählt. Durch diesen Gouverneur wird die rigorose Erzwingung der Datentypen verhindert,<br />

sodass das Cognos 8-Modell als ReportNet 1.x-Modell verwendet werden kann, bis Sie<br />

die Datentypen in den Metadaten aktualisieren.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Die neuen Datentypen können nicht basierend auf den vorhandenen, im Modell gespeicherten<br />

Datentypen automatisch ermittelt werden. Verwenden Sie daher die Befehle Verify Model, Verify<br />

Selected Objects oder Update Object, um die Verknüpfung der Datentypen zu aktualisieren.<br />

Dimensionen und Determinanten<br />

In ReportNet 1.x wurden für Dimensionsinformationen die Konzepte von Eindeutigkeit und<br />

Dimensionshierarchien kombiniert. In Cognos 8 wurde das Konzept der Dimensionsinformationen<br />

zur Kontrolle von Eindeutigkeit und Granularität aufgeteilt. Diese Kontrolle ist für Abfragesubjekte<br />

erforderlich, die auf Relationen basieren, sowie für explizit adressierte Konzepte von<br />

Hierarchien und Ebenen für dimensionale Objekte, selbst auf relationalen Quellen.<br />

Beim Überprüfen von Dimensionsinformationen müssen Sie verstehen, wie die Dimensionsinformationen<br />

auf das Abfragesubjekt angewendet werden und wie das Abfragesubjekt im Cognos 8-<br />

Modell verwendet wird.<br />

Die zuvor durch Dimensionsinformationen angegebenen Metadaten bleiben im Modell implizit<br />

erhalten und bestehen für Abfragesubjekte weiter, bis diese Abfragesubjekte repariert werden. Sie<br />

können diese Dimensionsinformationen nicht ändern. Sie können die Dimensionsinformationen<br />

auf reguläre Dimensionen oder Determinanten aktualisieren. Bis zur Aktualisierung des Abfragesubjekts<br />

verwendet die Cognos 8-Abfragegenerierung die zuvor in ReportNet 1.x angegebenen<br />

Dimensionsinformationen.<br />

Der Gouverneur Allow dynamic generation of dimension information wird bei der anfänglichen<br />

Aktualisierung ausgewählt. Mit diesem Gouverneur wird einheitliches Verhalten mit ReportNet<br />

1.x sichergestellt, indem eine Form von Dimensionsinformationen aus den Beziehungen, Schlüsselinformationen<br />

und Indexinformationen in der Datenquelle abgeleitet wird.<br />

Weitere Informationen finden Sie unter "Neue Objekte in Cognos 8" (S. 6).<br />

Überprüfen und Reparieren des Modells<br />

Nach der automatischen Aktualisierung der Metadaten werden Sie von Framework Manager zur<br />

Überprüfung des Modells aufgefordert. Es wird dringend empfohlen, dass Sie diesen Schritt durchführen,<br />

bevor Sie Änderungen am Modell vornehmen.<br />

Übersicht über Warnungen<br />

Beim Überprüfen eines ReportNet 1.x-Modells werden häufig Warnungen mit folgendem Inhalt<br />

angezeigt:<br />

• Neubewertung erforderlich<br />

Diese Meldung bezieht sich meistens auf Änderungen der Datentypen.<br />

Die Mehrzahl der Elemente mit dieser Warnung kann zum Reparieren ausgewählt werden.<br />

Die Reparaturoption führt Sie durch die Optionen für die Auswertung und Aktualisierung<br />

bestimmter Elemente der Metadaten.<br />

Tipp: Sie können ein Abfragesubjekt auch über den Befehl Evaluate Object im Menü Tools<br />

auswerten.<br />

• Der Verbindungsausdruck widerspricht den Determinanteninformationen, die im Abfragesubjekt<br />

definiert sind.<br />

In einigen Fällen besitzen Index- und Schlüsselinformationen, die für ein Abfragesubjekt angegeben<br />

wurden, eine Granularitätsebene, die nicht mit den für ein Abfragesubjekt angegebenen<br />

Beziehungen übereinstimmt. Weitere Informationen finden Sie unter "Definieren von Dimensionen<br />

und Determinanten" (S. 17).<br />

• Für keine Abfrageelemente in dieser Ebene wurde die Caption-Rolle angegeben.<br />

Beim Definieren von Ebenen müssen Sie sicherstellen, dass ein Unternehmensschlüssel und<br />

Caption-Rollen angegeben wurden. Diese Rollen sind für Mitgliederfunktionen in den Tools<br />

zur Berichterstellung wichtig und hilfreich in der mitgliederorientierten Verzeichnisstruktur in<br />

Analysis Studio.<br />

• Eine oder mehrere Determinanten, die die Schlüssel und Attribute des Abfragesubjekts<br />

beschreiben, sollten definiert sein.<br />

Richtlinien für die Erstellung von Metadatenmodellen 27


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

28 Framework Manager<br />

Beim Importieren aus einer relationalen Datenquelle werden Determinanten für alle in der<br />

Datenquelle vorhandenen Indizes und Schlüssel angegeben. Es ist möglich, dass auf einem von<br />

ReportNet 1.x aktualisierten Abfragesubjekt, insbesondere für Modellabfragesubjekte, keine<br />

Determinanten vorhanden sind. Sie sollten Determinanten verwenden, um die Granularität<br />

der Daten im Abfragesubjekt und die Funktionsabhängigkeiten zwischen den Abfrageelementen<br />

ausdrücklich anzugeben. Die Angabe von Determinanten für Abfragesubjekte, die für eine<br />

einzelne Ebene oder Faktdaten stehen, ist jedoch nicht obligatorisch. Determinanten sind<br />

lediglich für Elemente vom Datentyp BLOB erforderlich.<br />

Auswählen und Reparieren von Objekten<br />

Sie können alle Elemente mit Kontrollkästchen auswählen und reparieren. Beim Reparaturprozess<br />

werden alle ausgewählten Elemente zunächst ausgewertet. Die Auswertung löst automatisch Probleme<br />

mit neuen Datentypen und fordert Sie zur Behandlung von Dimensionsinformationen im<br />

Modell auf. Sie sollten die meisten Abfragesubjekte, die Dimensionsinformationen in ReportNet<br />

1.x verwendet haben, auf Dimensionen aktualisieren.<br />

Konvertieren von Abfragesubjekten in Dimensionen<br />

Mithilfe der Dimensionsinformationen im Abfragesubjekt können Sie ein Abfragesubjekt in eine<br />

Dimension konvertieren. Darüber hinaus können Sie jederzeit nach der Aktualisierung eine<br />

Dimension mit Determinanten in ein Abfragesubjekt konvertieren.<br />

Dimensionsinformationen werden wie folgt mit regulären Dimensionen verknüpft.<br />

Dimensionsinformationen Reguläre Dimension<br />

Hierarchien Hierarchien<br />

Ebenen Ebenen<br />

Die erste Ebene der Hierarchie wird automatisch als Ebene<br />

"All" definiert. Sie enthält ein einzelnes Root-Mitglied, das die<br />

oberste Ebene der Hierarchie darstellt.<br />

Die Ebene "All" kann weder gelöscht noch verschoben werden.<br />

Sie können jedoch den Namen, die Beschreibung und den Bildschirm-Tipp<br />

ändern.<br />

Schlüssel _businessKey-Rolle<br />

Eindeutiger Schlüssel Eindeutige Ebene<br />

Erstes Textattribut nach dem<br />

Alphabet<br />

_memberCaption-Rolle<br />

Alle anderen Attribute Können manuell als _memberDescription, benutzerdefinierte<br />

Rolle oder keine Rolle zugewiesen werden<br />

Das Abfragesubjekt "Product" in ReportNet 1.x hat beispielsweise folgende Dimensionsinformationen.


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Wenn Sie dieses Abfragesubjekt in eine reguläre Dimension konvertieren, werden die Dimensionsinformationen<br />

für die Erstellung dieser Hierarchien und Ebenen in Cognos 8 verwendet.<br />

Was Sie überprüfen sollten<br />

Nach der Konvertierung müssen Sie Folgendes überprüfen:<br />

• Eindeutige Ebene<br />

Eine eindeutige Ebene gibt an, dass die Schlüssel der darüber befindlichen Ebenen nicht notwendigerweise<br />

die Mitglieder in dieser Ebene identifizieren.<br />

• memberCaption-Rolle<br />

Um Mitgliederfunktionen zu nutzen und das Ziehen und Ablegen von Ebenen in den<br />

Berichterstellungstools zu ermöglichen, müssen Sie jeder Ebene in einer Dimension eine memberCaption<br />

zuweisen. Da diese Rolle in ReportNet 1.x nicht vorhanden ist, wird sie überall,<br />

wo dies möglich ist, verknüpft. Wenn es für die Ebene keine Attribute gibt, wird das Fehlen<br />

einer Caption-Rolle beim Überprüfen des Modells hervorgehoben.<br />

• Attribute<br />

In der Regel sollten alle anderen Attribute in die Dimension eingefügt und der richtigen Ebene<br />

zugeordnet werden. Standardmäßig werden sie ohne Rolle eingefügt. Sie können benutzerdefinierte<br />

Rollen erstellen oder vorhandenen Rollen Attribute zuweisen.<br />

• Mehrere Hierarchien<br />

Richtlinien für die Erstellung von Metadatenmodellen 29


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

30 Framework Manager<br />

Nur die erste Hierarchie aus einem ReportNet 1.x-Abfragesubjekt wird auf eine Dimension<br />

aktualisiert. Alle anderen Hierarchien müssen Sie neu erstellen.<br />

Beispielsweise können Sie das Abfragesubjekt "Product" nach der Aktualisierung auf eine reguläre<br />

Dimension noch näher festlegen. In diesem Beispiel wird "Product name" jetzt als memberCaption-Rolle<br />

definiert.<br />

Konvertieren von Dimensionsinformationen in Determinanten<br />

Beim Verwalten von Modellen, die nicht vollständig den ReportNet 1.x-Empfehlungen entsprechen,<br />

sollten Sie Abfragesubjekte beibehalten. Dimensionsinformationen werden dann wie folgt<br />

mit Determinanten verknüpft.<br />

Dimensionsinformationen Determinanten<br />

Hierarchien Reihenfolge der Determinanten<br />

Ebenen Determinanten<br />

Uniquely Identified<br />

Group By<br />

"Unique Key" wurde nicht ausgewählt<br />

"Unique Key" wurde ausgewählt<br />

Schlüsselsegmente aus einer höheren Ebene sind im Schlüssel<br />

enthalten.<br />

Nur das Schlüsselsegment bzw. die Segmente für die Ebene<br />

sind im Schlüssel enthalten.<br />

Attribute Attribute<br />

Nicht zugeordnete Attribute werden der letzten Determinante<br />

zugewiesen, die in der Regel der untersten Ebene entspricht.<br />

Beispielsweise sieht in ReportNet 1.x das Abfragesubjekt "Product" mit den Dimensionsinformationen<br />

folgendermaßen aus:


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

Wenn Sie es in ein Abfragesubjekt mit Determinanten konvertieren, sieht es so aus:<br />

Was Sie überprüfen sollten<br />

Nach der Konvertierung müssen Sie Folgendes überprüfen:<br />

• Eindeutig identifiziert<br />

Das Kontrollkästchen Uniquely Identified gibt an, dass eine Determinante eine Zeile im<br />

Datensatz eindeutig identifiziert.<br />

• Gruppieren nach<br />

Mit dem Kontrollkästchen Group By wird eine obligatorische Gruppierung für jede Abfrage<br />

mit dieser Determinanten oder für jedes von ihr ermittelte Element veranlasst. Auf diese Weise<br />

wird die Doppelzählung vermieden, zu der es kommen kann, wenn Dimensionen auf verschiedenen<br />

Schlüsseln auf unterschiedlichen Granularitätsebenen miteinander verbunden werden.<br />

Wenn Attributelemente von einer Determinanten mit ausgewähltem Kontrollkästchen Group<br />

By ermittelt werden, wird auf sie in der Abfrage die Aggregatfunktion Minimum angewendet.<br />

• Mehrere Hierarchien<br />

Determinanten unterstützen nicht explizit das Konzept von Hierarchien und bieten kein Verfahren<br />

für die Darstellung mehrerer Hierarchien. Sind für ein Abfragesubjekt in ReportNet<br />

1.x zwei Hierarchien vorhanden, wird nur die erste Hierarchie auf eine Determinante aktualisiert.<br />

Sie müssen ein zweites Abfragesubjekt erstellen und die Determinanten für die andere<br />

Hierarchie manuell angeben.<br />

Richtlinien für die Erstellung von Metadatenmodellen 31


Kapitel 1: Richtlinien für die Erstellung von Metadatenmodellen<br />

32 Framework Manager<br />

Beispielsweise können Sie das Abfragesubjekt "Product" nach der Aktualisierung zur Verwendung<br />

von Determinanten noch näher festlegen. In diesem Beispiel ist "Product key" jetzt die eindeutige<br />

Indentifizierung und "Product line code" und "Product type code" werden für die Gruppierung<br />

von Abfrageelementen verwendet.<br />

Weitere Informationen finden Sie unter "Definieren von Dimensionen und<br />

Determinanten" (S. 17).


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Das von Cognos 8 generierte SQL wird häufig missverstanden. Dieses Dokument enthält Erklärungen<br />

zu SQL, das häufig verwendet wird.<br />

Übersicht über dimensionale Abfragen bei der Verwendung<br />

von Best Practices<br />

Dimensionale Abfragen werden erstellt, um Abfragen mehrerer Fakten durchführen zu können.<br />

Abfragen mehrerer Fakten haben die folgenden grundlegenden Ziele:<br />

• Beibehaltung von Daten, wenn Faktdaten nicht genau in allgemeinen Dimensionen übereinstimmen,<br />

z. B. wenn mehr Zeilen in den Fakten als in den Dimensionen vorhanden sind.<br />

• Verhindern von Doppelzählungen, wenn Faktdaten auf verschiedenen Granularitätsebenen<br />

vorhanden sind. Dazu muss sichergestellt werden, dass jeder Fakt in einer einzelnen Abfrage<br />

mit der entsprechenden Gruppierung dargestellt wird.<br />

Möglicherweise müssen in manchen Fällen Determinanten für die zugrunde liegenden Abfragesubjekte<br />

erstellt werden.<br />

Abfrage einzelner Fakten<br />

Eine Abfrage in einer Sternschemagruppe führt zu einer Abfrage einzelner Fakten.<br />

Im vorliegenden Beispiel steht "Sales" im Mittelpunkt aller geschriebenen Abfragen. Die Dimensionen<br />

stellen Attribute und Beschreibungen bereit, um die Daten in "Sales" aussagekräftiger zu<br />

gestalten. Alle Beziehungen zwischen Dimensionen und dem Fakt sind 1-n.<br />

Wenn Sie nach Monat und Produkt filtern, erhalten Sie folgendes Ergebnis:<br />

Richtlinien für die Erstellung von Metadatenmodellen 33


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Abfrage mehrerer Fakten und mehrerer Ebenen von angepassten Dimensionen<br />

34 Framework Manager<br />

Eine Abfrage mehrerer Fakten und angepasster Dimensionen berücksichtigt die Kardinalität zwischen<br />

jeder Faktentabelle und ihren Dimensionen und schreibt SQL, um alle Zeilen der jeweiligen<br />

Tabelle zurückzugeben.<br />

Zum Beispiel sind "Sales" und "Product Forecast" Kennzahldimensionen.<br />

Bitte beachten Sie, dass es sich hier um eine vereinfachte Darstellung handelt und nicht um ein Beispiel<br />

dafür, wie die Darstellung in einem Modell aussehen würde, das mit Best Practices von<br />

Cognos erstellt wurde.<br />

Das Ergebnis<br />

Mit Einzelabfragen von "Sales" und "Product Forecast" nach "Month" und "Product" erhalten<br />

Sie folgende Ergebnisse: Die Daten unter "Sales" werden auf Tagesebene gespeichert.<br />

Eine Abfrage nach "Sales" und "Product Forecast" berücksichtigt die Kardinalität zwischen jeder<br />

Faktentabelle und ihren Dimensionen und schreibt SQL, um alle Zeilen der jeweiligen Tabelle<br />

zurückzugeben. Die Faktentabellen werden nach ihren gemeinsamen Schlüsseln, "Month" und<br />

"Product", in Übereinstimmung gebracht und zur niedrigsten gemeinsamen Granularitätsebene<br />

aggregiert. In diesem Fall werden Tage zu Monaten aufaddiert. Für diese Abfrage werden oft Nullen<br />

zurückgegeben, da eine Kombination von dimensionalen Elementen möglicherweise zwar in<br />

einer Faktentabelle existiert, in einer anderen jedoch nicht.


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Beachten Sie, dass es für Februar 2004 zwar eine Prognose für "Course Pro Umbrellas" gab,<br />

jedoch keine tatsächlichen Umsätze. Die Daten in "Sales" und "Product Forecast" befinden sich<br />

auf verschiedenen Granularitätsebenen. Die Daten für "Sales" befinden sich auf Tagesebene, die<br />

für "Product Forecast" auf Monatsebene.<br />

Das SQL<br />

Das von Cognos 8 generierte SQL, das auch als zusammengefügte Abfrage bezeichnet wird, wird<br />

oft missverstanden. Eine zusammengefügte Abfrage verwendet mehrere Unterabfragen, eine für<br />

jeden Stern, die über eine vollständig offene Verbindung auf Grundlage der gemeinsamen Schlüssel<br />

zusammengeführt werden. Das Ziel ist, sämtliche Mitglieder einer Dimension, die auf einer der<br />

beiden Seiten der Abfrage erscheinen, beizubehalten.<br />

Das folgende Beispiel wurde in der Länge bearbeitet und dient als Beispiel, um die Hauptfunktionen<br />

zusammengefügter Abfragen darzustellen.<br />

select<br />

coalesce(D2.MONTH_NAME,D3.MONTH_NAME) as MONTH_NAME,<br />

coalesce(D2.PRODUCT_NAME,D3.PRODUCT_NAME) as PRODUCT_NAME,<br />

D2.EXPECTED_VOLUME as EXPECTED_VOLUME,<br />

D3.QUANTITY as QUANTITY<br />

from (select TIME.MONTH_NAME as MONTH_NAME,<br />

PRODUCT_LOOKUP.PRODUCT_NAME as PRODUCT_NAME,<br />

XSUM(PRODUCT_FORECAST_FACT.EXPECTED_VOLUME for<br />

TIME.CURRENT_YEAR,TIME.QUARTER_KEY,TIME.MONTH_KEY,<br />

PRODUCT.PRODUCT_LINE_CODE, PRODUCT.PRODUCT_TYPE_CODE,<br />

PRODUCT.PRODUCT_KEY ) as EXPECTED_VOLUME<br />

from<br />

(select TIME.CURRENT_YEAR as CURRENT_YEAR,<br />

TIME.QUARTER_KEY as QUARTER_KEY,<br />

TIME.MONTH_KEY as MONTH_KEY,<br />

XMIN(TIME.MONTH_NAME for TIME.CURRENT_YEAR,<br />

TIME.QUARTER_KEY,TIME.MONTH_KEY ) as MONTH_NAME<br />

from TIME_DIMENSION TIME<br />

group by TIME.MONTH_KEY) TIME<br />

join PRODUCT_FORECAST_FACT PRODUCT_FORECAST_FACT<br />

on (TIME.MONTH_KEY = PRODUCT_FORECAST_FACT.MONTH_KEY)<br />

join PRODUCT PRODUCT on (PRODUCT.PRODUCT_KEY =<br />

PRODUCT_FORECAST_FACT.PRODUCT_KEY)<br />

where<br />

(PRODUCT.PRODUCT_NAME in ('Aloe Relief','Course Pro Umbrella')) and<br />

(TIME.MONTH_NAME in ('April 2004','February 2004','February 2006'))<br />

group by<br />

TIME.MONTH_NAME,<br />

PRODUCT_LOOKUP.PRODUCT_NAME<br />

) D2<br />

full outer join<br />

(select TIME.MONTH_NAME as MONTH_NAME,<br />

PRODUCT_LOOKUP.PRODUCT_NAME as PRODUCT_NAME,<br />

XSUM(SALES_FACT.QUANTITY for TIME.CURRENT_YEAR,<br />

TIME.QUARTER_KEY, TIME.MONTH_KEY,<br />

PRODUCT.PRODUCT_LINE_CODE, PRODUCT.PRODUCT_TYPE_CODE,<br />

PRODUCT.PRODUCT_KEY ) as QUANTITY<br />

from<br />

select TIME.DAY_KEY,TIME.MONTH_KEY,TIME.QUARTER_KEY,<br />

TIME.CURRENT_YEAR,TIME.MONTH_EN as MONTH_NAME<br />

from TIME_DIMENSION TIME) TIME<br />

join SALES_FACT SALES_FACT<br />

Richtlinien für die Erstellung von Metadatenmodellen 35


Kapitel 2: Das von Cognos 8 generierte SQL<br />

36 Framework Manager<br />

on (TIME.DAY_KEY = SALES_FACT.ORDER_DAY_KEY)<br />

join PRODUCT PRODUCT on (PRODUCT.PRODUCT_KEY = SALES_FACT.PRODUCT_KEY)<br />

where<br />

(PRODUCT.PRODUCT_NAME in ('Aloe Relief','Course Pro Umbrella')) and<br />

(TIME.MONTH_NAME in ('April 2004','February 2004','February 2006'))<br />

group by<br />

TIME.MONTH_NAME,<br />

PRODUCT.PRODUCT_NAME<br />

) D3<br />

on ((D2.MONTH_NAME = D3.MONTH_NAME) and (D2.PRODUCT_NAME = D3.PRODUCT_NAME))<br />

Was ist eine Coalesce-Anweisung?<br />

Eine Coalesce-Anweisung ist einfach eine effiziente Methode für die Arbeit mit Abfrageelementen<br />

aus angepassten Dimensionen. Sie wird verwendet, um den ersten Wert ungleich null zu akzeptieren,<br />

der von einem der Abfragesubjekte zurückgegeben wird. Diese Anweisung ermöglicht eine<br />

vollständige Schlüsselliste ohne Wiederholungen bei Erstellung einer vollständig offenen Verbindung.<br />

Warum gibt es eine vollständig offene Verbindung?<br />

Eine vollständig offene Verbindung ist notwendig, um sicherzustellen, dass alle Daten aus allen<br />

Faktentabellen abgerufen werden. Eine offene Verbindung gibt nur ein Ergebnis aus, wenn ein<br />

Artikel aus dem Bestand verkauft wurde. Eine rechte offene Verbindung gibt alle Umsätze aus, bei<br />

denen die Artikel im Bestand waren. Eine linke offene Verbindung gibt alle Artikel im Bestand aus,<br />

die tatsächlich umgesetzt wurden. Eine vollständig offene Verbindung ist der einzige Weg, herauszufinden,<br />

was im Lagerbestand vorhanden war und was verkauft wurde.<br />

Modellieren von 1-n-Beziehungen als 1-1-Beziehungen<br />

Wenn die Kardinalität so verändert wurde, dass sie nur 1-1-Beziehungen zwischen Abfragesubjekten<br />

oder Dimensionen verwendet, erzeugt das Ergebnis einer Abfrage für "Product Forecast" und<br />

"Sales" nach "Time" oder "Time" und "Product" eine einzige Select-Anweisung, die eine der<br />

Verbindungen unberücksichtigt lässt, um einen Zirkelbezug zu vermeiden.<br />

Das untenstehende Beispiel zeigt, dass die Abfrageergebnisse nicht korrekt sind, wenn man sie mit<br />

den Ergebnissen von Einzelabfragen von "Sales" oder "Product Forecast" vergleicht.<br />

Die Ergebnisse von Einzelabfragen lauten wie folgt:<br />

Wenn Sie diese Abfragen in einer einzigen Abfrage kombinieren, erhalten Sie folgende Ergebnisse:


Das SQL<br />

Kapitel 2: Das von Cognos 8 generierte SQL<br />

Bei der Betrachtung von SQL zeigt sich, dass Cognos 8 eine der Beziehungen, die für die Vervollständigung<br />

des Verbindungspfades nicht notwendig waren, nicht einbezogen hat, da erkannt<br />

wurde, dass im Modell ein zirkulärer Verbindungspfad vorhanden ist. In diesem Beispiel wurde<br />

die Beziehung zwischen "Time" und "Product Forecast" nicht berücksichtigt.<br />

Ein zirkulärer Verbindungspfad führt nur selten zu einer Abfrage mit brauchbaren Ergebnissen.<br />

select<br />

TIME_.MONTH_NAME as MONTH_NAME,<br />

PRODUCT_LOOKUP.PRODUCT_NAME as PRODUCT_NAME,<br />

XSUM(SALES_FACT.QUANTITY for<br />

TIME_.CURRENT_YEAR, TIME_.QUARTER_KEY, TIME_.MONTH_KEY,<br />

PRODUCT.PRODUCT_LINE_CODE, PRODUCT.PRODUCT_TYPE_CODE,<br />

PRODUCT.PRODUCT_KEY ) as QUANTITY,<br />

XSUM(PRODUCT_FORECAST_FACT.EXPECTED_VOLUME for TIME_.CURRENT_YEAR,<br />

TIME_.QUARTER_KEY, TIME_.MONTH_KEY, PRODUCT.PRODUCT_LINE_CODE,<br />

PRODUCT.PRODUCT_TYPE_CODE, PRODUCT.PRODUCT_KEY ) as EXPECTED_VOLUME<br />

from<br />

(select TIME.DAY_KEY,TIME.MONTH_KEY, TIME.QUARTER_KEY,<br />

TIME.CURRENT_YEAR,TIME.MONTH_EN as MONTH_NAME<br />

from TIME_DIMENSION TIME) TIME<br />

join<br />

SALES_FACT on (TIME_.DAY_KEY = SALES_FACT.ORDER_DAY_KEY)<br />

join<br />

PRODUCT_FORECAST_FACT on (TIME_.MONTH_KEY =<br />

PRODUCT_FORECAST_FACT.MONTH_KEY)<br />

join<br />

PRODUCT (PRODUCT.PRODUCT_KEY = PRODUCT_FORECAST_FACT.PRODUCT_KEY)<br />

where<br />

(PRODUCT.PRODUCT_NAME in ('Aloe Relief','Course Pro Umbrella')) and<br />

(TIME_.MONTH_NAME in ('April 2004','February 2004','February 2006'))<br />

group by<br />

TIME_.MONTH_NAME, PRODUCT.PRODUCT_NAME<br />

Abfrage mehrerer Fakten und mehrerer Ebenen bei nicht angepassten Dimensionen<br />

Wenn der Abfrage eine nicht angepasste Dimension hinzugefügt wird, verändert das die Eigenschaften<br />

des Ergebnisses, das von der zusammengefügten Abfrage ausgegeben wird. Es ist nicht<br />

mehr möglich, Datensätze auf eine niedrigste gemeinsame Granularitätsebene zu aggregieren, da<br />

eine Seite der Abfrage eine Dimensionalität hat, die sie nicht mit der anderen Seite gemeinsam hat.<br />

Das ausgegebene Ergebnis besteht eigentlich aus zwei zusammengeführten Listen.<br />

Richtlinien für die Erstellung von Metadatenmodellen 37


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Das Ergebnis<br />

38 Framework Manager<br />

Die Ergebnisse von Einzelabfragen für die betreffenden Sternschemata sehen folgendermaßen aus:<br />

Die Abfrage derselben Elemente aus beiden Sternschemata führt zu folgendem Ergebnis:


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Bei diesem Ergebnis führt die niedrigere Granularitätsebene für Datensätze aus "Sales" dazu, dass<br />

für jede Monats- und Produktkombination mehr Datensätze ausgegeben werden. Es gibt nun eine<br />

1-n-Beziehung zwischen den Zeilen, die aus "Product Forecast" zurückgegeben wurden, und<br />

denen aus "Sales".<br />

Wenn Sie diese mit dem Ergebnis vergleichen, das im Beispiel für die Abfrage mehrerer Fakten und<br />

mehrerer Ebenen von angepassten Dimensionen ausgegeben wurde, können Sie sehen, dass mehr<br />

Datensätze zurückgegeben wurden und die Ergebnisse für "Expected Volume" über mehrere<br />

Bestellmethoden hinweg wiederholt verwendet wurden. Das Hinzufügen von "Order Method"<br />

zur Abfrage verändert die Beziehung zwischen den Daten "Quantity" und "Expected Volume" zu<br />

einer 1-n-Beziehung. Ein einzelner Wert aus "Expected Volume" kann nicht mehr mit einem einzelnen<br />

Wert aus "Quantity" in Beziehung gesetzt werden.<br />

Das Gruppieren nach dem Schlüssel "Month" zeigt, dass das Ergebnis in diesem Beispiel auf demselben<br />

Datensatz beruht wie das Ergebnis der Abfrage mehrerer Fakten und mehrerer Ebenen,<br />

jedoch mit einem höheren Grad von Granularität.<br />

Das SQL<br />

Das für dieses Beispiel generierte zusammengefügte SQL ist dem SQL sehr ähnlich, das in der<br />

Abfrage mehrerer Fakten und mehrerer Ebenen generiert wurde (S. 34). Der wichtigste Unterschied<br />

ist das Hinzufügen von "Order Method". "Order Method" ist keine angepasste Dimension<br />

und beeinflusst nur die Abfrage aus der "Sales Fact"-Tabelle.<br />

select<br />

D2.QUANTITY as QUANTITY,<br />

D3.EXPECTED_VOLUME as EXPECTED_VOLUME,<br />

coalesce(D2.PRODUCT_NAME,D3.PRODUCT_NAME) as PRODUCT_NAME,<br />

coalesce(D2.MONTH_NAME,D3.MONTH_NAME) as MONTH_NAME,<br />

D2.ORDER_METHOD as ORDER_METHOD<br />

from<br />

(select<br />

PRODUCT.PRODUCT_NAME as PRODUCT_NAME,<br />

TIME.MONTH_NAME as MONTH_NAME,<br />

ORDER_METHOD.ORDER_METHOD as ORDER_METHOD,<br />

XSUM(SALES_FACT.QUANTITY for TIME.CURRENT_YEAR,TIME.QUARTER_KEY,<br />

TIME.MONTH_KEY,PRODUCT.PRODUCT_LINE_CODE,PRODUCT.PRODUCT_TYPE_CODE,PRODUCT<br />

.PRODUCT_KEY,ORDER_METHOD_DIMENSION.ORDER_METHOD_KEY ) as QUANTITY<br />

from<br />

PRODUCT_DIMENSION PRODUCT<br />

join<br />

SALES_FACT SALES_FACT<br />

on (PRODUCT.PRODUCT_KEY = SALES_FACT.PRODUCT_KEY)<br />

join<br />

ORDER_METHOD_DIMENSION ORDER_METHOD<br />

on (ORDER_METHOD.ORDER_METHOD_KEY = SALES_FACT.ORDER_METHOD_KEY)<br />

join TIME_DIMENSION TIME<br />

on ( TIME.DAY_KEY = SALES_FACT.ORDER_DAY_KEY)<br />

Richtlinien für die Erstellung von Metadatenmodellen 39


Kapitel 2: Das von Cognos 8 generierte SQL<br />

40 Framework Manager<br />

where<br />

(PRODUCT.PRODUCT_NAME in ('Aloe Relief','Course Pro Umbrella')) and<br />

( TIME.MONTH_NAME in ('April 2004','February 2004','February 2006'))<br />

group by<br />

PRODUCT.PRODUCT_NAME,<br />

TIME.MONTH_NAME,<br />

ORDER_METHOD.ORDER_METHOD<br />

) D2<br />

full outer join<br />

(select<br />

PRODUCT.PRODUCT_NAME as PRODUCT_NAME,<br />

TIME.MONTH_NAME as MONTH_NAME,<br />

XSUM(PRODUCT_FORECAST_FACT.EXPECTED_VOLUME for TIME.CURRENT_YEAR,<br />

TIME.QUARTER_KEY,<br />

TIME.MONTH_KEY,PRODUCT.PRODUCT_LINE_CODE,PRODUCT.PRODUCT_TYPE_CODE,PRODUCT<br />

.PRODUCT_KEY ) as EXPECTED_VOLUME<br />

from<br />

PRODUCT_DIMENSION PRODUCT<br />

join<br />

PRODUCT_FORECAST_FACT PRODUCT_FORECAST_FACT<br />

on (PRODUCT.PRODUCT_KEY = PRODUCT_FORECAST_FACT.PRODUCT_KEY)<br />

join<br />

(select<br />

TIME.CURRENT_YEAR as CURRENT_YEAR,<br />

TIME.QUARTER_KEY as QUARTER_KEY,<br />

TIME.MONTH_KEY as MONTH_KEY,<br />

XMIN( TIME.MONTH_NAME for TIME.CURRENT_YEAR, TIME.QUARTER_KEY,<br />

TIME.MONTH_KEY ) as MONTH_NAME<br />

from<br />

TIME_DIMENSION TIME<br />

group by<br />

TIME.CURRENT_YEAR,<br />

TIME.QUARTER_KEY,<br />

TIME.MONTH_KEY<br />

) TIME<br />

on ( TIME.MONTH_KEY = PRODUCT_FORECAST_FACT.MONTH_KEY)<br />

where<br />

(PRODUCT.PRODUCT_NAME in ('Aloe Relief','Course Pro Umbrella')) and<br />

( TIME.MONTH_NAME in ('April 2004','February 2004','February 2006'))<br />

group by<br />

PRODUCT.PRODUCT_NAME,<br />

TIME.MONTH_NAME<br />

) D3<br />

on ((D2.PRODUCT_NAME = D3.PRODUCT_NAME) and (D2.MONTH_NAME =<br />

D3.MONTH_NAME))<br />

Auflösen uneindeutig identifizierter Dimensionen und Fakten<br />

Wenn für uneindeutig identifizierbare Dimensionen und Fakten keine Auflösung herbeigeführt<br />

wird, können unvorhersehbare oder fehlerhafte Abfragen die Folge sein. Diese Abfragen können<br />

zu Ergebnissen führen, die Doppelzählungen von Ergebnissen, falsch zugeordnete Ergebnissätze<br />

und ineffiziente Abfragen enthalten. Ferner können Sie fehlerhafte Auswertungen von Abfragen<br />

mit mehreren Fakten enthalten.<br />

In diesem Beispiel müssen Sie die eingekreisten Bereiche klären.


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Sie können die eingekreisten Bereiche klären, indem Sie eine Kombination von Datenquellen- und<br />

Modellabfragesubjekten verwenden. In einigen Fällen kann die Klärung sogar über das Hinzufügen<br />

von Filtern zu Abfragesubjekten erfolgen, die die Kardinalität von n auf 1 ändern. Die Abfragesubjekte,<br />

die Sie erstellen, bilden die Basis eines Dimensionsmodells.<br />

Auflösen von Abfragen, die nicht geteilt werden sollten<br />

Wenn Abfragen geteilt wurden, die nicht geteilt werden sollten, müssen Sie diese Abfragen auflösen.<br />

Abfragesubjekte auf der n-Seite aller Beziehungen werden als Fakten identifiziert. Im folgenden<br />

Beispiel verhalten sich "Order Header" und "Country Multilingual" wie Fakten. Tatsächlich<br />

jedoch enthält das Abfragesubjekt "Country Multilingual" nur beschreibende Informationen und<br />

scheint eine Nachschlagetabelle zu sein. In Hinblick auf die Erstellung eines dimensionalen oder<br />

eines Geschäftsmodells ist "Country Multilingual" eine Erweiterung von "Country".<br />

Warum ist es ein Problem, das Modell so zu belassen?<br />

Testen Sie dieses Modell, indem Sie einen Bericht für die Anzahl von Bestellungen pro Stadt und<br />

pro Land erstellen. Die Verwendung dieses Modells führt zu einem fehlerhaften Ergebnis. Die<br />

Zahlen für die Städte sind korrekt, jedoch werden für einige Städte falsche Länder angegeben.<br />

Hier ist ein Beispiel eines fehlerhaft zugeordneten Ergebnisses.<br />

Richtlinien für die Erstellung von Metadatenmodellen 41


Kapitel 2: Das von Cognos 8 generierte SQL<br />

42 Framework Manager<br />

Wenn Ihnen etwas derartiges auffällt, sollten Sie normalerweise zuerst im SQL nachsehen.<br />

Das SQL<br />

Dies ist ein Beispiel für eine zusammengefügte Abfrage. Eine solche ist sinnvoll, wenn Ihr Modell<br />

mehrere Fakten enthält. Eine zusammengefügte Abfrage ist im Wesentlichen eine Abfrage, die versucht,<br />

mehrere Fakten zusammenzufügen. Sie verwendet die Beziehungen, die die Fakten zueinander<br />

in Bezug setzen, ebenso wie die Determinanten für die angepassten oder allgemeinen, im<br />

Modell festgelegten Dimensionen. Eine zusammengefügte Abfrage kann durch zwei Abfragen mit<br />

einer vollständig offenen Verbindung identifiziert werden Die Wrapper-Abfrage muss eine Coalesce-Anweisung<br />

für die angepassten Dimensionen enthalten.<br />

Bitte beachten Sie die folgenden Probleme im SQL:<br />

• Die Abfrage hat keine Coalesce-Anweisung.<br />

• RSUM zeigt den Versuch an, einen gültigen Schlüssel zu erstellen.<br />

select<br />

D3.COUNTRY as COUNTRY,<br />

D2.CITY as CITY,<br />

D2.number_of_orders as number_of_orders<br />

from<br />

(select<br />

SALES_BRANCH.CITY as CITY,<br />

XCOUNT(ORDER_HEADER.ORDER_NUMBER for SALES_BRANCH.CITY ) as<br />

number_of_orders,<br />

RSUM(1 at SALES_BRANCH.CITY order by SALES_BRANCH.CITY asc local) as sc<br />

from<br />

gosales.gosales.dbo.SALES_BRANCH SALES_BRANCH<br />

join<br />

gosales.gosales.dbo.ORDER_HEADER ORDER_HEADER<br />

on (SALES_BRANCH.SALES_BRANCH_CODE = ORDER_HEADER.SALES_BRANCH_CODE)<br />

group by<br />

SALES_BRANCH.CITY<br />

order by<br />

CITY asc<br />

) D2<br />

full outer join<br />

(select<br />

COUNTRY_MULTILINGUAL.COUNTRY as COUNTRY,<br />

RSUM(1 at COUNTRY_MULTILINGUAL.COUNTRY order by<br />

COUNTRY_MULTILINGUAL.COUNTRY asc local) as sc<br />

from<br />

gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL<br />

group by<br />

COUNTRY_MULTILINGUAL.COUNTRY<br />

order by<br />

COUNTRY asc<br />

) D3<br />

on (D2.sc = D3.sc)<br />

Offensichtlich werden die zusammengefügten Spalten bei jeder Abfrage auf der Grundlage von<br />

Kriterien errechnet, die keinen Bezug zueinander haben. Dies erklärt, weshalb es keinen offensichtlichen<br />

Zusammenhang zwischen den Ländern und den Städten im Bericht gibt.<br />

Warum also sehen wir eine zusammengefügte Abfrage? Um diese Frage zu beantworten, müssen<br />

wir das Modell betrachten.


Kapitel 2: Das von Cognos 8 generierte SQL<br />

In diesem Beispiel kamen die im Bericht verwendeten Abfrageelemente aus verschiedenen Abfragesubjekten.<br />

"Country" kam aus "Country Multilingual", "City" kam aus "Sales Branch", und die<br />

"Number of Orders" kam aus einem Abfragesubjekt zur Zählung von "Order Number" in<br />

"Order Header".<br />

Das Problem ist, dass die Abfrage eine Aufteilung vornimmt, da die Abfrage-Engine dies als eine<br />

Abfrage nach mehreren Fakten betrachtet. Die Aufteilung hat jedoch keinen gültigen Schlüssel für<br />

das Zusammenfügen, da es kein Element gibt, das beide Fakten gemeinsam haben.<br />

Es gibt mehrere Möglichkeiten, dieses Problem zu lösen; ein Verständnis der Daten ist dafür<br />

jedoch unbedingt erforderlich.<br />

Lösung 1<br />

Sie können einen Filter zu "Country Multilingual" hinzufügen, der die Kardinalität der Beziehung<br />

auf 1-1 ändert.<br />

Select *<br />

from [GOSL].COUNTRY_MULTILINGUAL<br />

Where<br />

COUNTRY_MULTILINGUAL."LANGUAGE"=’EN’<br />

Oder Sie können der Beziehung einen Filter hinzufügen, der die Kardinalität auf 1-1 ändert.<br />

COUNTRY.COUNTRY_CODE = COUNTRY_MULTILINGUAL.COUNTRY_CODE and<br />

COUNTRY_MULTILINGUAL.LANGUAGE = ’EN’<br />

Beide Wege führen zu einem Modell, das in dieser Abfrage nur einen einzelnen Fakt enthält.<br />

Lösung 2<br />

Vereinfachen Sie das Modell durch die Konsolidierung der verbundenen Abfragesubjekte. Dieses<br />

Vorgehen bietet den größten Vorteil, da so das Modell vereinfacht wird und mögliche Fehlerquellen<br />

bei der Abfragengenerierung reduziert werden.<br />

Jede Lösung führt zu einem korrekten Abfrageergebnis.<br />

Richtlinien für die Erstellung von Metadatenmodellen 43


Kapitel 2: Das von Cognos 8 generierte SQL<br />

44 Framework Manager<br />

Das SQL ist keine zusammengefügte Abfrage mehr.<br />

select<br />

Country.c7 as COUNTRY,<br />

SALES_BRANCH.CITY as CITY,<br />

XCOUNT(ORDER_HEADER.ORDER_NUMBER for Country.c7,SALES_BRANCH.CITY ) as<br />

number_of_orders<br />

from<br />

(select<br />

COUNTRY.COUNTRY_CODE as c1,<br />

COUNTRY_MULTILINGUAL.COUNTRY as c7<br />

from<br />

gosales.gosales.dbo.COUNTRY COUNTRY<br />

join<br />

gosales.gosales.dbo.COUNTRY_MULTILINGUAL COUNTRY_MULTILINGUAL<br />

on (COUNTRY.COUNTRY_CODE = COUNTRY_MULTILINGUAL.COUNTRY_CODE)<br />

where COUNTRY_MULTILINGUAL.LANGUAGE='EN'<br />

) Country<br />

join<br />

gosales.gosales.dbo.SALES_BRANCH SALES_BRANCH<br />

on (SALES_BRANCH.COUNTRY_CODE = Country.c1)<br />

join<br />

gosales.gosales.dbo.ORDER_HEADER ORDER_HEADER<br />

on (SALES_BRANCH.SALES_BRANCH_CODE = ORDER_HEADER.SALES_BRANCH_CODE)<br />

group by<br />

Country.c7,<br />

SALES_BRANCH.CITY<br />

Auflösen von Abfragen, die an der falschen Stelle geteilt sind<br />

Manchmal löst die Verwendung von 1-n-Kardinalität das Problem zirkulärer Verbindungspfade<br />

nicht. Es werden weiterhin fehlerhafte Ergebnisse ausgegeben, da die zusammengefügte Abfrage<br />

nicht korrekt formuliert wurde.<br />

Das Modell enthält beispielsweise die folgenden Objekte.


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Wenn Sie beispielsweise einen Bericht für "Sales Target" und "Actual Sales", gruppiert nach "Product"<br />

und "Sales Staff", ausführen, ist das Ergebnis fehlerhaft. "Actual Sales" ist etwas zu hoch.<br />

Um das Ergebnis zu prüfen, fragen Sie jeden Fakt einzeln ab.<br />

Dies bestätigt, dass der erste Bericht ein viel höheres Ergebnis für "Actual Sales" anzeigt, als er<br />

sollte.<br />

Das SQL<br />

Beachten Sie die folgenden Probleme, wenn Sie sich mit SQL beschäftigen:<br />

• Nur eine der Dimensionsspalten hat eine Coalesce-Anweisung. Dies zeigt, dass die Abfrage<br />

nicht richtig geteilt worden ist.<br />

• Die Gruppierung für die Seite "Sales Target" der Abfrage ist richtig. Dies erklärt, warum<br />

"Sales Target" korrekt ist.<br />

• Die Seite "Quantity" der zusammengefügten Abfrage ist nur nach "Product" gruppiert, und<br />

daher ist "Actual Sales" zu hoch.<br />

select<br />

coalesce(D2.PRODUCT_NAME,D3.PRODUCT_NAME) as PRODUCT_NAME,<br />

D2.LAST_NAME as LAST_NAME,<br />

D2.SALES_TARGET as SALES_TARGET,<br />

D3.Actual_sales as Actual_sales<br />

from<br />

(select<br />

Product.PRODUCT_NAME as PRODUCT_NAME,<br />

Richtlinien für die Erstellung von Metadatenmodellen 45


Kapitel 2: Das von Cognos 8 generierte SQL<br />

46 Framework Manager<br />

SALES_STAFF.LAST_NAME as LAST_NAME,<br />

XSUM(SALES_TARGET.SALES_TARGET for<br />

Product.PRODUCT_NAME,SALES_STAFF.LAST_NAME ) as SALES_TARGET<br />

from<br />

(select PRODUCT_MULTILINGUAL.PRODUCT_NAME,PRODUCT.PRODUCT_NUMBER from<br />

gosales.gosales.dbo.PRODUCT PRODUCT,<br />

gosales.gosales.dbo.PRODUCT_MULTILINGUAL PRODUCT_MULTILINGUAL where<br />

PRODUCT.PRODUCT_NUMBER = PRODUCT_MULTILINGUAL.PRODUCT_NUMBER) Product<br />

join<br />

gosales.gosales.dbo.SALES_TARGET SALES_TARGET<br />

on (Product.PRODUCT_NUMBER = SALES_TARGET.PRODUCT_NUMBER)<br />

join<br />

gosales.gosales.dbo.SALES_STAFF SALES_STAFF<br />

on (SALES_STAFF.SALES_STAFF_CODE = SALES_TARGET.SALES_STAFF_CODE)<br />

group by<br />

Product.PRODUCT_NAME,<br />

SALES_STAFF.LAST_NAME<br />

) D2<br />

full outer join<br />

(select<br />

Product.PRODUCT_NAME as PRODUCT_NAME,<br />

XSUM(XSUM((ORDER_DETAILS.QUANTITY * ORDER_DETAILS.UNIT_SALE_PRICE) for<br />

Product.PRODUCT_NAME ) at Product.PRODUCT_NAME for Product.PRODUCT_NAME )<br />

as Actual_sales<br />

from<br />

(select PRODUCT_MULTILINGUAL.PRODUCT_NAME,PRODUCT.PRODUCT_NUMBER from<br />

gosales.gosales.dbo.PRODUCT PRODUCT,<br />

gosales.gosales.dbo.PRODUCT_MULTILINGUAL PRODUCT_MULTILINGUAL where<br />

PRODUCT.PRODUCT_NUMBER = PRODUCT_MULTILINGUAL.PRODUCT_NUMBER) Product<br />

join<br />

gosales.gosales.dbo.ORDER_DETAILS ORDER_DETAILS<br />

on (Product.PRODUCT_NUMBER = ORDER_DETAILS.PRODUCT_NUMBER)<br />

group by<br />

Product.PRODUCT_NAME<br />

) D3<br />

on (D2.PRODUCT_NAME = D3.PRODUCT_NAME)<br />

Der Grund für diese Probleme ist, dass in "Order Header" nichts ausgewählt wurde. Dies war<br />

nicht in der Abfrage enthalten, sodass es keine Möglichkeit gab, "Sales Staff" zu "Order Details"<br />

in Beziehung zu setzen. Es war nicht notwendig, "Sales Staff" zu "Order Details" in Beziehung zu<br />

setzen, um alle Tabellen miteinander zu verbinden, da es bereits eine Beziehung zwischen "Sales<br />

Staff" und "Sales Target" gab.<br />

Obwohl Sie dies lösen können, indem Sie ein Element aus "Order Header" in den Bericht übernehmen,<br />

wissen Ihre Benutzer unter Umständen nicht, wie sie verfahren sollen. Wir empfehlen<br />

Ihnen, dies Problem im Modell zu beheben. Dies ist die empfohlene Lösung sowohl für die Erstellung<br />

eines dimensionalen als auch eines Geschäftsmodells. Darüber hinaus ist es mit einem einfacheren<br />

Modell schwieriger, einen Bericht auszuführen, der schlechtes SQL generiert.<br />

Konsolidieren Sie Abfragesubjekte, wenn logische Gruppierungen möglich sind. Kombinieren Sie<br />

in diesem Beispiel die Abfragesubjekte "Order Details" und "Order Header". Die neue Gruppe<br />

von Abfragesubjekten kann nun für die dimensionale Modellierung verwendet werden.


Kapitel 2: Das von Cognos 8 generierte SQL<br />

Wenn Sie diese neue Gruppe von Abfragesubjekten verwenden, sieht Ihr Bericht so aus.<br />

Wenn Sie das SQL betrachten, sehen Sie Folgendes:<br />

select<br />

coalesce(D2.PRODUCT_NAME,D3.PRODUCT_NAME) as PRODUCT_NAME,<br />

coalesce(D2.LAST_NAME,D3.LAST_NAME) as LAST_NAME,<br />

D2.SALES_TARGET as SALES_TARGET,<br />

D3.Actual_sales as Actual_sales<br />

from<br />

(select<br />

Product.PRODUCT_NAME as PRODUCT_NAME,<br />

SALES_STAFF.LAST_NAME as LAST_NAME,<br />

XSUM(SALES_TARGET.SALES_TARGET for<br />

Product.PRODUCT_NAME,SALES_STAFF.LAST_NAME ) as SALES_TARGET<br />

from<br />

(select PRODUCT_MULTILINGUAL.PRODUCT_NAME,PRODUCT.PRODUCT_NUMBER from<br />

gosales.gosales.dbo.PRODUCT PRODUCT,<br />

gosales.gosales.dbo.PRODUCT_MULTILINGUAL PRODUCT_MULTILINGUAL where<br />

PRODUCT.PRODUCT_NUMBER = PRODUCT_MULTILINGUAL.PRODUCT_NUMBER) Product<br />

join<br />

gosales.gosales.dbo.SALES_TARGET SALES_TARGET<br />

on (SALES_TARGET.PRODUCT_NUMBER = Product.PRODUCT_NUMBER)<br />

join<br />

gosales.gosales.dbo.SALES_STAFF SALES_STAFF<br />

on (SALES_STAFF.SALES_STAFF_CODE = SALES_TARGET.SALES_STAFF_CODE)<br />

group by<br />

Product.PRODUCT_NAME,<br />

SALES_STAFF.LAST_NAME<br />

) D2<br />

full outer join<br />

(select<br />

Product.PRODUCT_NAME as PRODUCT_NAME,<br />

SALES_STAFF.LAST_NAME as LAST_NAME,<br />

XSUM((ORDER_DETAILS_ORDER_HEADER.c5 * ORDER_DETAILS_ORDER_HEADER.c8) for<br />

Product.PRODUCT_NAME,SALES_STAFF.LAST_NAME ) as Actual_sales<br />

Richtlinien für die Erstellung von Metadatenmodellen 47


Kapitel 2: Das von Cognos 8 generierte SQL<br />

48 Framework Manager<br />

from<br />

(select PRODUCT_MULTILINGUAL.PRODUCT_NAME,PRODUCT.PRODUCT_NUMBER from<br />

gosales.gosales.dbo.PRODUCT PRODUCT,<br />

gosales.gosales.dbo.PRODUCT_MULTILINGUAL PRODUCT_MULTILINGUAL where<br />

PRODUCT.PRODUCT_NUMBER = PRODUCT_MULTILINGUAL.PRODUCT_NUMBER) Product<br />

join<br />

(select<br />

ORDER_DETAILS.PRODUCT_NUMBER as c4,<br />

ORDER_DETAILS.QUANTITY as c5,<br />

ORDER_DETAILS.UNIT_SALE_PRICE as c8,<br />

ORDER_HEADER.SALES_STAFF_CODE as c14<br />

from<br />

gosales.gosales.dbo.ORDER_DETAILS ORDER_DETAILS<br />

join<br />

gosales.gosales.dbo.ORDER_HEADER ORDER_HEADER<br />

on (ORDER_HEADER.ORDER_NUMBER = ORDER_DETAILS.ORDER_NUMBER)<br />

) ORDER_DETAILS_ORDER_HEADER<br />

on (ORDER_DETAILS_ORDER_HEADER.c4 = Product.PRODUCT_NUMBER)<br />

join<br />

gosales.gosales.dbo.SALES_STAFF SALES_STAFF<br />

on (SALES_STAFF.SALES_STAFF_CODE = ORDER_DETAILS_ORDER_HEADER.c14)<br />

group by<br />

Product.PRODUCT_NAME,<br />

SALES_STAFF.LAST_NAME<br />

) D3<br />

on ((D2.PRODUCT_NAME = D3.PRODUCT_NAME) and (D2.LAST_NAME = D3.LAST_NAME)))


Index<br />

Numerics<br />

1-zu-1-Beziehungen, 9, 36<br />

1-zu-n-Beziehungen, 9, 36<br />

A<br />

Abfrage ohne Fakten, 24<br />

Abfragen<br />

einzelner Fakt, 33<br />

geteilte, 40, 43<br />

mehrere Ebenen, 18<br />

mehrere Fakten, 18, 34, 37<br />

ohne Fakten, 24<br />

zusammengefügte, 8<br />

Abfragen einzelner Fakten, 33<br />

Abfragen mehrerer Ebenen, 18, 34, 37<br />

Abfragen mehrerer Fakten, 18, 34, 37<br />

Abfragesubjekte<br />

Determinanten, 30<br />

Dimensionen, 18<br />

in Dimensionen konvertieren, 28<br />

Sternschemagruppen, 24<br />

aktualisieren<br />

Datentypen, 26<br />

Aktualisieren von Modellen, 26<br />

konvertieren, 28, 30<br />

reparieren, 27<br />

überprüfen, 26<br />

von ReportNet 1.x, 25<br />

Warnungen, 27<br />

Angepasste Dimensionen<br />

mehrere Fakten, 34, 37<br />

angepasste Sternschemagruppen, 24<br />

Attribute, 28, 30<br />

Auflösen<br />

geteilte Abfragen, 40, 43<br />

uneindeutige Objekte, 40<br />

B<br />

Bereichsbeziehungen, 7<br />

Bezeichner<br />

eindeutige, 6<br />

Beziehungen<br />

1-n, 9, 36<br />

Bereich, 7<br />

Granularitätsebenen, 16<br />

mehrere gültige, 13<br />

n-zu-n, 8<br />

überprüfen, 8<br />

C<br />

Copyright, 2<br />

D<br />

Datenquellendimensionen, 18<br />

Datentypen, 26<br />

Determinanten, 6<br />

aktualisieren auf, 27<br />

aus Dimensionsinformationen konvertieren, 30<br />

definieren, 17<br />

Kardinalität, 8<br />

überprüfen, 31<br />

Dimensionale Abfragen, 33<br />

einzelner Fakt, 33<br />

mehrerer Fakten und Ebenen, 34, 37<br />

Dimensionales Modellieren relationaler Metadaten, 7<br />

Dimensionen<br />

Abfragesubjekte, 18<br />

aktualisieren auf, 27<br />

aus Abfragesubjekten konvertieren, 28<br />

Bereichsbeziehungen, 7<br />

Datenquelle, 18<br />

definieren, 17<br />

Hierarchien, 22<br />

identifizieren, 10<br />

Kennzahl, 7, 12, 17<br />

mit unterschiedlichen Rollen, 13<br />

Modell, 18<br />

reguläre, 7, 12, 17, 18<br />

Sternschemagruppen, 24<br />

überprüfen, 29<br />

uneindeutig, 40<br />

Dimensionen mit unterschiedlichen Rollen, 13<br />

Dimensionsinformationen, 28, 30<br />

Dokument<br />

Version, 2<br />

Doppelzählung, 6, 9, 36, 40<br />

E<br />

Ebenen, 7, 28, 30<br />

Eindeutige Bezeichner, 6<br />

Eindeutige Schlüssel, 28, 30<br />

erstellen<br />

Kennzahldimensionen, 12<br />

reguläre Dimensionen, 12<br />

Sternschemagruppen, 24<br />

F<br />

Fakten, 7, 12<br />

identifizieren, 10<br />

uneindeutig, 40<br />

Faktübergreifende Abfragen, 10<br />

Richtlinien für die Erstellung von Metadatenmodellen 49


Index<br />

G<br />

Gemeinsame Dimensionen, 17<br />

Geteilte Abfragen, 40, 43<br />

Granularität, 16<br />

Gültige Beziehungen<br />

mehrere, 13<br />

H<br />

Hierarchien, 7, 17, 18, 28, 30<br />

mehrere, 22<br />

I<br />

Importierte Metadaten<br />

überprüfen, 8<br />

K<br />

Kardinalität<br />

1-1, 36<br />

1-n, 36<br />

Abfragen, 9<br />

Datenquelle, 8<br />

Dimensionen und Fakten, 10<br />

Regeln, 9<br />

Typen, 9<br />

überprüfen, 8<br />

Kardinalitätsregeln, 9<br />

Kennzahldimensionen, 7<br />

definieren, 17<br />

erstellen, 12<br />

mit unterschiedlichen Rollen, 13<br />

M<br />

Master/Detail-Tabellen, 12<br />

Maximale Kardinalität, 9<br />

Mehrere gültige Beziehungen, 13<br />

Mehrere Hierarchien, 22<br />

Minimale Kardinalität, 9<br />

Modelldimensionen, 18<br />

Modelle<br />

aktualisieren, 26<br />

reparieren, 27<br />

überprüfen, 26<br />

N<br />

n-zu-n-Beziehungen, 8<br />

O<br />

Obligatorische Kardinalität, 9<br />

Offene Verbindungen<br />

vollständig, 8<br />

Optionale Beziehungen, 8<br />

Optionale Kardinalität, 9<br />

R<br />

Reflexive Beziehungen, 16<br />

reguläre Dimensionen, 7, 18<br />

erstellen, 12<br />

50 Framework Manager<br />

reguläre Dimensionen (Fortsetzung)<br />

mit unterschiedlichen Rollen, 13<br />

Rekursive Beziehungen, 16<br />

Reparieren von Modellen, 27<br />

S<br />

Schlüssel, 8, 28, 30<br />

SQL, 33<br />

Sternschemagruppen<br />

erstellen, 24<br />

mehrere angepasste, 24<br />

U<br />

Überprüfen von Modellen, 26, 27<br />

Uneindeutige Objekte, 40<br />

V<br />

Verbindungen<br />

vollständig offene, 8<br />

zirkuläre, 43<br />

Vereinfachen von Modellen, 11<br />

Version<br />

Dokument, 2<br />

Vollständig offene Verbindungen, 8<br />

W<br />

Workflows, 7, 25<br />

Z<br />

Zirkuläre Verbindungen, 43<br />

Zusammengefügte Abfragen, 8

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!