Partajați prin


AddColumns, , DropColumnsRenameColumns, și ShowColumns funcții

Se aplică la: Aplicații pânză Copilot Studio Desktop fluxuri model aplicații bazate pe platforma Power Platform CLI Dataverse

Formele unui tabel sau ale unei înregistrări prin adăugarea, fixarea, redenumirea și selectarea coloanelor sale.

Funcția ForAll poate fi utilizată și pentru a forma un tabel, returnând un tabel cu înregistrări noi create din coloanele existente.

Prezentare generală

Aceste funcții conturează un tabel sau o înregistrare ajustând coloanele:

  • Reduceți un tabel sau o înregistrare care conține mai multe coloane în jos într-o singură coloană pentru utilizare cu funcții cu o singură coloană, cum ar fi Lower sau Sqrt.
  • Adăugați o coloană calculată la un tabel sau o înregistrare (de exemplu, o coloană Preț total care afișează rezultatele înmulțirii Cantitate cu Preț 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 sau o înregistrare și o formulă definește valorile din coloana respectivă. Coloanele existente rămân nemodificate.

Formula este evaluată pentru înregistrarea furnizată sau pentru fiecare înregistrare a tabelului furnizat.

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 sau dintr-o înregistrare. Toate celelalte coloane rămân nemodificate. DropColumns exclude coloanele și ShowColumns include coloane.

Utilizați funcția RenameColumns pentru a redenumi una sau mai multe coloane dintr-un tabel sau o înregistrare, furnizând cel puțin o pereche de argumente care specifică numele unei coloane pe care o conține tabelul sau înregistrarea (numele vechi, pe care doriți să-l înlocuiți) și numele unei coloane pe care tabelul sau înregistrarea nu o conțin (numele nou, pe care doriți să le utilizați). Numele vechi trebuie să existe deja în tabel sau înregistrare, iar noul nume nu trebuie să existe. Fiecare nume de coloană poate apărea o singură dată în lista de argumente ca nume de coloană vechi sau ca nume de coloană nou. Pentru a redenumi o coloană cu un nume de coloană existent, mai întâi fixați coloana existentă cu DropColumnssau redenumiți coloana existentă în afara drumului, imbricând o RenameColumns funcție în alta.

Funcția ShowColumns include coloane dintr-un tabel sau o înregistrare și scade toate celelalte coloane. Puteți utiliza ShowColumns pentru a crea un tabel sau o înregistrare cu o singură coloană dintr-un tabel sau o înregistrare cu mai multe coloane. ShowColumns include coloane și DropColumns exclude coloane.

Pentru toate aceste funcții, rezultatul este un tabel nou sau o înregistrare nouă cu transformarea aplicată. Tabelul original sau înregistrarea nu se modifică. Nu puteți modifica un tabel sau o înregistrare existentă cu o formulă. SharePoint, Microsoft Dataverse, SQL Server și alte surse de date oferă instrumente pentru modificarea coloanelor de liste și tabele, denumite adesea schemă. Funcțiile din acest subiect transformă doar un tabel sau o înregistrare de intrare, fără a modifica originalul, într-un tabel de ieșire sau într-o înregistrare 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 la sursa de date pentru fiecare dintre aceste înregistrări din RealEstateAgents, ceea ce cauzează o mulțime de 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( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2, ... ] )

  • TableOrRecord - Obligatoriu. Tabel sau înregistrare pe care să se opereze.
  • ColumnNames - Obligatoriu. Numele coloanelor de adăugat.
  • Formule - Obligatoriu. Formule de evaluat pentru fiecare înregistrare. Rezultatul este adăugat ca valoare a coloanei noi corespunzătoare. Aveți posibilitatea să faceți referire la alte coloane ale tabelului sau înregistrării din această formulă.

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

  • TableOrRecord - Obligatoriu. Tabel sau înregistrare pe care să se opereze.
  • ColumnNames - Obligatoriu. Numele coloanelor de aruncat.

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

  • TableOrRecord - Obligatoriu. Tabel sau înregistrare pe care să se opereze.
  • OldColumnNames - Obligatoriu. Numele coloanelor de redenumit din tabelul sau înregistrarea 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( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )

  • TableOrRecord - Obligatoriu. Tabel sau înregistrare pe care să se opereze.
  • ColumnNames - 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( IceCreamSales, Venituri, PrețUnitar * CantitateSold ) 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( IceCreamSales, UnitPrice ) Exclude coloana UnitPrice din rezultat. Utilizați această funcție pentru a exclude coloane și ShowColumns a le include. Rezultat cu căpșuni, ciocolată, vanilie având doar coloana Cantitate vândută (QuantitySold).
ShowColumns( IceCreamSales, Aroma ) Include numai coloana Flavor în rezultat. Utilizați această funcție include coloane și se utilizează DropColumns pentru a le exclude. Doar coloana Aromă.
RenameColumns( IceCreamSales, Preț UnitPrice, Preț) Redenumește coloana UnitPrice în rezultat. Rezultat cu aromă, preț și venituri.
RenameColumns( IceCreamSales, Preț Unitar, Preț, CantitateSold, Număr) Redenumește coloanele UnitPrice și QuantitySold în rezultat. Rezultat cu 3 IceCreams și coloane ca aromă, preț, venituri.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, venituri,
PrețUnitar * QuantitySold ),
PrețUnitar, Preț ),
cantitate)
Efectuează transformarea tabelului următor în ordine, începând din interiorul formulei:
  1. Adaugă o coloană Venit pe baza calculului pe înregistrare al UnitPrice * Cantitate.
  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 face referire 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.