SEARCH
Gilt für:Berechnete SpalteBerechnete TabelleMeasurevisuelle Berechnung
Gibt die Nummer des Zeichens zurück, bei dem ein bestimmtes Zeichen oder eine Textzeichenfolge zuerst gefunden wird, die von links nach rechts gelesen wird. Bei der Suche wird die Groß-/Kleinschreibung nicht beachtet, und die Akzente werden beachtet.
Syntax
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Parameter
Begriff | Definition |
---|---|
find_text |
Der Text, den Sie suchen möchten. Sie können Platzhalterzeichen , das Fragezeichen (?) und sternchen (*) in find_text verwenden. Ein Fragezeichen entspricht einem beliebigen einzelnen Zeichen; ein Sternchen entspricht einer beliebigen Zeichenabfolge. Wenn Sie ein fragezeichen oder sternchen möchten, geben Sie vor dem Zeichen eine Tilde (~) ein. |
within_text |
Der Text, in dem Sie nach find_text oder einer Spalte suchen möchten, die Text enthält. |
start_num |
(optional) Die Zeichenposition in within_text , an der Sie mit der Suche beginnen möchten. Wenn nicht angegeben, 1. |
NotFoundValue |
(optional, aber dringend empfohlen) Der Wert, der zurückgegeben werden soll, wenn der Vorgang keine übereinstimmende Teilzeichenfolge findet, in der Regel 0, -1 oder BLANK(). Wenn nicht angegeben, wird ein Fehler zurückgegeben. |
Rückgabewert
Die Nummer der Anfangsposition der ersten Textzeichenfolge aus dem ersten Zeichen der zweiten Textzeichenfolge.
Bemerkungen
Bei der Suchfunktion wird die Groß-/Kleinschreibung nicht beachtet. Bei der Suche nach "N" wird das erste Vorkommen von 'N' oder 'n' gefunden.
Die Suchfunktion ist akzentempfindlich. Die Suche nach "á" findet das erste Vorkommen von 'á', aber keine Vorkommen von 'a', 'à' oder die großgeschriebenen Versionen 'A', 'Á'.
Sie können die SEARCH-Funktion verwenden, um die Position eines Zeichens oder einer Textzeichenfolge in einer anderen Textzeichenfolge zu bestimmen, und dann die funktion MID verwenden, um den Text zurückzugeben, oder verwenden Sie die REPLACE-Funktion, um den Text zu ändern.
Wenn die
find_text
inwithin_text
nicht gefunden werden kann, gibt die Formel einen Fehler zurück. Dieses Verhalten ähnelt Excel, das #VALUE zurückgibt, wenn die Teilzeichenfolge nicht gefunden wird. Nullen inwithin_text
werden in diesem Kontext als leere Zeichenfolge interpretiert.Diese Funktion wird für die Verwendung im DirectQuery-Modus nicht unterstützt, wenn sie in berechneten Spalten oder Sicherheitsregeln auf Zeilenebene (RLS) verwendet wird.
Beispiel
Die folgende DAX Abfrage findet die Position des ersten Buchstabens von "cycle" in der Zeichenfolge, die den Händlernamen enthält. Wenn sie nicht gefunden wurde, wird "Leer" zurückgegeben.
SEARCH wird die Groß-/Kleinschreibung nicht beachtet. Wenn in diesem Beispiel "Cycle" oder "Cycle" im find_text
-Argument verwendet wird, werden Ergebnisse für beide Fälle zurückgegeben. Verwenden Sie FIND für die Groß-/Kleinschreibung.
Beispiele in diesem Artikel können mit dem Beispielmodell Adventure Works DW 2020 Power BI Desktop 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 | |
Helme und Zyklen | Value Added Reseller | 13 |
Jumbo Bikes | Specialty Bike Shop |