HĽADAŤ
Vzťahuje sa na: Vypočítaný stĺpec Vypočítaná tabuľka Výpočet mierky Vizuál
Vráti číslo znaku, v ktorom sa po prvýkrát nájde konkrétny znak alebo textový reťazec, pri čítaní zľava doprava. Vo vyhľadávaní sa rozlišujú veľké a malé písmená a diakritika.
Syntax
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Parametre
Obdobie | Definícia |
---|---|
find_text | Text, ktorý sa má vyhľadať. V find_text môžete použiť zástupné znaky – otáznik (?) a hviezdičku (*). Otáznik sa zhoduje s ľubovoľným jedným znakom. Hviezdička sa zhoduje s ľubovoľnou sekvenciou znakov. Ak chcete vyhľadať skutočný otáznik alebo hviezdičku, pred znak zadajte vlnovku (~). |
within_text | Text, v ktorom chcete vyhľadať find_text, alebo stĺpec obsahujúci text. |
start_num | (voliteľné) Pozícia znaku v within_text , na ktorej sa má začať hľadať. Ak sa vynechá, použije sa hodnota 1. |
NotFoundValue | (voliteľné, ale dôrazne sa odporúča) Hodnota, ktorá sa má vrátiť, keď operácia nenájde zodpovedajúci podreťazci, zvyčajne 0, -1 alebo BLANK(). Ak parameter nie je zadaný, vráti sa chyba. |
Vrátená hodnota
Číslo počiatočnej pozície prvého textového reťazca od prvého znaku druhého textového reťazca.
Poznámky
Vo funkcii vyhľadávania sa nerozlišujú malé a veľké písmená. Pri vyhľadávaní výrazu "N" sa nájde prvý výskyt záznamu "N" alebo "n".
Vo funkcii vyhľadávania sa rozlišuje diakritika. Pri vyhľadávaní znaku "á" sa nájde prvý výskyt znaku "á", ale žiadne výskyty znaku "a", "à" alebo veľkých písmen "A", "Á".
Funkciu SEARCH môžete použiť na určenie umiestnenia znaku alebo textového reťazca v inom textovom reťazci a potom pomocou funkcie MID vrátiť text alebo použiť funkciu REPLACE na zmenu textu.
Ak find_text nie je možné nájsť v within_text, vzorec vráti chybu. Toto správanie je rovnaké ako v Exceli, ktorý vráti #VALUE ak sa podreťazca nenájde. Hodnoty Null v within_text sa v tomto kontexte interpretujú ako prázdny reťazec.
Táto funkcia nie je podporovaná na použitie v režime DirectQuery, keď sa používa vo vypočítaných stĺpcoch alebo v pravidlách zabezpečenia na úrovni riadkov (RLS).
Príklad
Nasledujúci dotaz DAX vyhľadá pozíciu prvého písmena "cyklu" v reťazci, ktorý obsahuje názov predajcu. Ak sa nenájde, vráti sa hodnota Prázdne.
Vo vyhľadávaní sa nerozlišujú malé a veľké písmená. V tomto príklade, ak sa v <argumente find_text> použije "cyklus" alebo "Cyklus", vrátia sa výsledky pre oba prípady. Funkciu FIND použite na rozlišovania malých a malých písmen.
Príklady v tomto článku možno použiť so vzorovým modelom aplikácie Power BI Desktop Adventure Works DW 2020. Ak chcete získať tento model, pozrite si tému Ukážkový model DAX.
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"}
)
Vráti
Reseller (Predajca) | Business Type (Druh podnikania) | Poloha cyklu |
---|---|---|
Volume Bike Sellers | Warehouse | |
Hromadnom trhu bicykle | Predajca s pridanou hodnotou | |
Dva cykly | Predajca s pridanou hodnotou | 6 |
Rich Department Store | Warehouse | |
Galéria prenájmu | Predajňa špeciálnych bicyklov | |
Budget Toy Store | Warehouse | |
Globálna športová zásuvka | Warehouse | |
Online katalóg bicyklov | Warehouse | |
Prilby a cykly | Predajca s pridanou hodnotou | 13 |
Jumbo bicykle | Predajňa špeciálnych bicyklov |