Udostępnij za pośrednictwem


Funkcja SEARCH (język DAX)

Zwraca numer pozycji, na której został po raz pierwszy znaleziony określony znak lub ciąg tekstowy, czytając od lewej do prawej.Funkcja SEARCH rozróżnia wielkość liter.

Składnia

SEARCH(<find_text>, <within_text>, [start_num])

Parametry

Termin

Definicja

znajdowany_tekst

Tekst do znalezienia.

tekst_obejmujący

Tekst, w którym chcesz przeszukać szukany_tekst lub kolumna zawierające tekst.

numer_początkowy

(Argument opcjonalny) Pozycja znaku w tekście określonym przez argument tekst_obejmujący, od której ma się rozpocząć wyszukiwanie.W przypadku pominięcia tego argumentu używana jest wartość 1.

Wartość właściwości/wartość zwracana

Numer pozycji początkowej pierwszego ciągu tekstowego, licząc od pierwszego znaku drugiego ciągu.

Uwagi

Korzystając z tej funkcja, lokalizują ciąg tekstowy wewnątrz innego ciągu tekstowego i zwracają pozycję, gdzie rozpoczyna się pierwszy ciąg.

Można użyć funkcja Szukaj.tekst, aby określić położenie znaku lub ciąg tekstowego wewnątrz innego ciąg tekstowego, a następnie użyj funkcja fragment.tekstu zwraca tekst lub zmienić tekst za pomocą funkcja REPLACE.

Jeśli w tekście nie zostanie znaleziony szukany_tekst, formuła zwraca błąd.To zachowanie przypomina zachowanie programu Excel, który zwraca wartość #ARG, jeśli nie można odnaleźć podciągu.Wartości null w tekście zostanie zinterpretowany jako pusty ciąg znaków, w tym kontekście.

Przykład: Wyszukiwanie ciągu

Opis

Poniższa formuła znajduje pozycję litery „n” w wyrazie „printer”.

Kod

=SEARCH("n","printer")

Komentarze

Formuła zwraca wartość 4, ponieważ „n” jest czwartym znakiem w wyrazie „printer”.

Przykład: Wyszukiwania w kolumnie

Opis

Jako argumentu funkcji SEARCH można również użyć odwołania do kolumny.Poniższa formuła znajduje pozycję znaku „-” (łącznik) w kolumnie [PostalCode].

Kod

=SEARCH("-",[PostalCode])

Komentarze

Zwracany wynik to kolumna liczb wskazujących pozycję indeksu dla łącznika.

Przykład: Obsługa błędów z wyszukiwania

Opis

Działanie formuły z poprzedniego przykładu nie powiedzie się, jeśli szukany ciąg nie zostanie znaleziony w każdym wierszu kolumny źródłowej.Dlatego w następnym przykładzie pokazano sposób użycia funkcji IFERROR z funkcją SEARCH umożliwiający zagwarantowanie zwrócenia prawidłowego wyniku dla każdego wiersza.

Poniższa formuła znajduje pozycję znaku „-” w kolumnie i zwraca wartość -1, jeśli nie można odnaleźć tego ciągu.

Kod

= IFERROR(SEARCH("-",[PostalCode]),-1)

Komentarze

Należy zauważyć, że typ danych wartości używanej jako wynik w przypadku błędu musi być zgodny z typem danych wartości używanej jako prawidłowy wynik.W tym przypadku jako wartość błędu jest używana wartość liczbowa, ponieważ funkcja SEARCH zwraca wartość całkowitą.

Jednak również może zwracać puste (pusty ciąg) za pomocą BLANK() jako drugi argument, funkcja Jeżeli.błąd.