Condividi tramite


SEARCH

Si applica a:colonna calcolatatabella calcolata calcolo visivomisura

Restituisce il numero del carattere in corrispondenza del quale viene prima trovato un carattere o una stringa di testo specifica, leggendo da sinistra a destra. La ricerca non fa distinzione tra maiuscole e minuscole e distinzione tra caratteri accentati e accentati.

Sintassi

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

Parametri

Termine Definizione
find_text Testo che si desidera trovare.

È possibile usare caratteri jolly, ovvero il punto interrogativo (?) e l'asterisco (*) , in find_text. Un punto interrogativo corrisponde a qualsiasi carattere singolo. Un asterisco corrisponde a qualsiasi sequenza di caratteri. Se si desidera trovare un punto interrogativo o un asterisco effettivo, digitare una tilde (~) prima del carattere.
within_text Testo in cui si desidera cercare find_texto una colonna contenente testo.
start_num (facoltativo) Posizione del carattere in within_text in cui si desidera iniziare la ricerca. Se omesso, 1.
NotFoundValue (facoltativo, ma fortemente consigliato) Valore che deve essere restituito quando l'operazione non trova una sottostringa corrispondente, in genere 0, -1 o BLANK(). Se non specificato, viene restituito un errore.

Valore restituito

Numero della posizione iniziale della prima stringa di testo dal primo carattere della seconda stringa di testo.

Osservazioni:

  • La funzione di ricerca non fa distinzione tra maiuscole e minuscole. La ricerca di "N" troverà la prima occorrenza di 'N' o 'n'.

  • La funzione di ricerca è sensibile all'accento. La ricerca di "á" troverà la prima occorrenza di 'á' ma nessuna occorrenza di 'a', 'à' o le versioni maiuscole 'A', 'Á'.

  • È possibile usare la funzione SEARCH per determinare la posizione di una stringa di testo o di un carattere all'interno di un'altra stringa di testo e quindi utilizzare la funzione MID per restituire il testo oppure usare la funzione REPLACE per modificare il testo.

  • Se non è possibile trovare il find_text in within_text, la formula restituisce un errore. Questo comportamento è simile a Excel, che restituisce #VALUE se la sottostringa non viene trovata. I valori Null in within_text verranno interpretati come stringa vuota in questo contesto.

  • Questa funzione non è supportata per l'uso in modalità DirectQuery quando viene usata nelle colonne calcolate o nelle regole di sicurezza a livello di riga.

Esempio

La query di DAX seguente trova la posizione della prima lettera di "ciclo" nella stringa contenente il nome del rivenditore. Se non viene trovato, viene restituito Blank.

SEARCH non fa distinzione tra maiuscole e minuscole. In questo esempio, se viene usato "cycle" o "Cycle" nell'argomento find_text, i risultati vengono restituiti per entrambi i casi. Usare FIND per la distinzione tra maiuscole e minuscole.

Gli esempi in questo articolo possono essere usati con il modello adventure works DW 2020 di Power BI Desktop di esempio. Per ottenere il modello, vedere DAX modello di esempio.

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"}
)

Restituisce:

Reseller Business Type Posizione di "cycle"
Volume Bike Sellers Magazzino
Mass Market Bikes Valore aggiunto rivenditore
Twin Cycles Valore aggiunto rivenditore 6
Rich Department Store Magazzino
Rental Gallery Specialty Bike Shop
Budget Toy Store Magazzino
Global Sports Outlet Magazzino
Online Bike Catalog Magazzino
Caschi e cicli Valore aggiunto rivenditore 13
Jumbo Bikes Specialty Bike Shop

FIND REPLACE funzioni text