Show TOC

SyntaxLOOKUP Dieses Dokument in der Navigationsstruktur finden

Über die LOOKUP-Funktion einen anderen Quellwert referenzieren

Um in einer *REC( )-Anweisung einen neuen Wert zu berechnen, können Sie über die LOOKUP-Funktion einen Quellwert zuordnen, der außerhalb des Datenumfangs für eine FACTOR- oder eine EXPRESSION-Anweisung liegt.

Syntax

*LOOKUP {App}

*DIM [{LookupID}:]{DimensionName}="Value" | {CallingDimensionName}[.{Property}]

*DIM MEASURES=”MeasureName”

*ENDLOOKUP

Beispiel Beispiel

Im folgenden Beispiel lesen Sie RATE-Cube-Informationen und verwenden sie in der Berechnung. Sie können auch FOR/NEXT verwenden, um Lookups für mehrere Werte durchzuführen.

AppSet: APSHELL_V (Kopie von APSHELL)

Anwendung: Planung

*XDIM_MEMBERSET TIME = 2006.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*LOOKUP RATE

*DIM TIME="2006.AUG"

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM RATEEUR:INPUTCURRENCY="EUR"

*DIM MEASURES="PERIODIC"

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*REC(EXPRESSION=%VALUE%/LOOKUP(RATEEUR), RPTCURRENCY="EUR")

*ENDWHEN

Ende des Beispiels.

Beispiel Beispiel

Im folgenden Beispiel lesen Sie zuerst alle Berichtswährungen in der *SELECT-Anweisung und ordnen die Werte der Variable %CUR% zu. Mithilfe von FOR/NEXT lesen Sie die zugehörigen Umrechnungskurse aus dem RATE-Cube. Danach verwenden Sie sie in der Berechnung.

Werte in den Cubes vor der Ausführung des Schritts:

Daten im PLANNING-Cube:

TIME (Zeit)

P_ACCT

ENTITY (Entität)

P_ACTIVITY

CATEGORY (Kategorie)

CURRENCY (Währung)

P_DATASRC

SignData

2006.AUG

CE0004010

C9000

NONE

ACTUAL

LC

UPLOAD

157,915.81

Daten im RATE-Cube:

CATEGORY (Kategorie)

InputCurrency

R_ACCT

R_ENTITY

TIME (Zeit)

SignData

ACTUAL

EUR

AVG

GLOBAL

2006.AUG

1.5022

ACTUAL

USD

AVG

GLOBAL

2006.SEP

1.0000

*XDIM_MEMBERSET TIME=2006.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*SELECT(%CUR%, "[ID]", RPTCURRENCY, "[REPORTING]=Y")

*LOOKUP RATE

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM TIME="2006.AUG"

*DIM MEASURES="PERIODIC"

*FOR %LOOP_CUR%=%CUR%

*DIM C_%LOOP_CUR%:INPUTCURRENCY="%LOOP_CUR%"

*NEXT

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*FOR %LOOP_CUR%=%CUR%

*REC(EXPRESSION=%VALUE%/LOOKUP(C_%LOOP_CUR%), RPTCURRENCY=%LOOP_CUR%)

*NEXT

*ENDWHEN

Werte in den Cubes nach der Ausführung des Schritts:

2006.AUG

CE0004010

C9000

NONE

ACTUAL

EUR

UPLOAD

105,123.03

2006.SEP

CE0004010

C9000

NONE

ACTUAL

USD

UPLOAD

157,915.81

Sie können auch Eigenschaftswerte an Umfangselemente übermitteln, um Lookups von Daten durchzuführen.

Ende des Beispiels.

Beispiel Beispiel

In diesem Beispiel wird die Währung der entsprechenden Entität aus Stammdaten gelesen und dann zum Nachschlagen des Kurswertes verwendet.

*XDIM_MEMBERSET TIME = 2007.AUG

*XDIM_MEMBERSET P_ACCT=CE0004010

*XDIM_MEMBERSET CATEGORY=ACTUAL

*XDIM_MEMBERSET ENTITY=C9000

*LOOKUP RATE *DIM TIME="2006.AUG"

*DIM CATEGORY="ACTUAL"

*DIM R_ACCT="AVG"

*DIM R_ENTITY="GLOBAL"

*DIM RATE:INPUTCURRENCY=ENTITY.CURRENCY

*DIM MEASURES="PERIODIC"

*ENDLOOKUP

*WHEN P_ACCT

*IS "CE0004010"

*REC(EXPRESSION=%VALUE%/LOOKUP(RATE), RPTCURRENCY=ENTITY.CURRENCY)

*ENDWHEN

Ende des Beispiels.
Einschränkung
  • Das Lesen mehrerer Kennzahlen innerhalb eines einzelnen LOOKUP durch Zuordnen mehrerer Lookup-IDs wird nicht unterstützt.

Alle in dieser Dokumentation enthaltenen Software-Quelltextzeilen oder -Strings („Code“) dienen nur als Beispiele und sind nicht für die Anwendung in einem Produktivsystem vorgesehen. Der angegebene Quelltext soll lediglich die Syntax und die Ausdrucksregeln bestimmter Softwarecodes erläutern. SAP übernimmt keine Verantwortung für die Richtigkeit und Vollständigkeit des angegebenen Quelltextes und übernimmt keine Haftung für Fehler oder Schäden, die aus dessen Anwendung entstehen könnten; es sei denn, derartige Schäden wurden von SAP vorsätzlich oder fahrlässig hervorgerufen.