Поиск…
Применяется к:вычисляемой таблице вычисляемой таблицы Вычисление визуального элемента измерениявычисляемой таблицы
Возвращает число символов, в которых сначала найдена определенная символьная или текстовая строка, считывающая слева направо. Поиск не учитывает регистр и учитывает акцент.
Синтаксис
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Параметры
Термин | Определение |
---|---|
find_text | Текст, который требуется найти. В find_text можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому одному символу; звездочка соответствует любой последовательности символов. Если вы хотите найти фактический вопросительный знак или звездочку, введите тильду (~) перед символом. |
within_text | Текст, в котором требуется искать find_text, или столбец, содержащий текст. |
start_num | (необязательно) Позиция символа в within_text , с которой вы хотите начать поиск. Если опущено, 1. |
NotFoundValue | (необязательно, но настоятельно рекомендуется) Значение, которое возвращается в случае, если операции не удалось найти соответствующую подстроку: как правило, это значение 0, –1 или BLANK(). Если не указан, возвращается ошибка. |
Возвращаемое значение
Число начальной позиции первой текстовой строки из первого символа второй текстовой строки.
Замечания
Функция поиска не учитывает регистр. Поиск "N" находит первое вхождение "N" или "n".
Функция поиска учитывает акцент. Поиск "á" найдет первое вхождение "á", но никаких вхождения "a", "à" или прописных версий "A", "Á".
Функцию SEARCH можно использовать для определения расположения символа или текстовой строки в другой текстовой строке, а затем использовать функцию MID для возврата текста или использовать функцию REPLACE для изменения текста.
Если find_text не удается найти в within_text, формула возвращает ошибку. Это поведение похоже на Excel, которое возвращает #VALUE, если подстрока не найдена. Значения NULL в within_text будут интерпретированы как пустая строка в этом контексте.
Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Пример
Следующий запрос DAX выполняет поиск позиции первой буквы слова "cycle" в строке, содержащей имя торгового посредника Если позиция не найдена, возвращается пустое значение.
Функция SEARCH не учитывает регистр символов. В этом примере, если в аргументе <find_text > используется "cycle" или "Cycle", возвращаются результаты для обоих регистров. Для поиска с учетом регистра используйте функцию FIND.
Примеры в этой статье можно использовать с примером модели Adventure Works DW 2020 Power BI Desktop. Чтобы получить модель, воспользуйтесь образцом модели 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"}
)
Возвращает
Reseller | Business Type | Position of cycle |
---|---|---|
Volume Bike Sellers | Склад | |
Mass Market Bikes | Продавец, создающий добавочную стоимость товара | |
Twin Cycles | Продавец, создающий добавочную стоимость товара | 6 |
Rich Department Store | Склад | |
Rental Gallery | Специализированный магазин велосипедов | |
Budget Toy Store | Склад | |
Global Sports Outlet | Склад | |
Online Bike Catalog | Склад | |
Helmets and Cycles | Продавец, создающий добавочную стоимость товара | 13 |
Jumbo Bikes | Специализированный магазин велосипедов |
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по