SEARCH

Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji

Zwraca liczbę znaków, w których najpierw można odnaleźć określony znak lub ciąg tekstowy, odczytując od lewej do prawej. Wyszukiwanie jest niewrażliwe na wielkość liter, bez uwzględniania wartości kanatype, bez uwzględniania szerokości i akcentu.

Składnia

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

Parametry

Termin Definicja
find_text Tekst, który chcesz znaleźć.

Można użyć symboli wieloznacznych — znaku zapytania (?) i gwiazdki (*) — w find_text. Znak zapytania pasuje do dowolnego pojedynczego znaku; gwiazdka pasuje do dowolnej sekwencji znaków. Jeśli chcesz znaleźć rzeczywisty znak zapytania lub gwiazdkę, wpisz tyldę (~) przed znakiem.
within_text Tekst, w którym chcesz wyszukać find_textlub kolumnę zawierającą tekst.
start_num (opcjonalnie) Położenie znaku w within_text, w którym chcesz rozpocząć wyszukiwanie. Jeśli pominięto, 1.
NotFoundValue (opcjonalnie, ale zdecydowanie zalecane) Wartość zwracana, gdy operacja nie znajduje pasującego podciągu, zazwyczaj 0, -1 lub BLANK(). Jeśli nie określisz go, funkcja zwróci błąd.

Wartość zwracana

Liczba pozycji początkowej pierwszego ciągu tekstowego z pierwszego znaku drugiego ciągu tekstowego.

Uwagi

  • Funkcja wyszukiwania jest niewrażliwa na wielkość liter. Wyszukiwanie ciągu "N" znajduje pierwsze wystąpienie ciągu "N" lub "n".

  • Funkcja wyszukiwania jest niewrażliwa na typy kanatypów, bez uwzględniania szerokości. Wyszukiwanie ciągu "か" znajduje pierwsze wystąpienie 「か」 (hiragana), 「カ」 (katakana) lub 「カ」 (pół szerokości katakana).

  • Funkcja wyszukiwania jest wrażliwa na akcent. Wyszukiwanie ciągu "á" znajduje pierwsze wystąpienie "á", ale nie ma wystąpień "a", "à" lub skapitalizowanych wersji "A", "Á".

  • Za pomocą funkcji SEARCH można określić lokalizację znaku lub ciągu tekstowego w innym ciągu tekstowym, a następnie użyć funkcji MID, aby zwrócić tekst, lub użyć funkcji REPLACE, aby zmienić tekst.

  • Jeśli nie można odnaleźć elementu find_text w pliku within_text, formuła zwraca błąd. To zachowanie jest podobne do Excel, co zwraca wartość #VALUE, jeśli podciąg nie zostanie znaleziony. Wartości null w pliku within_text są interpretowane jako pusty ciąg w tym kontekście.

  • Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.

Przykład

Poniższe zapytanie DAX znajduje pozycję pierwszej litery "cycle" w ciągu zawierającym nazwę odsprzedawcy. Jeśli nie zostanie znaleziona, SEARCH zwraca wartość Pusta.

SEARCH jest bez uwzględniania wielkości liter. W tym przykładzie, jeśli używasz ciągu "cycle" lub "Cycle" w argumencie find_text , zapytanie zwraca wyniki dla obu przypadków. Użyj FIND w przypadku rozróżniania wielkości liter.

Przykłady w tym artykule mogą być używane z przykładowym modelem Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz DAX przykładowy 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" }
)

Zwraca

Reseller (Odsprzedawca) Business Type (Typ biznesowy) Położenie cyklu
Sprzedawcy rowerów zbiorczych Magazyn
Rowery masowego rynku Odsprzedawca z wartością dodaną
Cykle bliźniaczych reprezentacji Odsprzedawca z wartością dodaną 6
Bogaty dom towarowy Magazyn
Galeria wynajmu Sklep z rowerami specjalnymi
Budget Toy Store Magazyn
Globalny punkt sprzedaży sportowej Magazyn
Katalog rowerów online Magazyn
Kaski i cykle Odsprzedawca z wartością dodaną 13
Jumbo Bikes Sklep z rowerami specjalnymi