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
wwithin_text
, formuła zwraca error. To zachowanie jest podobne do programu Excel, który zwracaVALUEif, że podciąg jest not znaleziony. Wartości null wwithin_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 |