Sdílet prostřednictvím


AddColumns, DropColumns, RenameColumnsa ShowColumns funkce

Platí pro: Aplikace plátna Copilot Studio Desktopové toky modelem řízené aplikace Power Platform CLI – funkce Dataverse

Tvaruje tabulku nebo záznam přidáním, přetažením, přejmenováním a výběrem sloupců.

Funkci ForAll lze také použít k tvarování tabulky vrácením tabulky nových záznamů vytvořených z existujících sloupců.

Přehled

Tyto funkce tvarují tabulku nebo záznam úpravou sloupců:

  • Zmenšete tabulku nebo záznam obsahující více sloupců dolů na jeden sloupec pro použití s funkcemi s jedním sloupcem, například Lower nebo Sqrt.
  • Přidejte počítaný sloupec do tabulky nebo záznamu (například sloupec Celková cena , který zobrazuje výsledky vynásobení množství jednotkovou cenou).
  • 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á sloupec do tabulky nebo záznamu a vzorec definuje hodnoty v daném sloupci. Existující sloupce zůstanou nezměněné.

Vzorec se vyhodnotí pro zadaný záznam nebo pro každý záznam poskytnuté 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 nebo záznamu. Všechny ostatní sloupce zůstanou nezměněné. DropColumns vyloučí sloupce a ShowColumns zahrne sloupce.

RenameColumns Pomocí funkce přejmenujte jeden nebo více sloupců tabulky nebo záznamu tak, že zadáte alespoň jeden pár argumentů, který určuje název sloupce, který tabulka nebo záznam obsahuje (starý název, který chcete nahradit) a název sloupce, který tabulka nebo záznam neobsahuje (nový název, kterou chcete použít). Starý název již musí existovat v tabulce nebo záznamu a nový název nesmí existovat. Každý název sloupce se může v seznamu argumentů zobrazovat jenom jednou jako starý název sloupce nebo nový název sloupce. Pokud chcete sloupec přejmenovat na název existujícího sloupce, napřed přetáhněte existující sloupec s DropColumnsnázvem nebo ho přejmenujte tak, že jednu RenameColumns funkci vnořujete do jiné.

Funkce ShowColumns obsahuje sloupce tabulky nebo záznamu a zahodí všechny ostatní sloupce. Můžete použít ShowColumns k vytvoření tabulky nebo záznamu s jedním sloupcem z tabulky nebo záznamu s více sloupci. ShowColumns obsahuje sloupce a DropColumns vyloučí sloupce.

Pro všechny tyto funkce je výsledkem nová tabulka nebo záznam s použitou transformací. Původní tabulka nebo záznam se nezmění. Existující tabulku ani záznam nelze upravit pomocí vzorce. SharePoint, Microsoft Dataverse, SQL Server a další zdroje dat poskytují nástroje pro úpravy sloupců seznamů a tabulek, které se často označují jako schéma. Funkce v tomto tématu transformují pouze vstupní tabulku nebo záznam beze změny originálu do výstupní tabulky nebo záznamu 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žijete AddColumns tímto způsobem, musí Filter provádět samostatná volání zdroje dat pro každý z těchto prvních záznamů v RealEstateAgents, což způsobuje velké množství síťových chatterů. 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( TableOrRecord, ColumnName1, Formula1 [, ColumnName2, Formula2; ... ] )

  • TableOrRecord – povinné. Pro práci s tabulkou nebo záznamem.
  • 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 další sloupce tabulky nebo záznamu.

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

  • TableOrRecord – povinné. Pro práci s tabulkou nebo záznamem.
  • Názvy sloupců – Povinné. Názvy sloupců, které se mají zahodit.

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

  • TableOrRecord – povinné. Pro práci s tabulkou nebo záznamem.
  • OldColumnNames – Povinné. Názvy sloupců, které chcete přejmenovat z původní tabulky nebo záznamu. 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( TableOrRecord, ColumnName1 [, ColumnName2, ... ] )

  • TableOrRecord – povinné. Pro práci s tabulkou nebo záznamem.
  • 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:

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). Tato funkce slouží k vyloučení sloupců a jejich zahrnutí ShowColumns . 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. Tato funkce obsahuje sloupce a slouží DropColumns k jejich vyloučení. 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 ),
Jednotkovácena, Cena ),
Množství )
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 jako argument jen pro čtení použila IceCreamSales . Funkce neupravovala tabulku, na kterou tento argument odkazuje.

    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ů.