Udostępnij za pośrednictwem


SEARCH

Dotyczy:kolumna obliczeniowatabela obliczeniowaMeasureobliczenia wizualne

Zwraca liczbę znaków, w których znaleziono określony znak or ciągu tekstowego first, odczytując left, aby right. Search jest rozróżniana wielkość liter and akcentu.

Składnia

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

Parametry

Termin Definicja
find_text Tekst, który chcesz find.

Można użyć symboli wieloznacznych — znaku zapytania (?) and gwiazdki (*) — w find_text. Znak zapytania pasuje do dowolnego pojedynczego znaku; gwiazdka pasuje do dowolnej sekwencji znaków. If chcesz find rzeczywistego znaku zapytania or gwiazdką, wpisz tyldę (~) przed znakiem.
within_text Tekst, w którym chcesz search dla find_text, or kolumnę zawierającą tekst.
start_num (opcjonalnie) Położenie znaku w within_text, w którym chcesz rozpocząć wyszukiwanie. If pominięty, 1.
NotFoundValue (opcjonalnie, ale zdecydowanie zalecane) value, które powinny być zwracane, gdy operacja wykonuje notfind pasującego podciągu, zazwyczaj 0, -1, orBLANK(). If not określony jest zwracany error.

Zwracanie value

Liczba pozycji początkowej ciągu tekstowego first z znaku first ciągu tekstowego second.

Uwagi

  • Funkcja search jest niewrażliwa na wielkość liter. Wyszukiwanie ciągu "N" spowoduje find wystąpienie first "N" or 'n'.

  • Funkcja search jest wrażliwa na akcent. Wyszukiwanie ciągu "á" spowoduje find wystąpienie first "á", ale nie wystąpień "a", "à", or wielkich wersji "A", "Á".

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

  • If nie można odnaleźć find_text w within_text, formuła zwraca error. To zachowanie jest podobne do programu Excel, który zwracaVALUEif, że podciąg jest not znaleziony. Wartości null w within_text będą interpretowane jako pusty ciąg w tym kontekście.

  • Ta funkcja jest not obsługiwana do użycia w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych or reguł zabezpieczeń na poziomie wiersza.

Przykład

Następujące zapytanie DAX znajduje pozycję litery first "cycle" w ciągu, który contains nazwę odsprzedawcy. If not znaleziony jest zwracany Blank.

SEARCH jest bez uwzględniania wielkości liter. W tym przykładzie if "cycle" or "Cycle" jest używany w argumencie find_text, wyniki są zwracane dla obu przypadków. Użyj FIND w przypadku rozróżniania wielkości liter.

Przykłady w tym artykule mogą być używane z modelem sample Adventure Works DW 2020 Power BI Desktop. Aby uzyskać model, zobacz DAXsample 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 Value dodany odsprzedawca
Cykle bliźniaczych reprezentacji Value dodany odsprzedawca 6
Bogaty dom towarowy Magazyn
Galeria wynajmu Specialty Bike Shop
Budget Toy Store Magazyn
Globalny punkt sprzedaży sportowej Magazyn
Katalog rowerów online Magazyn
Kaski and Cykle Value dodany odsprzedawca 13
Jumbo Bikes Specialty Bike Shop

funkcje FINDREPLACEText