SEARCH
Gilt für:Berechnete SpalteBerechnete TabelleMeasureVisuelle Berechnung
Gibt die Zeichenposition zurück, an der ein bestimmtes Zeichen oder eine bestimmte Textzeichenfolge zuerst gefunden wird, gelesen von links nach rechts. Bei dieser Funktion muss die Groß-/Kleinschreibung beachtet werden.
Syntax
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Parameter
Begriff | Definition |
---|---|
find_text | Der Text, den Sie suchen möchten. Sie können in find_text auch Platzhalterzeichen verwenden – ein Fragezeichen (?) oder Sternchen (*). Ein Fragezeichen entspricht einem beliebigen einzelnen Zeichen; ein Sternchen entspricht einer beliebigen Zeichenabfolge. Wenn Sie ein tatsächliches Fragezeichen oder Sternchen suchen möchten, geben Sie eine Tilde (~) vor dem Zeichen ein. |
within_text | Der Text, in dem Sie nach find_text suchen möchten, oder eine Spalte, die Text enthält. |
start_num | (optional) Die Zeichenposition in within_text, an der der Suchvorgang beginnen soll. Wenn nicht angegeben, der Standardwert 1. |
NotFoundValue | (optional, jedoch dringend empfohlen) Der Wert, der zurückgegeben werden muss, wenn der Vorgang keine passende Teilzeichenfolge (substring) findet, in der Regel 0, –1 oder BLANK(). Wenn kein Wert angegeben ist, wird ein Fehler zurückgegeben. |
Rückgabewert
Die Nummer der Startposition der ersten Zeichenfolge vom ersten Zeichen der zweiten Zeichenfolge.
Bemerkungen
Bei der SEARCH-Funktion muss die Groß-/Kleinschreibung beachtet werden. Bei der Suche nach „N“ wird das erste Vorkommen von „N“ oder „n“ gefunden.
Bei der SEARCH-Funktion wird nach Akzent unterschieden. Mit der Suche nach „á“ wird das erste Vorkommen von „á“ gefunden, aber keine Vorkommen von „a“, „à“ oder den großgeschriebenen Versionen „A“, „Á“.
Mit der SEARCH-Funktion können Sie die Position eines Zeichens oder einer Textzeichenfolge innerhalb einer anderen Textzeichenfolge bestimmen. Anschließend können Sie den Text mit der MID-Funktion zurückgeben oder ihn mit der REPLACE-Funktion ändern.
Wenn der Text für find_text nicht in within_text gefunden wird, gibt die Formel einen Fehler zurück. Dieses Verhalten ähnelt Excel, das #VALUE zurückgibt, wenn die Teilzeichenfolge nicht gefunden wird. Nullen in within_text werden in diesem Kontext als leere Zeichenfolge interpretiert.
Die Verwendung dieser Funktion im DirectQuery-Modus wird nicht unterstützt, wenn sie in berechneten Spalten oder RLS-Regeln (Row-Level Security) eingesetzt wird.
Beispiel
Die folgende DAX-Abfrage sucht die Position des ersten Buchstabens von „cycle“ (Fahrrad fahren) in der Zeichenfolge, die den Namen des Handelspartners enthält. Wenn sie nicht gefunden wird, wird „BLANK“ zurückgegeben.
Bei „SEARCH“ wird die Groß-/Kleinschreibung nicht beachtet. Wenn in diesem Beispiel im <find_text>-Argument „cycle“ oder „Cycle“ verwendet wird, werden Ergebnisse für beide Fälle zurückgegeben. Verwenden Sie FIND, wenn die Groß-/Kleinschreibung beachtet werden soll.
Die Beispiele in diesem Artikel können mit dem Adventure Works SW 2020 Power BI Desktop Beispielmodell verwendet werden. Informationen zum Abrufen des Modells finden Sie unter DAX-Beispielmodell.
EVALUATE
CALCULATETABLE (
ADDCOLUMNS (
TOPN ( 10, SUMMARIZE('Reseller', [Reseller], [Business Type])),
"Position of cycle", SEARCH ( "cycle", 'Reseller'[Reseller], 1, BLANK () )
),
'Reseller'[Business Type] IN { "Specialty Bike Shop", "Value Added Reseller", "Warehouse"}
)
gibt diese Werte zurück:
Reseller | Business Type | Position von „cycle“ |
---|---|---|
Volume Bike Sellers | Warehouse | |
Mass Market Bikes | Value Added Reseller | |
Twin Cycles | Value Added Reseller | 6 |
Rich Department Store | Warehouse | |
Rental Gallery | Specialty Bike Shop | |
Budget Toy Store | Warehouse | |
Global Sports Outlet | Warehouse | |
Online Bike Catalog | Warehouse | |
Helmets and Cycles | Value Added Reseller | 13 |
Jumbo Bikes | Specialty Bike Shop |