Funzioni Remove e RemoveIf
Si applica a: App Canvas App basate su modello Power Platform CLI
Rimuove i record da un'origine dati.
Nota
I comandi PAC CLI pac power-fx non supportano la funzione RemoveIf .
Descrzione
Funzione Remove
Usare la funzione Remove per rimuovere uno o più record specifici da un'origine dati.
Per le raccolte deve corrispondere l'intero record. Puoi usare l'argomento RemoveFlags.All per rimuovere tutte le copie di un record, altrimenti verrà rimossa solo una copia del record.
Funzione RemoveIf
Usare la funzione RemoveIf per rimuovere uno o più record in base a una condizione o un set di condizioni. Ogni condizione può essere qualsiasi formula che restituisce un valore true o false e può fare riferimento a colonne dell'origine dati in base al nome. Ogni condizione viene valutata singolarmente per ogni record e il record viene rimosso se tutte le condizioni restituiscono true.
Remove e RemoveIf restituiscono il origine dati modificato come una tabella. È possibile usare entrambe le funzioni solo in una formula di comportamento.
È anche possibile usare la funzione Clear per rimuovere tutti i record in una raccolta.
Delega
Quando vengono usate con un'origine dati, queste funzioni non possono essere delegate. Solo la prima parte dell'origine dati verrà recuperata e la funzione applicata. Il risultato potrebbe non rappresentare la storia completa. Al momento della creazione potrebbe apparire un avviso per ricordarti questa limitazione.
Supporto delega (sperimentale)
Il supporto della delega per RemoveIf è ora in anteprima sperimentale (disattivato per impostazione predefinita) per le origini dati che lo supportano. Se un'origine dati non supporta questa funzionalità, Power Apps invierà una query al server e recupererà tutti i dati che corrispondono all'espressione del filtro fino a un massimo di 500, 2.000 o le dimensioni della pagina dei dati. Quindi, eseguirà un'operazione di eliminazione su ognuno di quei record con singole chiamate al server.
Sintassi
Rimuovi( Origine dati, Record1 [, Record2, ... ] [, RemoveFlags.All ] )
- DataSource – Obbligatorio. L'origine dati che contiene i record da rimuovere.
- Record – Obbligatorio. I record da rimuovere.
- RemoveFlags.All – Facoltativo. In una raccolta, lo stesso record può essere presente più volte. È possibile aggiungere l'argomento RemoveFlags.All per rimuovere tutte le copie del record.
Rimuovi( Origine dati, Tabella [, RimuoviFlag .Tutti ] )
- DataSource – Obbligatorio. L'origine dati che contiene i record da rimuovere.
- Tabella – Obbligatorio. Tabella di record da rimuovere.
- RemoveFlags.All – Facoltativo. In una raccolta, lo stesso record può essere presente più volte. È possibile aggiungere l'argomento RemoveFlags.All per rimuovere tutte le copie del record.
RemoveIf( OrigineDati, Condizione [, ... ] )
- DataSource – Obbligatorio. L'origine dati che contiene i record da rimuovere.
- Condizioni – Obbligatorio. Formula che restituisce true per i record da rimuovere. È possibile usare i nomi di colonna di DataSource nella formula. Se si specificano più condizioni, devono tutte restituire true per i record da rimuovere.
Esempi: formule singole
In questi esempi verranno rimossi record in un'origine dati denominata IceCream che inizia con i dati della tabella seguente:
Creare una raccolta con record di esempio
Per creare una raccolta con questi dati:
Inserire un controllo Button.
Impostare la proprietà OnSelect del controllo button sulla formula seguente:
ClearCollect( IceCream, { ID: 1, Flavor: "Chocolate", Quantity: 100 }, { ID: 2, Flavor: "Vanilla", Quantity: 200 }, { ID: 3, Flavor: "Strawberry", Quantity: 300 } )
Selezionare il pulsante tenendo premuto il tasto ALT:
Rimuovere i record di esempio dalla raccolta utilizzando una formula
Formula | Description | Result |
---|---|---|
Rimuovi (Gelato, LookUp( IceCream, Flavor="Chocolate" )) |
Rimuove il record Chocolate dall'origine dati. | L'origine dati IceCream è stata modificata. |
Rimuovi (Gelato, LookUp( IceCream, Flavor="Chocolate" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Rimuove due record dall'origine dati. | L'origine dati IceCream è stata modificata. |
RemoveIf(Gelato, Quantità > 150) | Rimuove i record che hanno un valore Quantity maggiore di 150. | L'origine dati IceCream è stata modificata. |
RemoveIf( Gelato, Quantità > 150, Left( Gusto, 1 ) = "S" ) | Rimuove i record che hanno un valore Quantity maggiore di 150 e un valore Flavor che inizia con S. | L'origine dati IceCream è stata modificata. |
RemoveIf(Gelato, vero) | Rimuove tutti i record dall'origine dati. | L'origine dati IceCream è stata modificata. |
Esempi: rimuovere il pulsante all'esterno di una raccolta
In questo esempio, si utilizzerà un controllo Gallery per elencare i record in una tabella. Quindi, usare la funzione Remove per rimuovere un elemento in modo selettivo.
Preparare i dati di esempio
Questo esempio usa la tabella Contatti in Microsoft Dataverse disponibile con app e dati di esempio. È possibile distribuire app e dati di esempio quando si crea un ambiente. In alternativa, è anche possibile usare qualsiasi altra origine dati.
Rimuovere il pulsante all'esterno di una raccolta
In questo esempio, si rimuoverà un elemento usando a pulsante esterno alla raccolta.
Creare un nuova app canvas vuota utilizzando un layout Telefono.
Nel riquadro di spostamento sinistro selezionare Inserisci.
Selezionare Raccolta verticale.
Un controllo Gallery viene aggiunto alla schermata.Viene richiesto di selezionare un origine dati in cui è possibile selezionare un origine dati tra quelle disponibili.
Ad esempio, seleziona la tabella Contatti per usare i dati di esempio:La raccolta mostra gli elementi di questa tabella:
Inserire un controllo Button dal riquadro sinistro:
Spostare il pulsante aggiunto sotto gli elementi della raccolta:
Aggiornare la proprietà Text del pulsante a Rimuovi record. È anche possibile utilizzare testo di propria scelta:
Impostare la proprietà OnSelect per questo controllo button sulla seguente formula.
Remove( Contacts, Gallery1.Selected )
Il controllo gallery rende disponibile il record attualmente selezionato usando la proprietà Selected. La funzione Remove fa riferimento al record selezionato per rimuoverlo.
Visualizzare l'anteprima dell'app usando il pulsante Riproduci in alto a destra o premere F5 sulla tastiera:
Selezionare un record da rimuovere, ad esempio quello di Nancy in questo esempio:
Selezionare Rimuovi record:
La selezione del pulsante rimuove il record selezionato (in questo esempio, il record di Nancy).
Chiudere l'anteprima dell'app.
Mancia
È anche possibile usare un comportamento alternativo con il tasto ALT anziché utilizzare l'anteprima dell'app con il pulsante Riproduci o il tasto F5.
Esempi: icona cestino in una raccolta
In questo esempio, si rimuoverà un elemento usando un'icona posizionata nella raccolta.
Creare una raccolta con dati di esempio
Se i dati di esempio sono già stati preparati, saltare questo passaggio e passare a Icona cestino in una raccolta.
Aggiungere un controllo Button alla schermata.
Impostare la proprietà OnSelect sulla formula seguente:
ClearCollect( SampleContacts, { 'Full Name': "Yvonne McKay (sample)", 'Primary Email': "someone_a@example.com" }, { 'Full Name': "Susanna Stubberod (sample)", 'Primary Email': "someone_b@example.com" }, { 'Full Name': "Nancy Anderson (sample)", 'Primary Email': "someone_c@example.com" }, { 'Full Name': "Maria Campbell (sample)", 'Primary Email': "someone_d@example.com" }, { 'Full Name': "Robert Lyon (sample)", 'Primary Email': "someone_e@example.com" }, { 'Full Name': "Paul Cannon (sample)", 'Primary Email': "someone_f@example.com" }, { 'Full Name': "Rene Valdes (sample)", 'Primary Email': "someone_g@example.com" } )
Selezionare il pulsante tenendo premuto il tasto ALT.
Viene creata una raccolta di esempi che è possibile utilizzare nell'esempio seguente.
Icona cestino in una raccolta
Creare un nuova app canvas vuota utilizzando un layout Telefono.
Nel riquadro di spostamento sinistro selezionare Inserisci.
Selezionare Raccolta verticale.
Un controllo Gallery viene aggiunto alla schermata.Viene richiesto di selezionare un origine dati in cui è possibile selezionare un origine dati tra quelle disponibili.
Ad esempio, seleziona la tabella Contatti per usare i dati di esempio:Se è stata creata una raccolta, selezionare invece la propria raccolta:
Selezionare un controllo nel primo elemento della raccolta.
Per assicurarsi che il passaggio successivo inserisca l'elemento nel modello della raccolta e non all'esterno della raccolta, eseguire questo passaggio prima di passare a quello successivo.
Selezionare Aggiungi icona nel riquadro sinistro.
Nota
Aggiungi icona inserisce un' + icona sul lato sinistro della galleria, replicata per ogni elemento nella galleria.
Nel primo elemento, spostare l'icona sul lato destro dello schermata.
Selezionare la proprietà Icon per l'icona e impostarla sulla seguente formula per aggiornare l'immagine dell'icona come icona cestino:
Icon.Trash
Nota
Il prefisso Icon. viene visualizzato solo quando si modifica attivamente la formula.
Impostare la proprietà OnSelect sulla formula seguente:
Remove( [@Contacts], ThisItem )
Nota
Devi usare l'operatore di disambiguazione globale[@...] in questo esempio con dati di esempio che utilizzano la tabella Contatti per evitare conflitti con una relazione Uno a molti. Se usi origini dati come un elenco o una tabella di SQL Server, non è necessario usare l'operatore di disambiguazione globale.
Visualizzare l'anteprima dell'app usando il pulsante Riproduci in alto a destra o premere F5 sulla tastiera.
Selezionare l'icona cestino accanto a un record, ad esempio quello di Maria:
Il record viene eliminato:
Chiudere l'anteprima dell'app.