Funcions Remove i RemoveIf

S'aplica a: Aplicacions de llenç Aplicacions Power Platform basades en models CLI

Suprimeix els registres d'una font de dades.

Nota

Les ordres PAC CLI pac power-fx no admeten la funció RemoveIf .

Descripció

Funció Remove

Utilitzeu la funció Remove per suprimir un registre o registres concrets d'una font de dades.

Per a les col·leccions, ha de coincidir amb tot el registre. Podeu utilitzar l'argument RemoveFlags.All per eliminar totes les còpies d'un registre; en cas contrari, només s'eliminarà una còpia del registre.

Funció RemoveIf

Utilitzeu la funció RemoveIf per suprimir un registre o registres en funció d'una condició o un conjunt de condicions. Cada condició pot ser qualsevol fórmula que resulti en true o false i pot fer referència a les columnes de la font de dades per nom. Cada condició s'avalua individualment per a cada registre i el registre se suprimeix si totes les condicions s'avaluen com a true.

Remove i RemoveIf tornen la font de dades modificada com a taula. Només podeu utilitzar totes dues funcions en fórmules de comportament.

També podeu utilitzar la funció Clear per suprimir tots els registres d'una col·lecció.

Delegació

Quan s'utilitza amb un font de dades, aquestes funcions no es poden delegar. Només es recuperarà la primera part de la font de dades i, a continuació, s'aplicarà la funció. Pot ser que això no representi la història completa. És possible que aparegui un advertiment en el moment de la creació per recordar-vos aquesta limitació.

Suport a la delegació (Experimental)

El suport de delegació per a RemoveIf ara es troba a Experimental Preview (OFF per defecte) per a les fonts de dades que ho admeten. Si una font de dades no admet aquesta característica, enviarà una consulta al servidor i recuperarà totes les dades que coincideixin amb l'expressió del filtre fins al màxim de 500, Power Apps 2000 o la mida de la pàgina de dades. A continuació, realitzarà una operació de supressió en cadascun d'aquests registres amb trucades individuals al servidor.

Sintaxi

Remove( DataSource,Record1[,Record2 , ... ] [, RemoveFlags.All ] )

  • DataSource: obligatori. La font de dades que conté el registre o els registres que voleu suprimir.
  • Record: obligatori. El registre o els registres que voleu suprimir.
  • RemoveFlags.All - Opcional. En una col·lecció, pot ser que el mateix registre es mostri més d'una vegada. Podeu afegir l'argument RemoveFlags.All per eliminar totes les còpies del registre.

Remove( DataSource,Table[,RemoveFlags.All ] )

  • DataSource: obligatori. La font de dades que conté els registres que voleu suprimir.
  • Taula: obligatori. La taula de registres que voleu suprimir.
  • RemoveFlags.All - Opcional. En una col·lecció, pot ser que el mateix registre es mostri més d'una vegada. Podeu afegir l'argument RemoveFlags.All per eliminar totes les còpies del registre.

RemoveIf(DataSource, Condició, [...])

  • DataSource: obligatori. La font de dades que conté el registre o els registres que voleu suprimir.
  • Condicions: obligatori. Fórmula que s'avalua com a true per al registre o registres que se suprimiran. Podeu utilitzar els noms de columna de DataSource de la fórmula. Si especifiqueu diverses Condicions, s'han d'avaluar totes com a true per al registre o registres que se suprimiran.

Exemples: fórmules úniques

En aquests exemples, suprimireu un registre o registres d'una font de dades anomenada Gelat i que s'inicia amb les dades d'aquesta taula:

Exemple de gelats

Crear una col·lecció amb registres d'exemple

Per crear una col·lecció amb aquestes dades:

  1. Inseriu un control Botó.

  2. Definiu la propietat OnSelect del control a la fórmula següent:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Seleccioneu el botó mentre manteniu premuda la tecla Alt:

Suprimir els registres d'exemple de la col·lecció mitjançant una fórmula

Fórmula Descripció Resultat
Remove( Gelat,
LookUp( Gelat, sabor = "xocolata" ))
Suprimeix el registre Xocolata de la font de dades. Resultat amb Vainilla i Maduixa.

S'ha modificat la font de dades Gelat.
Remove( Gelat,
LookUp(gelat, sabor = "xocolata" ), LookUp ( gelat, sabor = "maduixa" ) )
Suprimeix dos registres de la font de dades. Resultat amb només Vainilla.

S'ha modificat la font de dades Gelat.
RemoveIf( Gelat, Quantitat > 150 ) Suprimeix els registres que tenen una Quantitat superior a 150. Resultat amb només Xocolata.

S'ha modificat la font de dades Gelat.
RemoveIf( Gelat, Quantitat > 150, Left( Gust, 1 ) = "S" ) Suprimeix els registres que tenen una Quantitat superior a 150 i el Gust comença per S. Resultat amb Xocolata i Vainilla.


S'ha modificat la font de dades Gelat.
RemoveIf( Gelat, true ) Suprimeix tots els registres de la font de dades. Resultat sense gelat.

S'ha modificat la font de dades Gelat.

En aquest exemple, utilitzareu un control Galeria per enumerar els registres d'una taula. I, a continuació, utilitzareu la funció Remove per suprimir selectivament un element.

Preparació per a les dades d'exemple

Aquest exemple utilitza la taula Contactes del Microsoft Dataverse disponible amb les aplicacions i dades d'exemple. Podeu implementar aplicacions i dades d'exemple quan creeu un entorn. En lloc d'això, també podeu utilitzar qualsevol altra font de dades.

En aquest exemple, suprimireu un element mitjançant un botó que es troba fora de la galeria.

  1. Creeu una aplicació de llenç en blanc nova mitjançant una disposició de telèfon.

    Una aplicació de llenç en blanc mitjançant una disposició de telèfon

  2. Seleccioneu Insereix a la subfinestra esquerra.

  3. Seleccioneu Galeria vertical.
    S'afegirà un control Galeria a la pantalla.

    Utilitzar la subfinestra de l'eina Insereix per afegir un control de galeria vertical.

  4. Se us demanarà que seleccioneu una font de dades on podeu seleccionar una font de dades entre les disponibles.
    Per exemple, seleccioneu la taula Contactes per utilitzar dades d'exemple:

    Seleccionar la taula de contactes que es visualitzarà a la galeria.

    A la galeria es mostren elements d'aquesta taula:

    Galeria afegida que mostra la taula de contactes

  5. Inseriu un control Botó a la subfinestra esquerra:

    Utilitzar la subfinestra de l'eina Insereix per afegir un control de botó.

  6. Desplaceu el botó afegit a sota dels elements de la galeria:

    Botó Mou

  7. Actualitzeu la propietat de text del botó a Suprimeix el registre. També podeu utilitzar el text que vulgueu:

    Botó Canvia el nom

  8. Definiu la propietat OnSelect del control de botó en aquesta fórmula:

    Remove( Contacts, Gallery1.Selected )
    

    Configurar la propietat OnSelect del control de botó

    El control de galeria fa que el registre seleccionat actualment estigui disponible amb la propietat Selected. La funció Remove es refereix a aquest registre seleccionat per suprimir-lo.

  9. Feu una visualització prèvia de l'aplicació mitjançant el botó Reprodueix a la part superior dreta o premeu F5 al teclat:

    Visualització prèvia de l'aplicació

  10. Seleccioneu el registre que voleu suprimir, com ara el registre Nancy d'aquest exemple:

    Seleccioneu un registre.

  11. Seleccioneu Suprimeix el registre:

    Galeria de contactes, ara sense el registre Nancy que s'ha suprimit.

    En seleccionar el botó, se suprimeix el registre seleccionat (en aquest exemple, el registre Nancy).

  12. Tanqueu la visualització prèvia de l'aplicació.

    Propina

    També podeu utilitzar el comportament alternatiu amb la tecla Alt en comptes d'utilitzar la visualització prèvia de l'aplicació amb el botó Reprodueix o F5.

En aquest exemple, suprimireu un element mitjançant una icona situada a la galeria.

Crear una col·lecció amb dades d'exemple

Si ja teniu dades d'exemple preparades, ometeu aquest pas i desplaceu-vos a Icona de la paperera dins d'una galeria.

  1. Afegiu un control Botó a la pantalla.

  2. Definiu la propietat OnSelect a la fórmula següent:

    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" }
    )
    
  3. Seleccioneu el botó mentre manteniu premuda la tecla Alt.

Es crea una col·lecció d'exemple que podeu utilitzar a l'exemple següent.

  1. Creeu una aplicació de llenç en blanc nova mitjançant una disposició de telèfon.

    Una aplicació de llenç en blanc mitjançant una disposició de telèfon

  2. Seleccioneu Insereix a la subfinestra esquerra.

  3. Seleccioneu Galeria vertical.
    S'afegirà un control Galeria a la pantalla.

    Utilitzar la subfinestra de l'eina Insereix per afegir un control de galeria vertical.

  4. Se us demanarà que seleccioneu una font de dades on podeu seleccionar una font de dades entre les disponibles.
    Per exemple, seleccioneu la taula Contactes per utilitzar dades d'exemple:

    Seleccionar la taula de contactes que es visualitzarà a la galeria.

    Si heu creat una col·lecció, seleccioneu la col·lecció:

    Col·lecció de contactes d'exemple

  5. Seleccioneu un control a l'element superior de la galeria.

    Per garantir que al pas següent s'insereix l'element a la plantilla de la galeria i no fora de la galeria, assegureu-vos que seguiu aquest pas abans de passar al pas següent.

    Seleccionar el registre superior d'una galeria.

  6. Seleccioneu Afegeix una icona a la subfinestra esquerra.

    Utilitzar la subfinestra de l'eina Insereix per afegir un control d'icona.

    Nota

    Afegeix una icona insereix una icona + a la part esquerra de la galeria, replicada per a cada element de la galeria.

  7. A l'element superior, desplaceu la icona a la part dreta de la pantalla.

    Icona Mou

  8. Seleccioneu la propietat Icon per a icona i configureu-la a la fórmula següent per actualitzar la imatge de la icona com a icona de la paperera:

    Icon.Trash
    

    Nota

    El perfixo Icon. només es mostra quan editeu activament la fórmula.

    Canviar la icona de la paperera.

  9. Definiu la propietat OnSelect a la fórmula següent:

    Remove( [@Contacts], ThisItem )
    

    Nota

    En aquest exemple, heu d'utilitzar l'operador de desambiguació global[@...] d'aquest exemple amb dades d'exemple que utilitzin la taula Contactes per evitar conflictes amb una relació d'un a diversos. Si utilitzeu altres fonts de dades, com ara una llista o una taula de l'SQL Server, no cal utilitzar l'operador de desambiguació global.

    OnSelect per a la icona de la paperera

  10. Feu una visualització prèvia de l'aplicació mitjançant el botó Reprodueix a la part superior dreta o premeu F5 al teclat.

  11. Seleccioneu la icona de la paperera que hi ha al costat d'un registre, per exemple Maria:

    Galeria amb un dels contactes suprimits

    El registre s'ha suprimit:

    Registre suprimit

  12. Tanqueu la visualització prèvia de l'aplicació.