Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Temporaler Join  Dokument im Navigationsbaum lokalisieren

Verwendung

Mit einem temporalen Join kann ein Zeitverlauf abgebildet werden.

Zeitabhängige Stammdaten werden von anderen InfoProvidern beim Reporting so behandelt, dass jeweils der Satz verwendet wird, der zu einem vorgegebenen, einheitlichen Stichtag gültig ist. InfoSets hingegen bieten eine flexiblere Handhabung. Mit ihren können Zeitverläufen abgebildet werden, wie z.B. der folgende Fall:                                                    

Beispiel

Ein DataStore-Objekt enthält neben einer Kennzahl auch ein Buchungsdatum und ein zeitabhängiges Merkmal. Sie wollen nun, dass der Satz des zeitabhängigen Merkmals gemäß des Buchungsdatums bestimmt wird, das in jedem Satz des DataStore-Objekts verschieden ist. InfoSets ermöglichen dies über die sogenannten temporalen Operanden.

Funktionsumfang

Ein temporaler Join ist ein Join, in dem mindestens ein zeitabhängiges Merkmal oder ein pseudo-zeitabhängiger InfoProvider enthalten ist.

Hinweis

Es ist in den meisten Fällen sinnvoll, genau einen temporalen Operanden pro InfoSet zu verwenden, da die Stichtagsüberprüfung zwar pro Satz der Ergebnismenge, aber für alle temporalen Operanden durchgeführt wird.

Temporale Operanden

Temporale Operanden sind Zeitmerkmale oder Merkmale vom Typ Datum, für die ein Intervall oder Stichtag definiert wird. Sie beeinflussen im temporalen Join die Ergebnismenge. 

Stichtag

Für diese Felder bzw. Attribute eines InfoProviders können Sie in der Spalte Stichtag der Darstellung im Join-Control ein Kennzeichen setzen. Wenn das Kennzeichen gesetzt ist, wird das Feld bzw. Attribut als temporaler Operand verwendet.

Je nach Typ des Merkmals haben Sie verschiedene Möglichkeiten zur Definition eines Stichtags:

Merkmale vom Typ Datum und das Zeitmerkmal 0CALDAY können als Stichtag gekennzeichnet werden.

Bei Zeitmerkmalen, die einen Zeitraum mit Anfangs- und Endedatum beschreiben (0CALWEEK, 0CALMONTH, 0CALQUARTER, 0CALYEAR, 0FISCPER, 0FISCYEAR) haben Sie mehrere Möglichkeiten:

      ersten Tag als Stichtag verwenden

      letzten Tag als Stichtag verwenden

      festen Tag als Stichtag verwenden(d.h. einen bestimmten Tag aus dem gegebenen Zeitraum)

      Stichtagsableitungsart: Sie können eine Stichtagsableitungsart angeben, die Sie über Umfeld  ® Stichtagsableitungsart definiert haben.

Zeitintervall

Zeitintervalle können Sie für Zeitmerkmale, die einen Zeitraum mit Anfangs- und Endedatum beschreiben, festlegen. Anfangs- und Endedatum sind durch den Wert des Zeitmerkmals gegeben.

Wählen Sie Zeitabhängigkeit definieren über das Kontextmenü in der Tabellendarstellung des InfoProviders. Das System fügt dem betreffenden InfoProvider zusätzliche Attribute (Zusatzfelder) hinzu. Diese enthalten das Anfangs- und Endedatum von (0DATEFROM) und bis (0DATETO).

Pseudo-Zeitabhängigkeit von DataStore-Objekten und InfoCubes

Im BI können ausschließlich Stammdaten als zeitabhängige Datenquellen definiert werden. Dabei werden dem Merkmal zwei zusätzliche Felder/Attribute hinzugefügt.

DataStore-Objekte und InfoCubes hingegen können selbst nicht zeitabhängig definiert werden. Oftmals enthalten sie aber Zeitmerkmale, aus denen Sie ein Zeitintervall ableiten können oder Datumsangaben, mit denen Sie ein Zeitintervall definieren können, so dass der entsprechende InfoProvider im InfoSet doch zeitabhängig betrachtet wird. Für die Zeitableitung kommen die Zeitmerkmale 0CALWEEK, 0CALMONTH, 0CALQUARTER, 0CALYEAR, 0FISCPER, 0FISCYEAR in Frage.

Die Definition der pseudo-Zeitabhängigkeit kann auf folgende Arten erfolgen:

      Wählen Sie eines der zuvor genannten Zeitmerkmale, das in dem zeitabhängig zu machenden InfoProvider enthalten ist. Die Zeitabhängigkeit wird dadurch gekennzeichnet, dass dem InfoProvider im InfoSet zwei Datumsattribute hinzugefügt werden.

Beispiel: Wird 0CALYEAR mit der Ausprägung 2004 abgeleitet, so erhält das Anfangsdatum den Wert 01.01.2004 und das Endedatum den Wert 31.12.2004

      Kennzeichnen Sie ein Merkmal vom Typ Datum als Anfangsdatum und ein weiteres Merkmal vom Typ Datum als Endedatum.

Hierbei müssen Sie darauf achten, dass der Datenbestand geeignet ist. Die Ausprägung des Attributs, welches als Anfangsdatum interpretiert wird,  muss kleiner gleich der Ausprägung des Attributs, welches als Endedatum interpretiert wird, sein. Wenn dies nicht der Fall ist, wird der Datensatz von vornherein als ungültig interpretiert und nicht in Anfragen berücksichtigt.

Sobald ein im InfoSet enthaltener InfoProvider pseudo-zeitabhängig gemacht wurde, wird er wie eine richtige zeitabhängige Datenquelle behandelt.

Ein wichtiger Unterschied zwischen pseudo-zeitabhängigen InfoProvidern im Vergleich zu richtigen zeitabhängigen InfoProvidern ist, dass systemseitig nicht verhindert werden kann, dass einerseits Lücken und andererseits Überlappungen auf dem Zeitstrahl auftreten können. Dies ist immer abhängig vom Datenbestand des pseudo-zeitabhängigen InfoProviders.

Zeitselektion bei der Query-Definition

Meist wird bei einem temporalen Join ein Zeitverlauf abgebildet. Bei der Definition von Queries stellt sich nun die Frage, wie auf ein bestimmtes Zeitintervall, auf ein oder mehrere Stichtage oder Kombinationen davon eingeschränkt werden kann. Aus technischen Gründen ist es nicht möglich,  Einschränkungen direkt auf den Felder gültig ab (0DATEFROM) und gültig bis (0DATETO) der einzelnen Merkmale oder der Ergebnismenge zu definieren. Deshalb existiert für jedes InfoSet, das einen temporalen Join repräsentiert,  eine Dimension gültiges Zeitintervall (VALIDTIMEINTERVAL), die nur im Query Designer sichtbar ist und der Zeitselektion dient.

Beachten Sie die unterschiedliche Verwendung der Bezeichnung "Zeitintervall":

Das Zeitintervall für ein zeitabhängiges InfoObject beschreibt den Zeitraum, in dem der betreffende Satz des InfoObjects gültig ist:

Die InfoObjects für das Zeitintervall (gültig ab und gültig bis) eines zeitabhängigen InfoObjects sind im Join Control sichtbar: Wenn Sie das Kennzeichen in der Spalte Felder in der Query setzen, stehen diese Felder im BEx Query Designer für die Definition einer Query zur Verfügung, dürfen aber nicht eingeschränkt werden.

Siehe Join-Control.

Das gültige Zeitintervall für einen temporalen Join beschreibt den Zeitraum, in dem ein Satz der Ergebnismenge des Join gültig ist, und enthält folgende Felder:

      gültig ab und gültig bis: Diese Felder enthalten den Anfang und das Ende des gültigen Zeitintervalls. Sie sind im Join Control nicht sichtbar, stehen aber im BEx Query Designer zur Verfügung. Die Felder dürfen nur für die Ausgabe der Ergebnisse in Zeilen oder Spalten verwendet und nicht mit einer Einschränkung versehen werden.

      Zeitintervall: Dieses Feld dient ausschließlich der Selektion des Zeitintervalls und darf deshalb nur im Filter, nicht aber zur Ausgabe von Ergebnissen in Zeilen oder Spalten verwendet werden. Aus dem Feld Zeitintervall werden durch das Laufzeitsystem die richtigen Selektionen für den Datenbankzugriff abgeleitet. Sie können bei der Query-Definition mehrere Stichtage und mehrere Intervalle als Filter verwenden. Damit haben Sie bei temporalen Joins die Möglichkeit, in einer Query Zustände zu verschiedenen Zeitpunkten oder Zeitintervallen nebeneinander darzustellen.                                                          

Hinweis

Beachten Sie, dass eine Einschränkung auf das Zeitintervall vom  01.01.2001 bis zum 31.12.2001 nicht bedeutet, dass die Felder gültig von bzw. gültig bisdiese Werte annehmen. Diese Einschränkung führt vielmehr dazu, dass jeder Satz der Ergebnismenge einen Gültigkeitsbereich besitzt, der ganz oder teilweise in diesem Zeitintervall liegt.

Zeitabhängigkeit in der Ergebnismenge

Bei der Bestimmung der Ergebnismenge werden die Zeitabhängigkeiten ausgewertet. Ein Satz wird nur dann in die Ergebnismenge aufgenommen, wenn der Stichtag bzw. das Zeitintervall im gültigen Zeitintervall liegt. Jedem Satz der Ergebnismenge wird ein Zeitintervall zugeordnet, für das dieser Satz gültig ist (gültiges Zeitintervall).

Hinweis

Da die Ableitung eines Stichtages oder eines Zeitintervalles aus einem Zeitmerkmal erst dann erfolgen kann, wenn die Ergebnismenge bereits gelesen wurde, überprüft das System die Gültigkeit der Sätze nochmals nach dem Lesen von der Datenbank. Folglich werden mehr Daten gelesen, als letztlich als Ergebnis der Query erscheinen. Verwenden Sie Zeitmerkmale als temporale Operanden mit Ableitungen daher mit entsprechender Rücksicht auf die Performance des Systems.

Wesentlich günstiger für die Performance ist es, bereits beim Datenladen zwei Datumsfelder (Anfangs- und Endedatum) aus dem abzuleitenden Zeitmerkmal zu errechnen und zu versorgen. Danach können diese Felder im InfoSet als Anfangs- und Endedatum definiert werden.

Beispiel: Ein DataStore-Objekt oder ein InfoCube enthält 0CALMONTH als Zeitmerkmal. Dies soll später im InfoSet als Zeitintervall verwendet werden und somit soll der InfoCube bzw. das DataStore-Objekt pseudo-zeitabhängig betrachtet werden. Man fügt dann in dem DataStore-Objekt bzw. dem InfoCube zwei Felder vom Typ Datum ein (Datum_01, Datum_02) und versorgt sie beim Laden.

Hat 0CALMONTH den Wert 092004, so werden die Felder wie folgt gefüllt:

Datum_01  ®  01.09.2004, Datum_02  ®  30.09.2004

Verwendet man Datum_01 und Datum_02 als Intervallgrenzen, so werden diese bereits in dem SQL-Statement berücksichtigt und das result-set ist mit hoher Wahrscheinlichkeit sehr viel kleiner, als wenn man die Ableitung über 0CALMONTH durchführen würde.

Die Verwendung eines InfoObject vom Datentyp D und die Verwendung des InfoObject 0CALDAY als temporale Operanden ist hingegen uneingeschränkt möglich, da die entsprechenden Selektionsbedingungen unmittelbar an die Datenbank weitergegeben werden.

Ist nur ein zeitabhängiges Merkmal im Join enthalten, so ist zu beachten, dass für eine Ausprägung des Merkmals mehrere Sätze auf der Datenbank existieren und dass deshalb in der Ergebnismenge des Joins mehrere Sätze auftreten können, die sich lediglich in den zeitabhängigen Attributen und dem gültigen Zeitintervall des Merkmals unterscheiden. Über eine Zeitselektion können solche Sätze gefiltert werden. Siehe dazu auch das dritte Beispiel in Interpretation von Berichten über InfoSets.

Wenn zwei zeitabhängige Merkmale im Join enthalten sind, werden nur diejenigen Kombinationen von Sätzen der InfoObjects in die Ergebnismenge aufgenommen, die hinsichtlich des Zeitraumes einen gemeinsamen Gültigkeitsbereich haben. Für mehr als zwei zeitabhängige InfoObjects gilt dies entsprechend.

Beispiel

Ein Join enthält z.B. (neben anderen, zeitunabhängigen Objekten) folgende zeitabhängige InfoObjects:

InfoObjects im Join

gültig ab

gültig bis

Kostenstelle (0COSTCENTER)

01.01.2001

31.05.2001

Profitcenter (0PROFIT_CTR)

01.03.2001

31.07.2001

Die Schnittmenge der beiden Zeitintervalle, also der gemeinsame Gültigkeitsbereich der InfoObjects, ist das gültige Zeitintervall des temporalen Join:

temporaler Join

gültig ab

gültig bis

gültiges Zeitintervall

01.03.2001

31.05.2001

Beispiel

Sie definieren ein InfoSet über das Merkmal PROFITC (Profit Center), das als zeitabhängiges Attribut den Verantwortlichen (RESP) enthält und das Merkmal CSTSNTR (Kostenstelle), das ebenfalls als zeitabhängiges Attribut den Verantwortlichen enthält. Diese Merkmale enthalten folgende Sätze:

PROFITC

RESP

DATEFROM

DATETO

BI

John Smith

01.01.2000

30.06.2001

BI

Jane Winter

01.07.2001

31.12.9999

 

CSTCNTR

PROFITC

RESP

DATEFROM

DATETO

4711

BI

Sue Montana

01.01.2001

31.05.2001

4711

BI

Peter Street

01.06.2001

31.12.2001

4711

BI

Dan Barton

01.01.2002

31.12.9999

 

Werden beide Merkmale in einem Join verwendet und über PROFITC verbunden, so sind für die oben genannten Sätze nicht alle sechs möglichen Kombinationen gültig, sondern nur die vier folgenden:        

PROFITC

RESP

CSTCNTR

PROFITC

RESP

 

BI

John Smith

4711

BI

Sue Montana

(01.01.2001-31.05.2001)

BI

John Smith

4711

BI

Peter Street

(01.06.2001-30.06.2001)

BI

Jane Winter

4711

BI

Peter Street

(01.07.2001-31.12.2001)

BI

Jane Winter

4711

BI

Dan Barton

(01.01.2002-31.12.9999)

 

Das gültige Zeitintervall für die Kombinationen, d.h. der Zeitraum in dem jeweils die Sätze beider Merkmale gültig sind, ist in Klammern angegeben. Die Kombinationen zwischen den Verantwortlichen John Smith und Dan Barton sowie Jane Winter und Sue Montana sind dagegen nicht erlaubt, da sich die entsprechenden Gültigkeitsbereiche nicht überschneiden.

Weitere Informationen:

Verarbeitung der Zeitabhängigkeit

Ende des Inhaltsbereichs