Funcțiile AddColumns, DropColumns, RenameColumns și ShowColumns

Se aplică pentru: Aplicații Canvas Fluxuri desktop Aplicații bazate pe model Power Platform CLI

Modelează un tabel prin adăugarea, eliminarea, redenumirea și selectarea coloanelor acestuia.

Funcția **ForAll poate fi folosită și pentru a modela un tabel, prin returnarea unui tabel cu înregistrări noi create din coloanele existente.

Prezentare generală

Aceste funcții modelează un tabel prin ajustarea coloanelor sale:

  • Reduceți un tabel care conține mai multe coloane până la o singură coloană pentru a fi utilizat cu funcții pe o singură coloană, cum ar fi Scăderea sau Sqrt.
  • Adăugați o coloană calculată la un tabel (de exemplu, o coloană Preț total care prezintă rezultatul înmulțirii cantității cu prețul unitar).
  • Redenumiți o coloană cu un nume mai semnificativ pentru utilizatori sau pentru utilizare în formule.

Un tabel este o valoare în Power Apps, la fel ca un șir sau un număr. Puteți specifica un tabel ca argument într-o formulă, iar funcțiile pot returna un tabel ca rezultat.

Notă

Funcțiile pe care le descrie acest subiect nu modifică tabelul original. În schimb, preiau acest tabel ca argument și returnează un tabel nou cu o transformare aplicată. Pentru mai multe informații, consultați lucrul cu tabele.

Nu puteți să modificați coloanele unei surse de date prin utilizarea acestor funcții. Trebuie să modificați datele la sursa lor. Puteți adăuga coloane la o colecție cu funcția Collect. Pentru mai multe informații, consultați lucrarea cu surse de date.

Descriere

Funcția AddColumns adaugă o coloană la un tabel, iar o formulă definește valorile din acea coloană. Coloanele existente rămân nemodificate.

Formula este evaluată pentru fiecare înregistrare a tabelului.

Câmpurile înregistrării procesate în prezent sunt disponibile în cadrul formulei. Utilizați operatorul ThisRecord sau pur și simplu faceți referire la câmpuri după nume, așa cum ați face cu orice altă valoare. Operatorul Ca poate fi, de asemenea, utilizat pentru a denumi înregistrarea care este procesată, ceea ce poate face formula dvs. să fie mai ușor de înțeles și înregistrările imbricate să fie accesibile. Pentru informații suplimentare, consultați exemplele de mai jos și lucrul cu domeniul de aplicare al înregistrărilor.

Funcția DropColumns exclude coloanele dintr-un tabel. Toate celelalte coloane rămân nemodificate. DropColumns exclude coloane, iar ShowColumns include coloane.

Utilizați funcția RenameColumns pentru a redenumi una sau mai multe coloane ale unui tabel furnizând cel puțin o pereche de argumente care specifică numele unei coloane pe care o conține tabelul (numele vechi, pe care doriți să îl înlocuiți) și numele unei coloane care nu se găsește în tabel (noul nume, pe care doriți să-l folosiți). Numele vechi trebuie să existe deja în tabel, iar noul nume nu trebuie să existe. Fiecare nume de coloană poate apărea o singură dată în lista de argumente fie ca nume de coloană vechi, fie ca nume de coloană nou. Pentru a redenumi o coloană cu un nume de coloană existent, eliminați mai întâi coloana existentă cu DropColumns sau redenumiți coloana existentă imbricând o funcție RenameColumns în interiorul alteia.

Funcția ShowColumns include coloane ale unui tabel și elimină toate celelalte coloane. Puteți utiliza ShowColumns pentru a crea un tabel cu o singură coloană dintr-un tabel cu mai multe coloane. ShowColumns include coloane, iar DropColumns exclude coloane.

Pentru toate aceste funcții, rezultatul este un nou tabel cu transformarea aplicată. Tabelul original nu este modificat. Nu puteți modifica un tabel existent cu o formulă. SharePoint, Microsoft Dataverse, SQL Server și alte surse de date oferă instrumente pentru modificarea coloanelor listelor, tabelelor și tabelelor, care sunt adesea denumite schemă. Funcțiile din acest articol transformă doar un tabel de intrare, fără a modifica originalul, într-un tabel de ieșire pentru utilizare ulterioară.

Argumentele pentru aceste funcții susțin delegarea. De exemplu, o funcție Filter utilizată ca un argument pentru a extrage înregistrări conexe parcurge toate listele, chiar dacă sursa de date "[dbo].[AllListings]" conține un milion de rânduri:

AddColumns( RealEstateAgents,
   Listings,
   Filter(  '[dbo].[AllListings]', ListingAgentName = AgentName )
)

Cu toate acestea, rezultatele acestor funcții sunt supuse limitei de înregistrare non-delegată. În acest exemplu, doar 500 de înregistrări sunt returnate chiar dacă sursa de date RealEstateAgents are 501 sau mai multe înregistrări.

Dacă utilizați AddColumns în acest mod, Filter trebuie să efectueze apeluri separate către sursă de date pentru fiecare dintre primele înregistrează în RealEstateAgents, ceea ce provoacă multe discuții în rețea. Dacă [dbo](.[AllListings] este suficient de mic și nu se schimbă des. Puteți apela funcția Collect în OnStart pentru a stoca în cache sursă de date în aplicația dvs. când aceasta pornește. Ca alternativă, ați putea restructura aplicația astfel încât să extrageți înregistrările corelate numai atunci când utilizatorul le solicită.

Notă

În Power Apps înainte de versiunea 3.24042, numele coloanelor erau specificate cu un șir de text folosind ghilimele duble și, dacă erau conectate la un sursă de date, trebuiau să fie și nume logice. De exemplu, numele logic „cr43e_name” cu ghilimele duble a fost folosit în locul numelui afișat Nume fără ghilimele. Pentru sursele de date SharePoint și Excel care conțin nume de coloane cu spații, fiecare spațiu a fost specificat cu „_x0020_”, de exemplu „Column Name” as „Column_x0020_Name”. După această versiune, toate aplicațiile au fost actualizate automat la noua sintaxă descrisă în acest articol.

Sintaxă

AddColumns( Table, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • Table – Obligatoriu. Tabelul de utilizat.
  • ColumnName(s) - Obligatoriu. Numele coloanelor de adăugat.
  • Formulă(le) - Obligatoriu. Formule de evaluat pentru fiecare înregistrare. Rezultatul este adăugat ca valoare a coloanei noi corespunzătoare. Puteți face referire la alte coloane din tabel în această formulă.

DropColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table – Obligatoriu. Tabelul de utilizat.
  • ColumnName(s) - Obligatoriu. Numele coloanelor de aruncat.

RenameColumns( Table, OldColumnName1, NewColumnName1 [, OldColumnName2, NewColumnName2, ... ] )

  • Table – Obligatoriu. Tabelul de utilizat.
  • OldColumnNames - Obligatoriu. Numele coloanelor de redenumit din tabelul original. Acest element apare mai întâi în perechea de argumente (sau mai întâi în fiecare pereche de argumente dacă formula include mai multe perechi).
  • NewColumnNames - Obligatoriu. Nume de înlocuire. Acest element apare ultimul în perechea de argumente (sau ultimul în fiecare pereche de argumente dacă formula include mai multe perechi).

ShowColumns( Table, ColumnName1 [, ColumnName2, ... ] )

  • Table – Obligatoriu. Tabelul de utilizat.
  • ColumnName(s) - Obligatoriu. Numele coloanelor de inclus.

Exemple

Exemplele din această secțiune utilizează sursa de date IceCreamSales, care conține datele din acest tabel:

Exemplu de înghețată.

Niciunul dintre aceste exemple nu modifică sursa de date IceCreamSales. Fiecare funcție transformă valoarea sursei de date ca tabel și returnează valoarea respectivă ca rezultat.

Formula Descriere Rezultat
AddColumns(Vânzări înghețată, Venituri, Preț unitar * CantitateVândută) Adaugă o coloană Revenue la rezultat. Pentru fiecare înregistrare, se calculează valoarea UnitPrice * Quantity Sold, iar rezultatul este plasat în noua coloană. Rezultat pentru căpșuni, ciocolată și vanilie.
DropColumns(Vânzări înghețată, preț unitar) Exclude coloana UnitPrice din rezultat. Utilizați această funcție pentru a exclude coloane și utilizați ShowColumns pentru a le include. Rezultat cu căpșuni, ciocolată, vanilie având doar coloana Cantitate vândută (QuantitySold).
ShowColumns(Vânzări înghețată, aromă) Include numai coloana Flavor în rezultat. Utilizați această funcție pentru a include coloane și utilizați DropColumns pentru a le exclude. Doar coloana Aromă.
Redenumiți coloanele (Vânzări înghețată, preț unitar, preț) Redenumește coloana UnitPrice în rezultat. Rezultat cu aromă, preț și venituri.
Redenumiți coloanele (Vânzări înghețată, preț unitar, preț, cantitate vândută, număr) Redenumește coloanele UnitPrice și QuantitySold în rezultat. Rezultat cu 3 IceCreams și coloane ca aromă, preț, venituri.
DropColumns(
RenameColumns(
AddColumns(Vânzări înghețată, Venituri,
UnitPrice * QuantitySold ),
UnitPrice, Price ),
Cantitate )
Efectuează transformarea tabelului următor în ordine, începând din interiorul formulei:
  1. Adaugă o coloană Venit pe baza calculului pe înregistrare a UnitPrice * Cantity.
  2. Redenumește UnitPrice în Price.
  3. Exclude coloana Quantity.
Comanda este importantă, de exemplu, nu putem calcula cu UnitPrice după ce este redenumită.
Exemplu IceCream pentru prețul unitar.

Pas cu pas

Să încercăm câteva dintre exemplele de mai devreme în acest articol.

  1. Creați o colecție adăugând un control Button și setând proprietatea acestuia OnSelect conform următoarei formule:

    ClearCollect( IceCreamSales,
       Table(
           { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 },
           { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 },
           { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 }
       )
    )
    
  2. Executați formula selectând butonul și menținând apăsată tasta Alt.

  3. Adăugați un al doilea control Button, setați proprietatea OnSelect conform acestei formule, iar apoi executați-o:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. În meniul Fişier, selectați Colecții, apoi selectați IceCreamSales pentru a vizualiza respectiva colecție.

    După cum arată acest grafic, a doua formulă nu a modificat această colecție. Funcția AddColumns a utilizat IceCreamSales ca argument doar în citire; funcția nu a modificat tabelul la care se referă argumentul respectiv.

    Vizualizatorul de colecții care prezintă trei înregistrări ale colecției Vânzări înghețată care nu include o coloană Venituri.

  5. Selectați FirstExample.

    După cum arată acest grafic, a doua formulă a returnat un nou tabel cu coloana adăugată. Funcția ClearCollect a capturat noul tabel în colecția FirstExample, adăugând un element la tabelul original pe măsură ce parcurgea funcția fără a modifica sursa:

    Vizualizatorul de colecții care prezintă trei înregistrări ale colecției Primul exemplu care include o nouă coloană Venituri.

Mapați coloanele dintr-o componentă

Vedeți Mapare coloane.