Freigeben über


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_textverwenden. 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_textoder 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 in within_textnicht 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 in within_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

FIND REPLACE Textfunktionen