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_text eller 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
iwithin_text
returnerar formeln ett fel. Det här beteendet liknar Excel, som returnerar #VALUE om delsträngen inte hittas. Null-värden iwithin_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 |