Funkce AddColumns, DropColumns, RenameColumns a ShowColumns

Platí pro: aplikace plátna desktopové toky 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é. Funkce DropColumns sloupce vyloučí, funkce ShowColumns sloupce zahrne.

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. Funkce DropColumns sloupce vyloučí, funkce ShowColumns sloupce zahrne.

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ázevSloupce1; Vzorec1 [; NázevSloupce2; Vzorec2; ... ] )

  • Tabulka – povinné. Tabulka, se kterou se má provést výpočet
  • NázevSloupce – povinné. Názvy sloupců, které se mají přidat.
  • Vzorec – 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ázevSloupce1 [; NázevSloupce2; ... ] )

  • Tabulka – povinné. Tabulka, se kterou se má provést výpočet
  • NázevSloupce – povinné. Názvy sloupců, které se mají zahodit.

RenameColumns( Tabulka, StarýNázevSloupce1, NovýNázevSloupce1 [, StarýNázevSloupce2, NovýNázevSloupce2, ... ] )

  • Tabulka – povinné. Tabulka, se kterou se má provést výpočet
  • OldColumnName(s) - 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).
  • NewColumnName(s) - 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ázevSloupce1 [; NázevSloupce2; ... ] )

  • Tabulka – povinné. Tabulka, se kterou se má provést výpočet
  • NázevSloupce – 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:

Příklad zmrzliny.

Žá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( IceCreamSales, Revenue, UnitPrice * QuantitySold ) 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. Výsledek s jahodou (Strawberry), čokoládou (Chocolate) a vanilkou (Vanilla).
DropColumns( IceCreamSales, UnitPrice ) 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. Výsledek s jahodou (Strawberry), čokoládou (Chocolate) a vanilkou (Vanilla), který má pouze sloupec QuantitySold.
ShowColumns( IceCreamSales, Flavor ) Zahrne do výsledku jenom sloupec Flavor. Pomocí této funkce můžete sloupce zahrnout a pomocí funkce DropColumns je můžete vyloučit. Pouze sloupec s příchutí (Flavor).
RenameColumns( IceCreamSales, UnitPrice, Price) Přejmenuje ve výsledku sloupec UnitPrice. Výsledek s příchutí, cenou a výnosy (Flavor, Price a Revenue).
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) Ve výsledku přejmenuje sloupce UnitPrice a QuantitySold. Výsledek se 3 zmrzlinami a sloupci příchuti, ceny a výnosu (Flavour, Price, Revenue).
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:
  1. Přidá sloupec Revenue na základě výpočtu součinů UnitPrice * Quantity pro jednotlivé záznamy.
  2. Přejmenuje sloupec UnitPrice na Price.
  3. Vyloučí sloupec Quantity.
Pořadí je důležité, např. po přejmenování sloupce UnitPrice už s ním nemůžeme počítat.
Příklad zmrzliny pro jednotkovou cenu.

Podrobný postup

Zkusme některé z příkladů z předchozího v tomto článku.

  1. 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 }
       )
    )
    
  2. Spusťte vzorec výběrem tlačítka, zatímco držíte stisknutou klávesu Alt.

  3. 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 )
    )
    
  4. 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.

    Prohlížeč kolekce zobrazující tři záznamy kolekce prodeje zmrzliny, která neobsahuje sloupec Tržby.

  5. 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:

    Prohlížeč kolekce zobrazující tři záznamy kolekce První příklad, která obsahuje nový sloupec Tržby.

Mapování sloupců v komponentě

Viz Mapování sloupců.