Funkcie AddColumns, DropColumns, RenameColumns a ShowColumns

Vzťahuje sa na: aplikácie plátna toky na počítači aplikácie riadené modelom Power Platform CLI

Tieto funkcie tvarujú tabuľku pridaním, vylúčením, premenovaním alebo zahrnutím jej stĺpcov.

Funkciu **ForAll možno použiť aj na tvarovanie tabuľky, a to tak, že vráti tabuľku nových záznamov vytvorenú z existujúcich stĺpcov.

Prehľad

Tieto funkcie tvarujú tabuľku upravovaním jej stĺpcov:

  • Zredukujte tabuľku, ktorá obsahuje viacero stĺpcov, na jeden stĺpec na použitie s funkciami s jedným stĺpcom, ako napríklad Dolné alebo Sqrt.
  • Pridanie vypočítaného stĺpca do tabuľky (napríklad stĺpca Celková cena, ktorý ukazuje výsledky násobenia stĺpcov Množstvo a Jednotková cena).
  • Premenovanie stĺpca na niečo zmysluplnejšie, ak sa má zobraziť používateľom alebo použiť vo vzorcoch.

Tabuľke je v hodnote Power Apps, rovnako ako napríklad reťazec alebo číslo. Tabuľku môžete zadať ako argument vo vzorci a funkcie môžu ako výsledok vrátiť tabuľku.

Poznámka

Funkcie, ktoré táto téma popisuje, neupravujú pôvodnú tabuľku. Namiesto toho používajú tabuľku ako argument a vracajú novú tabuľku s použitou transformáciou. Ďalšie informácie nájdete v časti práca s tabuľkami.

Pomocou týchto funkcií nie je možné upravovať stĺpce zdroja údajov. Musíte upraviť údaje v ich zdroji. Môžete pridať stĺpce do kolekcie pomocou funkcie Collect. Ďalšie informácie nájdete v časti práca so zdrojmi údajov.

Description

Funkcia AddColumns pridá stĺpec do tabuľky a vzorec zadefinuje hodnoty v tomto stĺpci. Existujúce stĺpce zostanú nezmenené.

Vzorec sa vyhodnotí pre každý záznam tabuľky.

Polia záznamu, ktorý sa momentálne spracúva, sú k dispozícii v rámci vzorca. Použite operátor ThisRecord alebo jednoducho odkážte na polia podľa názvu, ako by ste urobili s ľubovoľnou inou hodnotou. Operátor As sa dá použiť aj na pomenovanie záznamu, ktorý sa práve spracúva, vďaka čomu môžete vytvoriť ľahšie pochopiteľný vzorec a sprístupniť vnorené záznamy. Ďalšie informácie nájdete v príkladoch nižšie a v téme, ako pracovať s rozsahom záznamu.

Funkcia DropColumns vylúči stĺpce z tabuľky. Všetky ostatné stĺpce zostanú nezmenené. Funkcia DropColumns vylúči stĺpce a funkcia ShowColumns zahrnie stĺpce.

Ak chcete v tabuľke premenovať jeden alebo viac stĺpcov, použite funkciu RenameColumns. Zadajte aspoň jeden pár argumentov udávajúci názov stĺpca, ktorý tabuľka obsahuje (starý názov, ktorý chcete zmeniť), a názov stĺpca, ktorý tabuľka neobsahuje (nový názov, ktorý chcete použiť). Starý názov musí v tabuľke existovať a nový naopak nesmie. Každý názov stĺpca sa môže v zozname argumentov objaviť iba raz ako starý názov stĺpca alebo nový názov stĺpca. Ak chcete stĺpec pomenovať názvom už existujúceho stĺpca, najprv existujúci stĺpec vylúčte pomocou funkcie DropColumns alebo ho premenujte vnorením jednej funkcie RenameColumns do druhej.

Funkcia ShowColumns zahrnie stĺpce tabuľky a vylúči všetky ostatné stĺpce. Funkciu ShowColumns môžete použiť na to, aby ste vytvorili jednostĺpcovú tabuľku z tabuľky s viacerými stĺpcami. Funkcia ShowColumns zahrnie stĺpce a funkcia DropColumns vylúči stĺpce.

Výsledkom všetkých týchto funkcií je tabuľka s použitou transformáciou. Pôvodná tabuľka sa neupraví. Existujúcu tabuľku nemôžete upraviť pomocou vzorca. SharePoint, Microsoft Dataverse, SQL Server a ďalšie zdroje údajov poskytujú nástroje na úpravu stĺpcov zoznamov, tabuliek a tabuliek, ktoré sa často označujú ako schéma. Funkcie v tomto článku len transformujú vstupnú tabuľku bez úpravy originálu na výstupnú tabuľku na ďalšie použitie.

Argumenty týkajúce sa týchto funkcií podporujú delegovanie. Napríklad funkcia Filter, ktorá sa používa ako argument na získanie prehľadov súvisiacich záznamov vo všetkých zoznamoch, aj keď zdroj údajov '[dbo].[AllListings]' obsahuje milión riadkov:

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

Výstup týchto funkcií však podlieha limitu záznamu bez delegovania. V tomto príklade sa vráti iba 500 záznamov, aj keď zdroj údajov RealEstateAgents obsahuje 501 alebo viac záznamov.

Ak použijete AddColumns týmto spôsobom, Filter musí uskutočniť samostatné volania zdroj údajov pre každý z týchto prvých záznamy v RealEstateAgents, čo spôsobuje veľa sieťových chýrov. Ak [dbo](.[AllListings] je dostatočne malý a často sa nemení. Funkciu Collect môžete zavolať v OnStart , aby ste po spustení aplikácie uložili do vyrovnávacej pamäte zdroj údajov. Alternatívne by ste svoju aplikáciu mohli reštrukturalizovať, aby ste mohli príslušné záznamy preniesť iba vtedy, keď ich o to používateľ požiada.

Poznámka

V Power Apps pred verziou 3.24042 boli názvy stĺpcov špecifikované pomocou textového reťazca pomocou dvojitých úvodzoviek a ak boli pripojené k zdroj údajov, museli to byť aj logické názvy. Napríklad namiesto zobrazovaného mena Názov bez úvodzoviek bol použitý logický názov "cr43e_name" s dvojitými úvodzovkami. Pre zdroje údajov SharePoint a Excel, ktoré obsahujú názvy stĺpcov s medzerami, bola každá medzera špecifikovaná pomocou "_x0020_", napríklad "Názov stĺpca" ako "Názov_x0020_stĺpca". Po tejto verzii boli všetky aplikácie automaticky aktualizované na novú syntax opísanú v tomto článku.

Syntax

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

  • Table – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
  • ColumnName1, ColumnName2, … – povinné. Názvy stĺpcov, ktoré sa majú pridať.
  • + Formula(s) – povinné. Vzorce na vyhodnotenie pre každý záznam. Výsledok sa pridá ako hodnota príslušného nového stĺpca. V tomto vzorci môžete odkazovať na iné stĺpce tabuľky.

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

  • Table – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
  • ColumnName1, ColumnName2, … – povinné. Názvy stĺpcov, ktoré sa majú vypustiť.

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

  • Table – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
  • OldColumnNames – povinné. Názvy stĺpcov, ktoré sa majú premenovať z pôvodnej tabuľky. Tento prvok sa v páre argumentov uvádza ako prvý (ak vzorec obsahuje viac než jeden pár argumentov, uvádza sa ako prvý v každom páre).
  • NewColumnNames – povinné. Náhradné mená. Tento prvok sa v páre argumentov uvádza ako posledný (ak vzorec obsahuje viac než jeden pár argumentov, uvádza sa ako posledný v každom páre).

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

  • Table – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
  • ColumnName1, ColumnName2, … – povinné. Názvy stĺpcov, ktoré sa majú zahrnúť.

Príklady

V nasledujúcich príkladoch použijeme zdroj údajov IceCreamSales, ktorý obsahuje údaje v tejto tabuľke:

Príklad Zmrzlina.

Ani jeden z týchto príkladov neupraví zdroj údajov IceCreamSales. Každá funkcia transformuje hodnotu zdroja údajov ako tabuľku a vráti túto hodnotu ako výsledok.

Vzorec Description Result
AddColumns (Predaj zmrzliny, Výnosy, Jednotková cena * Predané množstvo) Pridá do výsledku stĺpec Výnos. Pre každý záznam sa vyhodnotí súčin jednotkovej ceny a predaného množstva (UnitPrice * QuantitySold) a výsledok sa umiestni do nového stĺpca. Výsledok s Jahoda, Čokoláda a Vanilka.
DropColumns (IceCreamSales, UnitPrice) Vylúči z výsledku stĺpec UnitPrice. Pomocou tejto funkcie môžete vylúčiť stĺpce a pomocou funkcie ShowColumns ich môžete zahrnúť. Výsledok s Jahoda, Čokoláda a Vanilka, ktoré majú iba stĺpec QuantitySold.
ShowColumns (Predaj zmrzliny, príchuť) Zahrnie do výsledku iba stĺpec Chuť. Pomocou tejto funkcie môžete zahrnúť stĺpce a pomocou funkcie DropColumns ich môžete vylúčiť. Iba stĺpec Príchuť.
Premenovať stĺpce (IceCreamSales, UnitPrice, Price) Premenuje vo výsledku stĺpec UnitPrice. Výsledok s Príchuť, Cena a Výnosy.
Premenovať stĺpce (Predaj zmrzliny, Jednotková cena, Cena, Predané množstvo, Počet) Výsledkom sú premenované stĺpce UnitPrice a QuantitySold. Výsledok s 3 zmrzlinami a stĺpcami ako Chuť, Cena, Výnosy.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, Revenue,
UnitPrice * QuantitySold ),
Jednotková cena, cena ),
množstvo)
Vykoná nasledujúce transformácie tabuľky v uvedenom poradí s tým, že začne uprostred vzorca:
  1. Pridá stĺpec Výnosy na základe výpočtu na záznam Jednotková cena * Množstvo.
  2. Premenuje UnitPrice na Cena.
  3. Vylúči stĺpec Množstvo.
Poradie je dôležité, napríklad nemôžeme počítať s Jednotková cena po jej premenovaní.
Príklad Zmrzlina pre jednotkovú cenu.

Podrobne

Skúsme niektoré z príkladov z predchádzajúceho článku.

  1. Vytvorte kolekciu pridaním ovládacieho prvku Tlačidlo a nastavenie jeho vlastnosti OnSelect podľa tohto vzorca:

    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. Stlačením tlačidla a podržaním klávesu Alt spustite vzorec.

  3. Pridajte druhý ovládací prvok Tlačidlo, nastavte vlastnosť OnSelect na tento vzorec a potom ho spustite.

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold )
    )
    
  4. V ponuke Súbor vyberte Kolekcie a potom stlačte IceCreamSales, čím si danú kolekciu zobrazíte.

    Ako ukazuje tento obrázok, druhý vzorec túto kolekciu neupravil. Funkcia AddColumns používaná IceCreamSales ako argument len na čítanie, funkcia neupravuje tabuľku, na ktorú argument odkazuje.

    Prehliadač kolekcií zobrazujúci tri záznamy z kolekcie predaja zmrzliny, ktorá neobsahuje stĺpec Príjmy.

  5. Stlačte možnosť FirstExample.

    Ako ukazuje tento obrázok, druhý vzorec vrátil novú tabuľku s pridaným stĺpcom. Funkcia ClearCollect zachytila novú tabuľku v kolekcii FirstExample, pridávajúc niečo do pôvodnej tabuľky, keď pretekala funkciou bez úpravy zdroja:

    Prehliadač kolekcií zobrazujúci tri záznamy z kolekcie prvého príkladu, ktorá obsahuje nový stĺpec Príjmy.

Mapovanie stĺpcov v súčasti

Pozri Mapovanie stĺpcov.