Funkce AddColumns, DropColumns, RenameColumns a ShowColumns
Platí pro: aplikace na plátně toky na počítači modelem řízené aplikace Power Platform CLI
Tyto funkce tvarují tabulku přidáním, zahozením, přejmenováním a výběrem sloupců.
Funkci **ForAll lze také použít k tvarování tabulky, a to vrácením tabulky nových záznamů vytvořených z existujících sloupců.
Přehled
Tyto funkce tvarují tabulku úpravou jejích sloupců. Umožňují:
- Zredukovat tabulku obsahující více sloupců na jednosloupcovou tabulku, která dovoluje použití jednosloupcových funkcí, například funkcí Lower nebo Sqrt.
- Přidat do tabulky počítaný sloupec (třeba sloupec Celková cena, který zobrazuje výsledky násobení Množství a Jednotkové ceny).
- Přejmenovat sloupec na něco smysluplnějšího pro zobrazení uživatelům nebo pro použití ve vzorcích.
Tabulka je v Power Apps, hodnotou, stejně jako třeba řetězec nebo číslo. Tabulku můžete zadat jako argument ve vzorci a funkce můžou jako výsledek vrátit tabulku.
Poznámka:
Funkce popisované v tomto tématu nemění původní tabulku. Místo toho přebírají tabulku jako argument a vracejí novou tabulku s použitou transformací. Další informace: Práce s tabulkami.
Pomocí těchto funkcí nemůžete měnit sloupce zdroje dat. Data musíte změnit v jejich zdroji. Sloupce můžete přidat do kolekce pomocí funkce Collect. Další podrobnosti viz práce se zdroji dat.
Description
Funkce AddColumns přidá do tabulky sloupec – a vzorec definuje hodnoty v tomto sloupci. Existující sloupce zůstanou nezměněné.
Vzorec se vyhodnocuje pro každý záznam tabulky.
Aktuálně zpracovávaná pole záznamu jsou dostupná v rámci vzorce. Použijte operátor ThisRecord nebo jednoduše odkazujte na pole podle jména, jako byste měli jakoukoli jinou hodnotu. Operátor As lze také použít k pojmenování zpracovávaného záznamu, což může usnadnit pochopení vzorce a zpřístupnit vnořené záznamy. Další informace uvádějí následující příklady a práce s rozsahem záznamu.
Funkce DropColumns vyloučí sloupce z tabulky. Všechny ostatní sloupce zůstanou nezměněné. DropColumns vyloučí sloupce a ShowColumns zahrnuje sloupce.
Funkce RenameColumns slouží k přejmenování jednoho či více sloupců tabulky. Zadejte minimálně jednu dvojici argumentů, která určuje název sloupce obsaženého v tabulce (starý název, který chcete nahradit) a název sloupce, který v tabulce není (nový název, který chcete použít). Starý název musí už v tabulce existovat a nový název v tabulce existovat nesmí. Každý název sloupce se může v seznamu argumentů vyskytovat pouze jednou, buď jako starý název sloupce, nebo jako nový název sloupce. Pokud chcete přejmenovat sloupec na název, který už existuje, nejprve zahoďte existující sloupec pomocí funkce DropColumns, nebo přejmenujte existující sloupec tak, že vnoříte jednu funkci RenameColumns do jiné.
Funkce ShowColumns zahrne sloupce tabulky a zahodí všechny ostatní sloupce. Pomocí funkce ShowColumns můžete z vícesloupcové tabulky vytvořit jednosloupcovou. ShowColumns zahrnuje sloupce a DropColumns vylučuje sloupce.
U všech těchto funkcí je výsledkem nová tabulka s použitou transformací. Původní tabulka se nezmění. Existující tabulku nelze upravit pomocí vzorce. SharePoint, Microsoft Dataverse, SQL Server a další zdroje dat poskytují nástroje pro úpravu sloupců seznamů, tabulek a tabulek, které se často označují jako schéma. Funkce v tomto článku transformují pouze vstupní tabulku, aniž by došlo k úpravě originálu, na výstupní tabulku pro další použití.
Argumenty k těmto funkcím podporují delegování. Například: Funkce Filter používaná jako argument pro vyhledávání v souvisejících záznamech vyhledávání ve všech výpisech, i když zdroj dat '[dbo].[AllListings]' obsahuje milion řádků:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Výstup těchto funkcí však podléhá limitu záznamu bez delegování. V tomto příkladu je vráceno pouze 500 záznamů, i když zdroj dat RealEstateAgents má 501 nebo více záznamů.
Pokud používáte funkci AddColumns tímto způsobem, funkce Filter musí uskutečnit samostatná volání do zdroje dat pro každý z těchto prvních záznamů ve zdroji dat RealEstateAgents, což způsobuje hustý síťový provoz. If [dbo](.[AllListings] je dostatečně malý a často se nemění. Funkci Collect můžete zavolat v OnStart a uložit do mezipaměti zdroj dat ve vaší aplikaci při jejím spuštění. Alternativně můžete svou aplikaci restrukturalizovat, takže si související záznamy natáhnete, pouze pokud o ně uživatel požádá.
Poznámka:
V Power Apps před verzí 3.24042 byly názvy sloupců zadány pomocí textového řetězce pomocí dvojitých uvozovek, a pokud byly připojeny ke zdroji dat, také musely mít logické názvy. Například místo zobrazovaného názvu Název bez uvozovek byl použit logický název "cr43e_name" s dvojitými uvozovkami. U zdrojů dat SharePoint a Excel, které obsahují názvy sloupců s mezerami, byla každá mezera specifikována pomocí "_x0020_", například "Název sloupce" jako "Název_x0020_sloupce". Po této verzi byly všechny aplikace automaticky aktualizovány na novou syntaxi popsanou v tomto článku.
Syntaxe
AddColumns( Tabulka, Název sloupce1, Vzorec1 [, Název sloupce2, Vzorec2, ... ] )
- Tabulka – Povinné. Tabulka, se kterou se má provést výpočet
- Názvy sloupců – Povinné. Názvy sloupců, které se mají přidat.
- Vzorce – Povinné. Vzorce, které se mají vyhodnotit pro každý záznam. Výsledek se přidá jako hodnota příslušného nového sloupce. V tomto vzorci můžete odkazovat na jiné sloupce tabulky.
DropColumns( Tabulka, Název sloupce1 [, Název sloupce2 , ... ])
- Tabulka – Povinné. Tabulka, se kterou se má provést výpočet
- Názvy sloupců – Povinné. Názvy sloupců, které se mají zahodit.
Přejmenovat sloupce( Tabulka, Název starého sloupce1, Název nového sloupce1 [, Název starého sloupce2, Název nového sloupce2, ... ] )
- Tabulka – Povinné. Tabulka, se kterou se má provést výpočet
- OldColumnNames – Povinné. Názvy sloupců, které se mají přejmenovat z původní tabulky. Tento prvek se zobrazí ve dvojici argumentů jako první (nebo jako první v každé dvojici argumentů, pokud vzorec obsahuje více dvojic).
- NewColumnNames – Povinné. Náhradní názvy. Tento prvek se zobrazí ve dvojici argumentů jako poslední (nebo jako poslední v každé dvojici argumentů, pokud vzorec obsahuje více dvojic).
ShowColumns( Tabulka, Název sloupce1 [, Název sloupce2 , ... ] )
- Tabulka – Povinné. Tabulka, se kterou se má provést výpočet
- Názvy sloupců – Povinné. Názvy sloupců, které se mají zahrnout.
Příklady
Příklady v této části používají zdroj dat IceCreamSales (ProdejeZmrzliny), který obsahuje data v této tabulce:
Žádný z těchto příkladů nemění zdroj dat IceCreamSales. Každá funkce transformuje hodnotu zdroje dat jako tabulku a vrátí tuto hodnotu jako výsledek.
Vzorec | Description | Result |
---|---|---|
AddColumns (Prodej zmrzliny, Tržby, Jednotková cena * Prodané množství) | Přidá do výsledku sloupec Revenue (Výnos). Pro každý záznam se vypočítá součin jednotkové ceny a prodaného množství (UnitPrice * QuantitySold) a výsledek se umístí do nového sloupce. | |
DropColumns (prodej zmrzliny, jednotková cena) | Vyloučí z výsledku sloupec UnitPrice (JednotkováCena). Pomocí této funkce můžete sloupce vyloučit a pomocí funkce ShowColumns je můžete zahrnout. | |
ShowColumns( prodej zmrzliny, příchuť) | Zahrne do výsledku jenom sloupec Flavor. Pomocí této funkce můžete sloupce zahrnout a pomocí funkce DropColumns je můžete vyloučit. | |
Přejmenovat sloupce (IceCreamSales, UnitPrice, Price) | Přejmenuje ve výsledku sloupec UnitPrice. | |
Přejmenovat sloupce (prodej zmrzliny, jednotková cena, cena, prodané množství, počet) | Ve výsledku přejmenuje sloupce UnitPrice a QuantitySold. | |
DropColumns( RenameColumns( AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ), UnitPrice, Price ), Quantity ) |
Provede následující transformace tabulky v uvedeném pořadí, přičemž začne zevnitř vzorce:
|
Podrobný postup
Zkusme některé z příkladů z předchozího v tomto článku.
Vytvořte kolekci přidáním ovládacího prvku Tlačítko a nastavením jeho vlastnosti OnSelect na tento vzorec:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )
Spusťte vzorec výběrem tlačítka, zatímco držíte stisknutou klávesu Alt.
Přidejte druhý ovládací prvek Button, do jeho vlastnosti OnSelect nastavte tento vzorec a spusťte jej:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
V nabídce Soubor výberte Kolekce a pak vyberte IceCreamSales pro zobrazení kolekce.
Jak ukazuje tento obrázek, druhý vzorec tuto sbírku neupravil. Funkce AddColumns použila IceCreamSales jako argument jen pro čtení; funkce neupravila tabulku, na kterou se tento argument vztahuje.
Vyberte FirstExample.
Jak ukazuje tento obrázek, druhý vzorec vrátil novou tabulku s přidaným sloupcem. Funkce ClearCollect zachytila novou tabulku v kolekci FirstExample a přidala něco do původní tabulky, protože proudila funkcí, aniž by se upravoval zdroj:
Mapování sloupců v komponentě
Viz Mapování sloupců.