Funzioni Blank, Coalesce, IsBlank e IsEmpty

Si applica a: app canvas flussi desktop colonne di formula Dataverse app basate su modello Power Platform CLI

Verificano se un valore è blank oppure se una tabella non contiene alcun record e consentono di creare valori blank.

Panoramica

Blank è un segnaposto per "nessun valore" o "valore sconosciuto". Ad esempio, una proprietà Selected del controllo Combo box è blank se l'utente non ha effettuato una selezione. Molte origini dati possono archiviare e restituire valori NULL, che sono rappresentati in Power Apps come blank.

Ogni proprietà o valore calcolato in Power Apps può essere blank. Ad esempio, un valore booleano in genere ha uno dei due valori true o false. Ma oltre a questi due, può anche essere blank a indicare che lo stato non è noto. Ciò è simile a Microsoft Excel, dove una cella di un foglio di lavoro parte da uno stato blank senza contenuti, ma può contenere i valori TRUE o FALSE, tra gli altri. In qualsiasi momento, è possibile rimuovere di nuovo il contenuto della cella, riportandola a uno stato blank.

Stringa vuota si riferisce a una stringa che non contiene caratteri. La funzione funzione Len restituisce zero per tale stringa e può essere scritta in formule come due virgolette doppie senza nulla tra "". Alcuni controlli e origini dati utilizzano una stringa vuota per indicare una condizione "nessun valore". Per semplificare la creazione di app, le funzioni IsBlank and Coalesce verificano la presenza di valori blank o stringhe vuote.

Nel contesto della funzione IsEmpty, empty è specifico a tabelle che non contengono record. La struttura della tabella potrebbe essere intatta, completa di nomi di colonna, ma non contenere dati. Una tabella può iniziare vuota, accettare record e non essere più vuota, ma se i record vengono rimossi, la tabella sarà di nuovo vuota.

Nota

Siamo in un periodo di transizione. Fino ad ora, blank è stato utilizzato anche per segnalare errori, rendendo impossibile la differenziazione di una condizione "nessun valore" valida da un errore. Per questo motivo, in questa fase, l'archiviazione di valori blank è supportata solo per le raccolte locali. Puoi archiviare valori vuoti in altre origini dati se si attiva la funzione sperimentale Gestione degli errori a livello di formula in Impostazioni>Funzionalità in arrivo>Sperimentale. Stiamo lavorando attivamente per completare questa funzionalità e completare la corretta separazione dei valori blank dagli errori.

Vuoto

Si applica a: App canvas App basate su modello Colonne delle formule Dataverse

La funzione Blank restituisce un valore blank. Usarla per archiviare un valore NULL in un'origine dati che supporta questi valori, rimuovendo effettivamente qualsiasi valore dal campo.

IsBlank

Si applica a: App canvas App basate su modello

La funzione IsBlank verifica la presenza di un valore blank o di una stringa vuota. Il test include stringhe vuote per facilitare la creazione di app poiché alcune origini dati e controlli utilizzano una stringa vuota quando non è presente alcun valore. Per verificare specificamente un valore blank utilizzare if( Value = Blank(), ... anziché IsBlank. La funzione IsBlank considera le tabelle vuote come non vuote e IsEmpty deve essere utilizzata per testare una tabella.

Quando si abilita la gestione degli errori per le app esistenti, considera la sostituzione di IsBlank con IsBlankOrError per preservare il comportamento dell'app esistente. Prima dell'aggiunta della gestione degli errori, un valore vuoto è stato utilizzato per rappresentare sia i valori null dai database che i valori di errore. La gestione degli errori separa queste due interpretazioni di vuoto che potrebbe modificare il comportamento delle app esistenti che continuano a utilizzare IsBlank.

Il valore restituito per IsBlank è un booleano true o false.

Coalesce

Si applica a: App canvas App basate su modello

La funzione Coalesce valuta i rispettivi argomenti nell'ordine specificato e restituisce il primo valore non blank o una stringa vuota. Usare questa funzione per sostituire un valore blank o una stringa vuota con un valore diverso, senza modificare i valori non blank e le stringhe non vuote. Se tutti gli argomenti sono vuoti o stringhe vuote, la funzione restituisce vuoto, rendendo Coalesce un buon modo per convertire stringhe vuote in valori vuoti.

Coalesce( value1, value2 ) è l'equivalente più conciso di If( Not IsBlank( value1 ), value1, Not IsBlank( value2 ), value2 ) e non richiede la doppia valutazione di value1 e value2. La funzione If restituisce blank se non esiste una formula "else" come è il caso qui.

Tutti gli argomenti di Coalesce devono essere dello stesso tipo. Non è ad esempio possibile combinare numeri con stringhe di testo. Il valore restituito da Coalesce è di questo tipo comune.

IsEmpty

Si applica a: App canvas App basate su modello

La funzione IsEmpty verifica se una tabella contiene record. È equivalente all'uso della funzione CountRows e del controllo dei valori zero. È possibile trovare eventuali errori dell'origine dati combinando IsEmpty con la funzione Errors.

Il valore restituito per IsEmpty è un booleano true o false.

Sintassi

Blank()

Coalesce( Value1 [, Value2, ... ] )

  • Value(s): obbligatorio. Valori da testare. Ogni valore viene valutato nell'ordine fino a quando non viene trovato un valore che non è blank e una stringa che non è vuota. I valori dopo questo punto non vengono valutati.

IsBlank( Value )

  • Value: obbligatorio. Valore in cui verificare la presenza di un valore blank o una stringa vuota.

IsEmpty( Table )

  • Table: obbligatorio. Tabella in cui verificare la presenza di record.

Esempi

Vuoto

Nota

Al momento, l'esempio seguente funziona solo per le raccolte locali. Puoi archiviare valori vuoti in altre origini dati se si attiva la funzione sperimentale Gestione degli errori a livello di formula in Impostazioni>Funzionalità in arrivo>Sperimentale. Stiamo lavorando attivamente per completare questa funzionalità e completare la separazione dei valori blank dagli errori.

  1. Creare un'applicazione da zero e aggiungere un controllo Button.

  2. Impostare la proprietà OnSelect del pulsante su questa formula:

    ClearCollect( Cities, { Name: "Seattle", Weather: "Rainy" } )
    
  3. Visualizzare un'anteprima dell'app, scegliere o toccare il pulsante che è stato aggiunto e quindi chiudere l'anteprima.

  4. Nel menu File scegliere o toccare Raccolte.

    Viene visualizzata la raccolta Cities, che mostra un solo record con "Seattle" e "Rainy" (Piovoso):

    Raccolta che mostra Seattle con tempo piovoso.

  5. Scegliere o toccare la freccia Indietro per tornare all'area di lavoro predefinita.

  6. Aggiungi un controllo Label e impostane la proprietà Text sulla formula seguente:

    IsBlank( First( Cities ).Weather )
    

    L'etichetta mostra false perché il campo Weather contiene un valore ("Rainy").

  7. Aggiungere un secondo pulsante e impostare la relativa proprietà OnSelect su questa formula:

    Patch( Cities, First( Cities ), { Weather: Blank() } )
    
  8. Visualizzare un'anteprima dell'app, scegliere o toccare il pulsante che è stato aggiunto e quindi chiudere l'anteprima.

    Il campo Weather del primo record in Cities viene sostituito con un valore blank, rimuovendo il precedente valore "Rainy".

    Raccolta che mostra Seattle con campo Weather vuoto.

    L'etichetta mostra true perché il campo Weather non contiene più un valore.

Coalesce

Formula Descrizione Risultato
Coalesce( Blank(), 1 ) Verifica il valore restituito dalla funzione Blank, che restituisce sempre un valore blank. Poiché il primo argomento è blank, la valutazione continua con l'argomento successivo, fino a quando non viene trovato un valore non blank e una stringa non vuota. 1
Coalesce( "", "2" ) Verifica il primo argomento che è una stringa vuota. Poiché il primo argomento è una stringa vuota, la valutazione continua con l'argomento successivo, fino a quando non viene trovato un valore non blank e una stringa non vuota. 2
Coalesce( Blank(), "", Blank(), "", "3", "4" ) Coalesce parte dall'inizio dell'elenco di argomenti e valuta ogni argomento successivamente fino a quando non viene trovato un valore non blank e una stringa non vuota. In questo caso i primi quattro argomenti restituiscono tutti blank o una stringa non vuota, quindi la valutazione continua fino al quinto argomento. Il quinto argomento è di tipo non blank e una stringa non vuota, quindi la valutazione si interrompe. Viene restituito il valore del quinto argomento e il sesto argomento non viene valutato. 3
Coalesce( "" ) Verifica il primo argomento che è una stringa vuota. Poiché il primo argomento è una stringa vuota e non ci sono altri argomenti, la funzione restituisce blank. blank

IsBlank

  1. Creare un'app da zero, aggiungere un controllo input di testo e denominarlo FirstName.

  2. Aggiungi un'etichetta e impostane la proprietà Text sulla formula seguente:

    If( IsBlank( FirstName.Text ), "First Name is a required field." )
    

    Per impostazione predefinita, la proprietà Text di un controllo text-input è impostata su "Input di testo". Dato che la proprietà contiene un valore, non è blank e l'etichetta non visualizza alcun messaggio.

  3. Rimuovere tutti i caratteri dal controllo text-input, inclusi gli spazi.

    Dato che non contiene più caratteri, la proprietà Text è una stringa vuota e IsBlank( FirstName.Text ) è true. Viene visualizzato il messaggio del campo obbligatorio.

Per informazioni su come eseguire la convalida usando altri strumenti, vedere la funzione Validate e come usare le origini dati.

Altri esempi:

Formula Descrizione Risultato
IsBlank( Blank() ) Verifica il valore restituito dalla funzione Blank, che restituisce sempre un valore blank. true
IsBlank( "" ) Una stringa che non contiene caratteri. true
IsBlank( "Hello" ) Una stringa che contiene uno o più caratteri. false
IsBlank( AnyCollection ) Poiché la raccolta esiste, non è blank, anche se non contiene alcun record. Per verificare la presenza di una raccolta vuota, usare invece IsEmpty. false
IsBlank( Mid( "Hello", 17, 2 ) ) Il carattere iniziale per Mid si trova oltre la fine della stringa. Il risultato è una stringa vuota. true
IsBlank( If( false, false ) ) Una funzione If senza ElseResult. Poiché la condizione è sempre false, la funzione If restituisce sempre blank. true

IsEmpty

  1. Creare un'applicazione da zero e aggiungere un controllo Button.

  2. Impostare la proprietà OnSelect del pulsante su questa formula:

    Collect( IceCream, { Flavor: "Strawberry", Quantity: 300 }, { Flavor: "Chocolate", Quantity: 100 } )

  3. Visualizzare un'anteprima dell'app, scegliere o toccare il pulsante che è stato aggiunto e quindi chiudere l'anteprima.

    Viene creata una raccolta denominata IceCream contenente i seguenti dati:

    Una tabella con gusti Fragola e Cioccolato e quantità 300 e 100.

    Questa raccolta ha due record e non è vuota. IsEmpty( IceCream ) restituisce false e CountRows( IceCream ) restituisce 2.

  4. Aggiungi un secondo pulsante e impostare la relativa proprietà OnSelect su questa formula:

    Clear( IceCream )

  5. Visualizzare un'anteprima dell'app, scegliere o toccare il secondo pulsante e quindi chiudere l'anteprima.

    La raccolta è ora vuota:

    Una raccolta con Gusto e Quantità come raccolta vuota.

    La funzione Clear rimuove tutti i record da una raccolta e restituisce una raccolta vuota. IsEmpty( IceCream ) restituisce true e CountRows( IceCream ) restituisce 0.

È anche possibile usare la funzione IsEmpty per verificare se una tabella calcolata è vuota, come illustrato negli esempi seguenti:

Formula Descrizione Risultato
IsEmpty( [ 1, 2, 3 ] ) La tabella a colonna singola contiene tre record, quindi non è vuota. false
IsEmpty( [ ] ) La tabella a colonna singola non contiene alcun record, quindi è vuota. vero
IsEmpty( Filter( [ 1, 2, 3 ], Value > 5 ) ) La tabella a colonna singola non contiene valori maggiori di 5. Il risultato del filtro non contiene alcun record, quindi è vuoto. true