Funktionen im Berichts-Generator: Lookup-Funktion in einem paginierten Bericht (Berichts-Generator)

Gilt für: ✔️ Microsoft Report Builder (SSRS) ✔️ Power BI Report Builder ✔️ Berichts-Designer in SQL Server Data Tools

Die Funktion gibt den ersten übereinstimmenden Wert für den angegebenen Namen aus einem Dataset mit Name-Wert-Paaren in einem paginierten Bericht zurück.

Hinweis

Sie können paginierte Berichtsdefinitionsdateien (.rdl) im Berichts-Generator von Microsoft, im Power BI Report Builder und im Berichts-Designer in SQL Server-Datentools erstellen und ändern.

Syntax

  
Lookup(source_expression, destination_expression, result_expression, dataset)  

Parameter

source_expression
(Variant) Ein Ausdruck, der im aktuellen Bereich ausgewertet wird und den zu suchenden Namen oder Schlüssel angibt. Beispiel: =Fields!ProdID.Value.

destination_expression
(Variant) Ein Ausdruck, der für jede Zeile in einem Dataset ausgewertet wird, und der den Namen oder den Schlüssel für die Übereinstimmung angibt. Beispiel: =Fields!ProductID.Value.

result_expression
(Variant) Ein Ausdruck, der für die Zeile im Dataset ausgewertet wird, für die source_expression = destination_expressiongilt, und der den abzurufenden Wert angibt. Beispiel: =Fields!ProductName.Value.

Dataset (dataset)
Eine Konstante, die den Namen eines Datasets im Bericht angibt. Beispiel: "Products".

Rückgabewert

Gibt einen Wert vom Typ Variantzurück; gibt Nothing zurück, wenn keine Übereinstimmung vorhanden ist.

Bemerkungen

Rufen Sie für ein Name-Wert-Paar, für das eine 1:1-Beziehung vorhanden ist, den Wert mithilfe von Lookup aus dem angegebenen Dataset ab. Beispiel: Für ein ID-Feld in einer Tabelle können Sie das entsprechende Namensfeld mithilfe von Lookup aus einem Dataset abrufen, das nicht an den Datenbereich gebunden wird.

MitLookup wird Folgendes ausgeführt:

  • Der Quellausdruck wird im aktuellen Bereich ausgewertet.

  • Der Zielausdruck wird für jede Zeile des angegebenen Datasets ausgewertet, nachdem Filter angewendet wurden, und zwar anhand der Sortierung des angegebenen Datasets.

  • Bei der ersten Übereinstimmung von Quellausdruck und Zielausdruck wird der Ergebnisausdruck für diese Zeile im Dataset ausgewertet.

  • Der Ergebnisausdruckswert wird zurückgegeben.

Verwenden Sie LookupSet-Funktion (Berichts-Generator und SSRS), um mehrere Werte für einen einzelnen Namen oder ein Schlüsselfeld abzurufen, für das eine 1:n-Beziehung vorhanden ist. Zum Aufrufen von Lookup für mehrere Werte verwenden Sie die Multilookup-Funktion (Berichts-Generator und SSRS).

Es gelten folgende Einschränkungen:

  • Lookup wird ausgewertet, nachdem alle Filterausdrücke angewendet wurden.

  • Nur eine Suchebene wird unterstützt. Ein Quell-, Ziel- oder Ergebnisausdruck kann keinen Verweis auf eine Suchfunktion einschließen.

  • Quell- und Zielausdrücke müssen den gleichen Datentyp ergeben. Der Rückgabetyp ist der gleiche wie der Datentyp des ausgewerteten Ergebnisausdrucks.

  • Quell-, Ziel- und Ergebnisausdrücke können keine Verweise auf Berichts- oder Gruppenvariablen einschließen.

  • Lookup kann nicht als Ausdruck für die folgenden Berichtselemente verwendet werden:

    • Dynamische Verbindungszeichenfolgen für eine Datenquelle.

    • Berechnete Felder in einem Dataset.

    • Abfrageparameter in einem Dataset.

    • Filter in einem Dataset.

    • Berichtsparameter.

    • Die Eigenschaft „Report.Language“.

Weitere Informationen finden Sie in der Aggregatfunktionsreferenz (Berichts-Generator und SSRS) und unter Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS).

Beispiel

Nehmen Sie im folgenden Beispiel an, dass eine Tabelle an ein Dataset gebunden wird, das ein Feld für den Produktbezeichner "ProductID" enthält. Ein separates Dataset mit dem Namen "Product" enthält den entsprechenden Produktbezeichner "ID" und den Produktnamen "Name".

Im folgenden Ausdruck vergleicht Lookup in jeder Zeile des Datasets „Product“ den Wert von „ProductID“ mit „ID“. Wenn eine Übereinstimmung gefunden wird, wird der Wert des Felds „Name“ für diese Zeile zurückgegeben.

=Lookup(Fields!ProductID.Value, Fields!ID.Value, Fields!Name.Value, "Product")  

Weitere Informationen

Ausdrucksverwendungen in Berichten (Berichts-Generator und SSRS)
Beispiele für Ausdrücke (Berichts-Generator und SSRS)
Datentypen in Ausdrücken (Berichts-Generator und SSRS)
Ausdrucksbereich für Gesamtwerte, Aggregate und integrierte Auflistungen (Berichts-Generator und SSRS)