Cerca...

Si applica a:Calcolo visivo misuratabella calcolata colonnacalcolata

Restituisce il numero del carattere in corrispondenza del quale viene individuato per la prima volta un carattere o una stringa di testo specifica, leggendo da sinistra a destra. La ricerca non distingue tra maiuscole e minuscole, ma distingue tra caratteri accentati e non accentati.

Sintassi

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

Parametri

Termine Definizione
find_text Testo da cercare.

In find_text è possibile usare caratteri jolly, ad esempio il punto interrogativo (?) e l'asterisco (*). Un punto interrogativo corrisponde a qualsiasi carattere singolo. Un asterisco corrisponde a qualsiasi sequenza di caratteri. Per trovare un punto interrogativo o un asterisco effettivo, digitare una tilde (~) prima del carattere.
within_text Testo in cui cercare find_text o colonna contenente il testo.
start_num (facoltativo) Posizione del carattere in within_text da cui iniziare la ricerca. Se omesso, il valore è 1.
NotFoundValue (facoltativo, ma fortemente consigliato) Valore che deve essere restituito quando l'operazione non trova una substring 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 a partire dal primo carattere della seconda stringa di testo.

Osservazioni:

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

  • La funzione di ricerca distingue tra caratteri accentati e non accentati. La ricerca di "á" troverà la prima occorrenza di "á", ma nessuna occorrenza di "a", "à" o delle versioni maiuscole "A", "Á".

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

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

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

Esempio

La query DAX seguente trova la posizione della prima lettera di "cycle" nella stringa che contiene il nome del rivenditore. Se non viene trovato, viene restituito BLANK.

SEARCH non fa distinzione tra maiuscole e minuscole. In questo esempio, se nell'argomento <find_text> viene usato "cycle" o "Cycle", vengono restituiti risultati per entrambe le combinazioni di caratteri. Usare FIND per la distinzione tra maiuscole e minuscole.

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

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 Value Added Reseller
Twin Cycles Value Added Reseller 6
Rich Department Store Magazzino
Rental Gallery Specialty Bike Shop
Budget Toy Store Magazzino
Global Sports Outlet Magazzino
Online Bike Catalog Magazzino
Helmets and Cycles Value Added Reseller 13
Jumbo Bikes Specialty Bike Shop

FIND
REPLACE
Funzioni di testo