Dela via


SEARCH

gäller för:beräknad kolumnberäknad tabellMåttVisuell beräkning

Returnerar antalet tecken där ett visst tecken eller en viss textsträng först hittas och läser från vänster till höger. Sökningen är skiftlägeskänslig och accentkänslig.

Syntax

SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])

Parametrar

Period Definition
find_text Texten som du vill hitta.

Du kan använda jokertecken – frågetecknet (?) och asterisk (*) – i find_text. Ett frågetecken matchar ett enskilt tecken. en asterisk matchar alla teckensekvenser. Om du vill hitta ett faktiskt frågetecken eller en asterisk skriver du en tilde (~) före tecknet.
within_text Den text där du vill söka efter find_texteller en kolumn som innehåller text.
start_num (valfritt) Teckenpositionen i within_text där du vill börja söka. Om det utelämnas, 1.
NotFoundValue (valfritt, men rekommenderas starkt) Det värde som ska returneras när åtgärden inte hittar någon matchande delsträng, vanligtvis 0, -1 eller BLANK(). Om inget anges returneras ett fel.

Returvärde

Numret på startpositionen för den första textsträngen från det första tecknet i den andra textsträngen.

Kommentarer

  • Sökfunktionen är skiftlägesokänslig. Om du söker efter "N" hittas den första förekomsten av 'N' eller 'n'.

  • Sökfunktionen är dekorkänslig. Sökning efter "á" hittar den första förekomsten av 'á' men inga förekomster av 'a', 'à', eller de versalerade versionerna 'A', 'Á'.

  • Du kan använda funktionen SEARCH för att fastställa platsen för ett tecken eller en textsträng i en annan textsträng och sedan använda funktionen MID för att returnera texten eller använda funktionen REPLACE för att ändra texten.

  • Om det inte går att hitta find_text i within_textreturnerar formeln ett fel. Det här beteendet liknar Excel, som returnerar #VALUE om delsträngen inte hittas. Null-värden i within_text tolkas som en tom sträng i den här kontexten.

  • Den här funktionen stöds inte för användning i DirectQuery-läge när den används i beräknade kolumner eller säkerhetsregler på radnivå (RLS).

Exempel

Följande DAX frågan hittar positionen för den första bokstaven i "cycle", i strängen som innehåller återförsäljarens namn. Om det inte hittas returneras Tom.

SEARCH är skiftlägesokänsligt. I det här exemplet, om "cycle" eller "Cycle" används i argumentet find_text returneras resultaten för båda fallen. Använd FIND för skiftlägeskänslig.

Exempel i den här artikeln kan användas med exempelmodellen Adventure Works DW 2020 Power BI Desktop. Information om hur du hämtar modellen finns i DAX exempelmodell.

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"}
)

Returnerar

Reseller Business Type Cykelposition
Volymcykelförsäljare Distributionslager
Massmarknadscyklar Mervärdesåterförsäljare
Tvillingcykler Mervärdesåterförsäljare 6
Rich Department Store Distributionslager
Uthyrningsgalleri Specialcykelbutik
Budget leksakslager Distributionslager
Global sportbutik Distributionslager
Online Bike Catalog Distributionslager
Hjälmar och cykler Mervärdesåterförsäljare 13
Jumbocyklar Specialcykelbutik

FIND REPLACE Textfunktioner