SEARCH
применимо:вычисляемый столбецвычисляемой таблицеMeasureвизуального вычисления
Возвращает число символов, по которым or найдена определенная строка текста first символов, чтение left для right. Search учитывается регистр and с учетом акцента.
Синтаксис
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Параметры
Термин | Определение |
---|---|
find_text |
Текст, который требуется find. Можно использовать подстановочные знаки — вопросительный знак (?) and звездочка (*) в find_text . Вопросительный знак соответствует любому одному символу; звездочка соответствует любой последовательности символов.
If вы хотите find фактический вопросительный знак or звездочку, введите тильду (~) перед символом. |
within_text |
Текст, в котором требуется search для find_text , or столбца, содержащего текст. |
start_num |
(необязательно) Позиция символа в within_text , с которой требуется начать поиск.
If опущено, 1. |
NotFoundValue |
(необязательно, но настоятельно рекомендуется) value, которые должны быть возвращены при notfind соответствующей подстроки, обычно 0, -1, orBLANK(). If not указан, возвращается error. |
Возврат value
Число начальной позиции текстовой строки first из символа first текстовой строки second.
Замечания
Функция search не учитывает регистр. Поиск "N" findfirst вхождения "N" or "n".
Функция search учитывает акцент. Поиск "á" будет findfirst вхождения "á", но никаких вхождения "a", "à", or прописных версий "A", "Á".
Функцию SEARCH можно использовать для определения расположения or текстовой строки символа в другой текстовой строке, and затем использовать функцию MID для возврата текста, or использовать функцию REPLACE для изменения текста.
If не удается найти
find_text
вwithin_text
, формула возвращает error. Это поведение похоже на Excel, которое возвращает #VALUEif подстрока найдена not. Значения NULL вwithin_text
будут интерпретированы как пустая строка в этом контексте.Эта функция not поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах or правилах безопасности на уровне строк (RLS).
Пример
Следующий запрос DAX находит позицию first буквы цикла в строке, contains имени торгового посредника. If not найден, возвращается Blank.
SEARCH не учитывает регистр. В этом примере if "cycle" or "Cycle" используется в аргументе find_text
, результаты возвращаются для любого случая. Используйте FIND для учета регистра.
Примеры в этой статье можно использовать с моделью sample Adventure Works DW 2020 Power BI Desktop. Сведения о получении модели см. в
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"}
)
Возвращает
Reseller | Business Type | Position of cycle |
---|---|---|
Volume Bike Sellers | Склад | |
Mass Market Bikes | добавленный торговый посредник Value | |
Twin Cycles | добавленный торговый посредник Value | 6 |
Rich Department Store | Склад | |
Rental Gallery | Специализированный магазин велосипедов | |
Budget Toy Store | Склад | |
Global Sports Outlet | Склад | |
Online Bike Catalog | Склад | |
Шлемы and циклы | добавленный торговый посредник Value | 13 |
Jumbo Bikes | Специализированный магазин велосипедов |