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 rozróżniane bez uwzględniania wielkości liter 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_text lub 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ść, która powinna być zwracana, gdy operacja nie znajduje pasującego podciągu, zazwyczaj 0, -1 lub BLANK(). Jeśli nie zostanie określony, zostanie zwrócony 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" spowoduje znalezienie pierwszego wystąpienia "N" lub "n".
Funkcja wyszukiwania jest wrażliwa na akcent. Wyszukiwanie "á" znajdzie pierwsze wystąpienie "á", ale nie 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źć
find_text
wwithin_text
, formuła zwraca błąd. To zachowanie jest podobne do programu Excel, który zwracaVALUE # jeśli podciąg nie zostanie znaleziony. Wartości null wwithin_text
będą 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, zostanie zwrócona wartość Blank.
SEARCH jest bez uwzględniania wielkości liter. W tym przykładzie, jeśli w argumencie find_text
jest używany ciąg "cycle" lub "Cycle", 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 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 | Specialty Bike Shop | |
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 | Specialty Bike Shop |