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:
- Tabuľku, ktorá obsahuje viacero stĺpcov, zmenšite 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é. DropColumns nezahŕňa stĺpce a ShowColumns zahŕňa 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. ShowColumns zahŕňa stĺpce a DropColumns nezahŕňa 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í. Môžete zavolať funkciu Collect 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é textovým reťazcom pomocou dvojitých úvodzoviek a ak boli pripojené k zdroj údajov, museli to byť aj logické názvy. Napríklad namiesto zobrazovaného názvu 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( Tabuľka, Názov stĺpca1, Vzorec1 [, Názov stĺpca2, Vzorec2, ... ] )
- Tabuľka – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
- Názvy stĺpcov – povinné. Názvy stĺpcov, ktoré sa majú pridať.
- Vzorce – 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( Tabuľka, Názov stĺpca1 [, Názov stĺpca2 , ... ] )
- Tabuľka – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
- Názvy stĺpcov – povinné. Názvy stĺpcov, ktoré sa majú vypustiť.
Premenovať stĺpce( Tabuľka, Názov starého stĺpca1, Názov nového stĺpca1 [, Názov starého stĺpca2, Názov nového stĺpca2, ... ] )
- Tabuľka – 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).
ZobraziťColumns( Tabuľka, Názov stĺpca1 [, Názov stĺpca2 , ... ] )
- Tabuľka – povinné. Tabuľka, s ktorou sa má urobiť výpočet.
- Názvy stĺpcov – 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:
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. | |
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úť. | |
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ť. | |
Premenovať stĺpce (Predaj zmrzliny, Jednotková cena, Cena) | Premenuje vo výsledku stĺpec UnitPrice. | |
Premenovať stĺpce (Predaj zmrzliny, Jednotková cena, Cena, Predané množstvo, Počet) | Výsledkom sú premenované stĺpce UnitPrice a QuantitySold. | |
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:
|
Podrobne
Skúsme niektoré z príkladov z predchádzajúceho článku.
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 } ) )
Stlačením tlačidla a podržaním klávesu Alt spustite vzorec.
Pridajte druhý ovládací prvok Tlačidlo, nastavte vlastnosť OnSelect na tento vzorec a potom ho spustite.
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
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.
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:
Mapovanie stĺpcov v súčasti
Pozri Mapovanie stĺpcov.