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
Lookup 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
Parameter | Definition |
---|---|
source_expression | (Variant) Ein Ausdruck, der im aktuellen Bereich ausgewertet wird und den Namen oder Schlüssel angibt, der gesucht werden soll. Beispiel: =Fields!ProdID.Value . |
destination_expression | (Variant) Ein Ausdruck, der für jede Zeile in einem Datensatz ausgewertet wird und den Namen oder Schlüssel angibt, auf den die Übereinstimmung erfolgen soll. Beispiel: =Fields!ProductID.Value . |
result_expression | (Variant) Ein Ausdruck, der für die Zeile im Dataset ausgewertet wird, für die source_expression = destination_expression gilt, und der den abzurufenden Wert angibt. Beispiel: =Fields!ProductName.Value . |
Dataset (dataset) | Eine Konstante, die den Namen eines Datasets im Bericht angibt. Produkte kann ein Beispiel für ein von Ihnen verwendetes Dataset sein. |
Return
Lookup gibt einen Variant zurück, oder gibt Nothing zurück, wenn keine Übereinstimmung vorhanden ist.
Hinweise
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 die Report Builder Funktionen – LookupSet Funktion in einem paginierten Bericht (Report Builder)., um mehrere Werte für einen einzelnen Namen oder ein Schlüsselfeld abzurufen, für das eine 1:n-Beziehung vorhanden ist. Verwenden Sie die Report Builder Funktionen – Multilookup-Funktion in einem paginierten Bericht (Report Builder)., um Lookup für einen Satz von Werten aufzurufen.
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 Lookupfunktion 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 unter Report-Builder-Funktionen – Bezug auf Aggregatfunktionen in paginierten Berichten (Report Builder) und Ausdrucksbereich für Summen, Aggregate und integrierte Sammlungen in einem paginierten Bericht (Report Builder).
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")