AddColumns, DropColumns, RenameColumns és ShowColumns függvény

A következőkre vonatkozik: Vászonalapú alkalmazások Asztali folyamatok Modellvezérelt alkalmazások Power Platform CLI

Egy tábla alakítása hozzáadással, eltávolítással, átnevezéssel, majd az oszlopok kijelölésével.

Áttekintés

Ezek a függvények egy táblát alakítanak oszlopainak kiigazításával:

  • Csökkentsen egy több oszlopot tartalmazó táblát egy oszlopra az olyan egyoszlopos függvények használatához, mint a Lower vagy az Abs.
  • Vegyen fel egy számított oszlopot a táblához (például egy Teljes ár oszlopot, amely a Mennyiség és az Egységár szorzatát jeleníti meg).
  • Nevezze át az oszlopot egy könnyebben beazonosítható névre a felhasználóknak való megjelenítéshez vagy képletekben való használathoz.

A táblák éppúgy értékek a Power Apps rendszerben, mint a sztringek vagy a számok, a képletek argumentumaként egy táblát is megadhat, és a függvények táblát is visszaadhatnak eredményként.

Feljegyzés

A jelen témakörben ismertetett függvények nem módosítják az eredeti táblákat. Ehelyett argumentumként fogadhatnak egy táblát, és átalakító alkalmazásával egy új táblát adnak vissza. További részleteket a táblákkal való munkával foglalkozó témakörben talál.

Az adatforrás oszlopai nem módosíthatók ezen függvények használatával. Az adatokat a forrásban kell módosítania. A Collect függvénnyel hozzáadhat oszlopokat egy gyűjteményhez. További részleteket az adatforrások kezelésével foglalkozó témakörben talál.

Ismertetés

Az AddColumns függvény oszlopot ad hozzá egy táblához, és egy képlettel meghatározza az értékeket az adott oszlopban. A létező oszlopok változatlanok maradnak.

A képletet a tábla minden egyes rekordja esetében kiértékeli.

Az aktuálisan feldolgozás alatt álló rekordmezők elérhetők a képletben. Használja a ThisRecord operátort, vagy egyszerűen hivatkozzon név szerint a mezőkre, ahogy más értéket is hivatkozna. Az As operátor a feldolgozás alatt álló rekord elnevezésére használatos, amellyel könnyebben érthető a képlet, és hozzáférhetőbbek a beágyazott rekordok. További információkért lásd az alábbi példákat és a rekord hatókörével való munkát.

A DropColumns függvény oszlopokat zár ki egy táblából. Az összes többi oszlop változatlan marad. A DropColumns oszlopokat zár ki, a ShowColumns pedig oszlopokat vesz be.

A tábla egy vagy több oszlopának átnevezésére használja a RenameColumns függvényt, amihez adjon meg legalább egy argumentumpárt, amely meghatározza a táblában szereplő oszlop nevét (a régi nevet, amelyet le szeretne cserélni) és annak az oszlopnak a nevét, amely nem szerepel a táblában (az új nevet, amelyet használni szeretne). A régi névnek már a táblában kell lennie, az új névnek pedig még nem szabad léteznie. Minden egyes oszlopnév csak egyszer szerepelhet az argumentumlistában régi oszlopnévként vagy egy új oszlop neveként. Ha egy meglévő oszlopnévre szeretné átnevezni az oszlopot, először dobja el a meglévő oszlopot a DropColumns használatával, vagy nevezze át a meglévő oszlopot, hogy ne legyen útban az egyik RenameColumns függvény másikba való beágyazásával.

A ShowColumns függvény beveszi egy tábla adott oszlopait, és kizárja az összes többi oszlopot. A ShowColumns függvényt egyoszlopos tábla létrehozására használhatja egy több oszlopot tartalmazó táblából. A ShowColumns oszlopokat vesz be, a DropColumns pedig oszlopokat zár ki.

Mindezen függvények eredménye egy új tábla, alkalmazott átalakítóval. Az eredeti tábla nem módosul. Képlettel rendelkező meglévő táblázat nem módosítható. A SharePoint, a Microsoft Dataverse, az SQL Server és más adatforrások eszközöket biztosítanak a listák, táblázatok és táblázatok oszlopainak módosítására, amelyeket gyakran sémának neveznek. Az ebben a témakörban szereplő függvények az eredeti elem módosítása nélkül átalakítják a bemeneti táblázatot, a további használat céljából egy kimeneti táblába.

A függvények argumentumai támogatják a delegálást. Egy Filter függvény például argumentumként használható a kapcsolódó bejegyzések megkereséséhez az összes listaelemen, még akkor is, ha a '[dbo]. [AllListings]' adatforrás millió sort tartalmaz:

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

Ezeknek a függvényeknek a kimenetére a nem delegált rekordkorlát is érvényes. Ebben a példában a rendszer csak 500 bejegyzést ad vissza, még akkor is, ha a RealEstateAgents adatforrás 501 vagy több bejegyzést tartalmaz.

Ha ilyen módon használja a Filter függvényt, akkor a LookUp függvénynek külön hívásokat kell intéznie az adatforráshoz a RealEstateAgents elemben szereplő első bejegyzések esetében, ami sok hálózati forgalmat eredményez. Ha a [dbo](.[AllListings] elég kis méretű, és nem változik meg gyakran, akkor a Collect függvényt is hívhatja az OnStart elemben az adatforrás gyorsítótárazásához az alkalmazásában, amikor az elindul. Másik lehetőségként átalakíthatja az alkalmazást, hogy a kapcsolódó bejegyzéseket csak akkor húzza le a rendszer, ha a felhasználó kéri azokat.

Szintaxis

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

  • Tábla – Kötelező megadni. A művelethez használni kívánt tábla.
  • Oszlopnév – Kötelező. A hozzáadandó oszlop(ok) neve. Adjon meg egy sztringet (például "Név", az idézőjelekkel együtt) ehhez az argumentumhoz. Az oszlopneveket a logikai név használatával kell megadnia. Az Intellisense csak logikai neveket javasol. A logikai név megkülönbözteti a kis- és nagybetűket.
  • Képlet(ek) – Kötelező. Az egyes rekordok kiértékeléséhez használandó képlet(ek). Az eredmény a megfelelő új oszlop értékeként kerül hozzáadásra. A tábla egyéb oszlopaira ebben a képletben hivatkozhat.

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

  • Tábla – Kötelező megadni. A művelethez használni kívánt tábla.
  • Oszlopnév – Kötelező. A hozzáadandó oszlop(ok) neve. Adjon meg egy sztringet (például "Név", az idézőjelekkel együtt) ehhez az argumentumhoz. Az oszlopneveket a logikai név használatával kell megadnia. Az Intellisense csak logikai neveket javasol. A logikai név megkülönbözteti a kis- és nagybetűket.

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

  • Tábla – Kötelező megadni. A művelethez használni kívánt tábla.
  • OldColumnName – Kötelező. Az eredeti táblából az átnevezendő oszlop neve. Ez az elem elsőként jelenik meg az argumentumpárban (vagy minden argumentumpárban elsőként, ha a képlet egynél több párt tartalmaz). Ennek a névnek sztringnek (például "Név", az idézőjelekkel együtt) kell lennie. Az oszlopneveket a logikai név használatával kell megadnia. Az Intellisense csak logikai neveket javasol. A logikai név megkülönbözteti a kis- és nagybetűket.
  • NewColumnName – Kötelező. A helyettesítő név. Ez az elem utolsóként jelenik meg az argumentumpárban (vagy minden argumentumpárban utolsóként, ha a képlet egynél több párt tartalmaz). Adjon meg egy sztringet (például "Ügyfél neve", az idézőjelekkel együtt) ehhez az argumentumhoz. Az oszlopneveket a logikai név használatával kell megadnia. Az Intellisense csak logikai neveket javasol. A logikai név megkülönbözteti a kis- és nagybetűket.

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

  • Tábla – Kötelező megadni. A művelethez használni kívánt tábla.
  • Oszlopnév – Kötelező. A beveendő oszlop(ok) neve. Adjon meg egy sztringet (például "Név", az idézőjelekkel együtt) ehhez az argumentumhoz. Az oszlopneveket a logikai név használatával kell megadnia. Az Intellisense csak logikai neveket javasol. A logikai név megkülönbözteti a kis- és nagybetűket.

Példák

A következő példában az IceCreamSales nevű adatforrást használjuk, amely a következő táblában szerepelteti az adatokat:

Icecream példa.

Ezek a példák egyike sem módosítja az IceCreamSales adatforrást. Minden egyes függvény átalakítja az adatforrást táblaként, és ezt az értéket adja vissza eredményként.

Képlet Ismertetés Eredmény
AddColumns (IceCreamSales, "Bevétel" UnitPrice * QuantitySold) Hozzáad egy Bevétel oszlopot az eredményhez. Az egyes rekordoknál kiértékeli a UnitPrice * QuantitySold képletet, és az eredményt az új oszlopba helyezi. Eper, csokoládé és vanília eredmény.
DropColumns( IceCreamSales, "UnitPrice" ) Kizárja a UnitPrice (Egységár) oszlopot az eredményből. Ezen függvény segítségével kizárhat oszlopokat, és használhatja ShowColumns-t azok felvételéhez. Eper, csokoládé, vanília eredmény, amelynél csak a QuantitySold oszlop van meg.
ShowColumns( IceCreamSales, "Flavor" ) Csak a Flavor (Íz) oszlopot szerepelteti az eredményben. Ezen függvény segítségével vehet fel oszlopokat, és használhatja DropColumns-t azok kizárására. Csak Íz oszlop.
RenameColumns( IceCreamSales, "UnitPrice", "Price") Átnevezi a UnitPrice (Egységár) oszlopot az eredményben. Eredmény ízzel, árral és bevétellel.
RenameColumns( IceCreamSales, "UnitPrice", "Price", "QuantitySold", "Number") Átnevezi a UnitPrice (Egységár) és a QuantitySold (EladottMennyiség) oszlopot az eredményben. Eredmény 3 IceCreams használatával és íz, ár, bevétel oszlopokkal.
DropColumns(
RenameColumns(
AddColumns( IceCreamSales, "Bevétel",
UnitPrice * QuantitySold ),
"UnitPrice", "Price" ),
"Quantity" )
A következő táblaátalakításokat hajtja végre sorrendben, kezdve a képlet belsejétől:
  1. Hozzáad egy Revenue (Bevétel) oszlopot az UnitPrice (Egységár) * Quantity (Mennyiség) rekordonkénti kiszámítása alapján.
  2. Átnevezi a UnitPrice (Egységár) oszlopot Price-ra (Ár).
  3. Kizárja a Quantity (Mennyiség) oszlopot.
Vegye figyelembe, hogy a sorrend fontos. Például, hogy nem számítható ki az UnitPrice miután át lett nevezve.
IceCream példa az egységárra.

Lépésről lépésre

Próbálja ki a témakör korábban ismertetett példáit.

  1. Hozzon létre gyűjteményt hozzáadva egy Gomb vezérlőelemet, és az OnSelect tulajdonság értékeként adja meg a következő képletet:

    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. Az Alt billentyűt lenyomva tartva futtassa a képletet a gomb kiválasztásával.

  3. Adjon hozzá egy második Gomb vezérlőelemet, és az OnSelect tulajdonság értékeként adja meg a következő képletet, majd futtassa:

    ClearCollect( FirstExample,
       AddColumns( IceCreamSales, "Revenue", UnitPrice * QuantitySold )
    )
    
  4. A Fájl menüben válassza a Gyűjtemények lehetőséget, majd válassza az IceCreamSales elemet a gyűjtemény megtekintéséhez.

    Az ábrán látható módon a második képlet nem módosította ezt a gyűjteményt. Az AddColumns függvény az IceCreamSales elemet csak olvasható argumentumként használta; a függvény nem módosította azt a táblát, amelyre az argumentum hivatkozik.

    A Collection néző, a Jégkrémértékesítés kollekció három bejegyzését jeleníti meg, amelyekben nem szerepel bevétel oszlop.

  5. Válassza a FirstExample lehetőséget.

    Az ábrán látható módon a második képlet a hozzáadott oszlopot tartalmazó új táblát adja vissza. A ClearCollect függvény a FirstExample gyűjteményben rögzítette az új táblát, hozzátéve valamit az eredeti táblához, ahogy a függvényen a forrás módosítása nélkül átáramlik:

    A Collection néző, a Jégkrémértékesítés kollekció három bejegyzését jeleníti meg az Első példa kollekcióban, amelyben szerepel az új bevétel oszlop.

Oszlopokat képez le egy összetevőben

További információ: Oszlopok leképezése.