SEARCH
Vzťahuje sa na:vypočítaný stĺpec
vypočítanej tabuľky
vizuálového výpočtu
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 alebo stĺpec obsahujúci text, v ktorom sa má vyhľadať find_text . |
start_num |
(voliteľné) Pozícia znaku v within_text , na ktorej sa má začať vyhľadávať. 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ťazca, 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", "Á".
Pomocou funkcie SEARCH môžete určiť umiestnenie znaku alebo textového reťazca v inom textovom reťazci a potom použiť funkciu MID na vrátenie textu alebo použiť funkciu REPLACE na zmenu textu.
Ak
find_text
nie je možné nájsť vwithin_text
, vzorec vráti chybu. Toto správanie je rovnaké ako v Exceli, ktorý vráti #VALUE ak sa podreťazce nenájde. Hodnoty Null vwithin_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 DAX dotaz 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.
SEARCH nerozlišuje 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. Na rozlišovania malých a malých písmen použite FIND.
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ť model, pozrite si DAX ukážkový model.
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 |