Konstante Selektion 
Im Query Designer bestimmen Sie mit Hilfe von Selektionen die Daten, die Sie zur Laufzeit des Berichts anzeigen möchten. Zur Laufzeit können Sie dann mittels Navigation und Filtern weiter auf die Selektion Einfluss nehmen, d. h. Sie können die Selektion weiter einschränken.
Die Eigenschaft Konstante Selektion ermöglicht es, eine Selektion im Query Designer als konstant zu markieren. Zur Laufzeit haben dann Navigation und Filter keine Auswirkungen auf diese Selektion. So können Sie auf einfache Weise Referenzgrößen selektieren, die sich zur Laufzeit nicht mehr verändern.
Da konstante Selektion eine Eigenschaft ist, die die Wirkung von Filtern auf Zellen beeinflußt, ist es wichtig, zunächst zu verstehen, welche Filter auf eine Query-Ergebniszelle wirken können. Zur besseren Lesbarkeit werden im Folgenden die hier definierten Abkürzungen der Filter verwendet.
Im allgemeinen Fall können folgende Filter wirken:
Der globale oder fixe Filter (SF). Das sind alle Einschränkungen, die Sie im Query Designer an Merkmalen vornehmen, die im Bereich Filter, in den freien Merkmalen oder in den Zeilen oder Spalten stehen.
Der dynamische Filter (SD), also Einschränkungen im Navigationsblock der Query.
Die Ausprägungen der Aufrissmerkmale (SA). Das sind die Merkmalswerte, die in der entsprechenden Führungsspalte bzw. im Spaltenkopf stehen.
Außerdem wirken abhängig von der Anzahl der Strukturen in der Query noch weitere Filter auf die Zelle.
Beispiel
Ein grafisches Beispiel für eine Query mit einer Kennzahlstruktur in den Zeilen und einer Merkmalsstruktur in den Spalten finden Sie hier:

Wenn die Query zwei Strukturen enthält, wirken folgende Filter:
Die Filter aus der Selektion der ersten Struktur (S1). Das Strukturelement der ersten Struktur wird im Folgenden als Eo bezeichnet.
Die Filter aus der Selektion der zweiten Struktur (S2). Das Strukturelement der zweiten Struktur wird im Folgenden als Fo bezeichnet.
Falls es sich um eine Ausnahmezelle handelt, werden (S1) und (S2) durch den Filter auf der Ausnahmezelle (SC) ersetzt.
Wenn die Query nur eine Struktur enthält, so wirkt der Filter aus der Selektion dieser Struktur (S1) und (S2) entfällt.
Die Eigenschaft Konstante Selektion steht bei Selektionen in Strukturbestandteilen, Zellen und eingeschränkten Kennzahlen zur Verfügung.
Sie können Bestandteile von Selektionen, d. h. einzelne Merkmale mit deren Filterwerten, als konstant definieren. Die Selektion bleibt dann nur bezüglich dieses Merkmals bei der Navigation unabhängig von Filtern. Weitere Informationen finden Sie unten im Abschnitt Konstante Selektion an einem Merkmal (CSC).
Achtung
Eine eingeschränkte Kennzahl kann nicht insgesamt als konstant markiert werden, nur deren Merkmale.
Sie können auf Strukturbestandteilen und auf Zellen ganze Selektionen als konstant definieren. Eine solche Selektion bleibt bei der Navigation unabhängig von allen Filtern bestehen. Weitere Informationen finden Sie unten im Abschnitt Konstante Selektion an einem Strukturelement (CSE).
Ohne die Eigenschaft Konstante Selektion wirken alle oben beschriebenen Filter auf eine Zelle, sofern diese Filter vorhanden sind. Mathematisch ausgedrückt heißt das, dass der effektiv auf die Zelle wirkende Filter die Schnittmenge der Filter (SF), (SD), (SA), (S1), (S2), (SC) ist.
Wenn nun in einer Zelle für ein Merkmal M die Eigenschaft Konstante Selektion gesetzt wird, wendet das System auf diese Zelle keine weiteren Selektionen bezüglich des entsprechenden Merkmals an. Konstante Selektion könnte man daher auch als ausschließende oder dominante Selektion bezeichnen. Konstante Selektion auf dem Merkmal M der Zelle bedeutet, dass die Selektionen (SF), (SD) und (SA) bezüglich des Merkmals M nicht berücksichtigt werden. Konstante Selektion am Merkmal wird im Folgenden als (CSC) bezeichnet.
Eine besondere Rolle spielt das Merkmal 0INFOPROV in MultiProvidern. Wenn die Eigenschaft Konstante Selektion an 0INFOPROV aktiviert wird und es einen Filter für einen bestimmten im MultiProvider enthaltenen PartProvider gibt, sucht das System alle Merkmale N des MultiProviders, die nicht vom entsprechenden PartProvider gefüllt werden, filtert N auf den Initialwert '#' und setzt für diese Selektion automatisch die Eigenschaft Konstante Selektion. Damit werden für diese Zelle effektiv alle Filter auf solche Merkmale ausgeschaltet, die von dem PartProvider nicht versorgt werden. Dies ist sinnvoll, weil diese Filter andernfalls verhindern könnten, dass für diese Zelle die Daten des PartProviders angezeigt würden.
Beispiel
Wenn ein PartProvider P1 das Merkmal Kalenderjahr nicht enthält, so würde normalerweise jeder Filter auf das Kalenderjahr, der den Initialwert nicht enthält, verhindern, dass Daten dieses PartProviders in das Zellergebnis mit einfließen. Indem die Eigenschaft Konstante Selektion am Merkmal 0INFOPROV und der Filter 0INFOPROV = P1 am Strukturelement gesetzt wird, wirken nun alle Filter auf dem Kalenderjahr, die von außen auf die Zelle wirken (in (SF), (SD) oder (SA) enthalten sind), nicht mehr auf die Zelle.
Ein weiteres Beispiel finden Sie unter Konstante Selektion bei MultiProvidern einsetzen.
Empfehlung
Wenn die Eigenschaft Konstante Selektion am Merkmal 0INFOPROV gesetzt wird, gibt es den Zusatz Nicht bebuchte Werte anzeigen (CSA). Hierdurch würde sich die Verarbeitung der Eigenschaft vollständig verändern. SAP empfiehlt, diese Eigenschaft nicht mehr zu verwenden, und stattdessen im Query Designer für das Merkmal unter Eigenschaften auf der Registerkarte Erweitert die Zugriffsart für Ergebniswerte auf Stammdaten zu setzen (siehe Eigenschaften des Merkmals).
Die Eigenschaft Konstante Selektion kann auch für das gesamte Strukturelement gesetzt werden. In diesem Fall werden alle übergeordneten Filter, also (SF),(SD) und (SA) für die entsprechende Zelle nicht berücksichtigt. Konstante Selektion am Strukturelement wird im Folgenden als (CSE) bezeichnet.
Die Analytic Engine behandelt Navigationsattribute im Allgemeinen bei der Abarbeitung wie unabhängige Merkmale. Wenn die Query ein Navigationsattribut NA zum Bezugsmerkmal M benutzt und M mit der Eigenschaft Konstante Selektion versehen wurde (CSC), empfehlen wir, das Navigationsattribut ohne Filter in die Selektion aufzunehmen und ebenfalls die Eigenschaft Konstante Selektion zu setzen.
Dasselbe Verfahren empfehlen wir auch für Zeitmerkmale, die in der Analytic Engine (außer für Bestände und unbebuchte Werte) ebenfalls als unabhängige Merkmale behandelt werden, sowie für beliebige andere Merkmale, für die eine strikte Abhängigkeit bekannt ist.
Die Eigenschaft Konstante Selektion wirkt immer nur auf das Merkmal selbst und nicht automatisch auf abhängige (gröbere) Merkmale. Wir empfehlen, diese in die Selektion aufzunehmen und ebenfalls konstant zu setzen.
Beispiel
Wir nehmen an, dass das Merkmal C an das Merkmal P geklammert ist. Weiterhin ist C - etwa durch einen Hierarchieknoten - auf eine einzige SID gefiltert und in einem Strukturelement Eo auf konstante Selektion gesetzt (CSC). Implizit ist somit auch P auf den eindeutigen Wert po gefiltert. Da die konstante Selektion auf C jedoch keine Wirkung auf P hat, würde ein fixer oder dynamischer Filter auf P, der po nicht enthält, dazu führen, dass Eo keine Daten liefert. In diesem Beispiel empfehlen wir, auch P ohne Filter in die Selektion von Eo aufzunehmen und ebenfalls konstant zu setzen. Diese Regel soll im folgenden an einem einfachen Beispiel verdeutlicht werden:
Auf dem Merkmal Region, das an das Merkmal Land geklammert ist, gibt es die folgenden Merkmalswerte:
Land |
Region |
|---|---|
DE |
BW |
DE |
BAY |
DE |
HAM |
US |
NY |
Außerdem gibt es auf dem Merkmal Region eine Hierarchie. Der Hierarchieknoten Süddeutschland umfasst die Blätter DE-BW und DE-BAY.
Wir nehmen an, dass in einem Strukturelement die Hierarchieselektion Region = 'Süddeutschland' auf konstante Selektion (CSC) gesetzt wird. Damit ist implizit das Land für diese Zelle auf 'DE' gefiltert, aber nicht konstant gesetzt. Ein dynamischer Filter auf Land = 'US' führt dazu, dass die Zelle keine Daten mehr liefert. Wenn hingegen das Land ebenfalls auf konstante Selektion (CSC) gesetzt wird, so liefert die Zelle weiterhin die Daten für Süddeutschland.
Konstante Selektion an einem Selektionselement (CSE) dominiert die konstante Selektion am Merkmal (CSC), die an Selektionen innerhalb dieses Strukturelements festgelegt wurde. Die am Merkmal M abgelegte Konstante Selektion (CSC) wird für ein Element mit (CSE) nicht berücksichtigt. Dies gilt auch für Sonderfunktionen, die im Zusammenhang mit dem Merkmal 0INFOPROV mit (CSC) verbunden sind.
Bei Queries mit zwei Strukturen erben alle Zellen die aus einem Strukturelement mit konstanter Selektion (CSE) hervorgehen, die Eigenschaft (CSE). Das bedeutet, dass die Zelle alle Filter von beiden beteiligten Strukturelementen erbt, und alle übrigen Filter nicht berücksichtigt werden, so als ob alle Filter der Zelle durch ein einziges Strukturelement mit (CSE) definiert worden wären. Für diese Zelle ist es also ohne Bedeutung, ob die Eigenschaft Konstante Selektion am Strukturelement (CSE) an einem der beiden oder an beiden Strukturelementen gesetzt wurde, und die resultierende konstante Selektion (CSE) dominiert ebenfalls jegliche konstante Selektion am Merkmal (CSC) für diese Zelle.
Für die Anzeige von Zellen gilt die folgende Regel (CS):
Selektionselemente mit (CSE) bzw. mit auf konstant gesetzten Selektionen (CSC) erzeugen keine zusätzlichen Objekte im Aufriss. |
Die Menge der in einem Aufriss angezeigten Merkmalswerte ändert sich also nicht, wenn man zusätzliche Strukturelemente mit konstanter Selektion aufnimmt. Wie sich dieses Verhalten in bestiommten Fällen auswirken kann, erläutern die folgenden Abschnitte:
Kreuzaufrisse sind Aufrisse, in denen sowohl in den Zeilen als auch in den Spalten Merkmale aufgerissen sind. Hier wird jede Zelle oder Kombination der Merkmalswerte des Zeilen- und Spaltenaufrisses als ein Objekt in diesem Sinn aufgefasst. Für ein Strukturelement mit (CSC) wird deshalb nur dann in der Zelle ein Wert angezeigt, wenn es mindestens ein weiteres Strukturelement (sichtbar oder nicht) gibt, welches einen von NULL verschiedenen Wert hat. Dies ist auch dann kein Fehler, wenn die Kennzahl-Definition einen Wert ungleich NULL für die leere Zelle anzeigt. Beim Aufruf der Kennzahl-Definition weist das System mit der Meldung BRAIN149 "Es wurde 'Nicht bebuchte Werte anzeigen' aktiviert." darauf hin.
Falls sämtliche Strukturelemente der Query die Eigenschaft Konstante Selektion (CSC) oder (CSE) besitzen, darf die Query nach der Regel (CS) nie Daten anzeigen. Das System weist mit der Warnung BRAIN200 "Die Query enthält nur Selektionselemente mit 'Konstante Selektion'" darauf hin und stellt alle Elemente auf Objekterzeugung. Wenn Sie nachfolgend der Query weitere normale Selektionselemente hinzufügen, muss das System den konstanten Selektionselementen die Objekterzeugung wieder nehmen; unter Umständen werden also durch das Hinzufügen weiterer Selektionelemente weniger Objekte angezeigt.
Wenn ein Merkmal M in einem Strukturelement konstant gesetzt ist (CSC), und dieses Merkmal weder ein freies Merkmal noch global gefiltert ist, so ist die konstante Selektion an diesem Element bis auf das Ausschalten der Objekterzeugung wirkungslos. Dies wird mit der Nachricht BRAIN201 "Die Eigenschaft Konstante Selektion für Element &1 ist unnötig" angezeigt. Dasgleiche gilt für Elemente mit (CSE).
Wenn Sie erreichen möchten, dass ein Strukturelement Eo mit (CSC) oder (CSE) trotz der Regel (CS) Objekte erzeugt, empfehlen wir, das Strukturelement Eo auf E1 zu kopieren und die Eigenschaft Konstante Selektion für E1 zu deaktivieren. Danach können Sie E1 'immer ausblenden'. E1 wirkt nun weiterhin objekterzeugend, obwohl es auf der Liste nicht sichtbar ist.
Die konstante Selektion wirkt nur auf die Selektion und hat keinen Einfluss auf die Reihenfolge der Abarbeitung von Aggregation und Formelrechnung.
Hinweis
Das System untersützt es nicht, prozentuale Anteile von Aggregationsbezugsmerkmalen an Gesamtsummen durch eine Formel auszudrücken, die den Bezugspunkt durch konstante Selektion definiert.
Beispiel
Wieviele Produkte erzielen einen Umsatz > 1% des Gesamtumsatzes?
Man könnte versuche, diese Fragestellung folgendermassen auszudrücken:
Gesamtumsatz: Umsatz mit konstanter Selektion auf dem Merkmal Produkt
relativer Umsatz = Umsatz / Gesamtumsatz
Anzahl relevante Produkte = relevanter Umsatz > 0,01 mit Aggregation SUMME über dem Merkmal Produkt
Diese Beispiel würde funktionieren, wenn der Gesamtumsatz aggregiert in den relativen Umsatz einginge. Da die konstante Selektion aber nur auf den Filter wirkt, wird der relative Umsatz im obigen Beispiel immer 1 sein, sofern ein Umsatz > 0 erzielt wurde. Damit ist die Anzahl relevanter Produkte gleich der Anzahl aller Produkte, für die Daten gebucht wurden.
Für Zellen mit konstanter Selektion wird ein getrennter Gültigkeitsbereich ermittelt (siehe Beispiele: Gültigkeiten und konstante Selektion).
Markieren Sie ein Merkmal einer Selektion folgendermaßen als konstant:
Wählen Sie im Kontextmenü einer Selektion Bearbeiten. Sie gelangen auf den Dialog Selektion ändern.
Wählen Sie im Bereich Details der Selektion im Kontextmenü des Merkmals, das Sie in der Selektion verwenden, die Eigenschaft Konstante Selektion.
Hinweis
Analog dazu können Sie Merkmale, die Sie in einer eingeschränkten Kennzahl oder in einer Selektion einer Zelle verwenden, als konstant markieren.
Markieren Sie können die Eigenschaft Konstante Selektion für eine ganze Selektion im Dialog Eigenschaften der Selektion/Formel/Zelle.
Plan/Ist-Problematik: Im InfoCube existieren Ist-Werte pro Periode. Plan-Werte existieren nur für das ganze Jahr. Diese sind auf die Periode 12 gebucht. Um IST und PLAN gegenüberstellen zu können, definieren Sie in einer Query eine IST- und eine PLAN-Spalte, wobei Sie bei PLAN auf Periode 12 einschränken und diese Einschränkung als konstante Selektion markieren. Sie sehen nun immer Plan-Werte, unabhängig davon, in welcher Periode Sie navigieren.