Funkcijos AddColumns, DropColumns, RenameColumns ir ShowColumns
Taikoma: Drobės programos Darbalaukio srautai Modeliu pagrįstos programos Power Platform CLI
Formuoja lentelęįtraukiant, numetant, pervardijant ir pažymint jos stulpelius.
Funkciją **"ForAll" taip pat galima naudoti lentelei formuoti, pateikiant naujų įrašų, sukurtų iš esamų stulpelių, lentelę.
Apžvalga
Šios funkcijos formuoja lentelę koreguodamos jos stulpelius:
- Sumažinkite lentelę, kurioje yra keli stulpeliai, iki vieno stulpelio, kad galėtumėte naudoti su vieno stulpelio funkcijomis, pvz., Žemutinė arba Sqrt.
- Į lentelę įtraukite apskaičiuotą stulpelį (pavyzdžiui, Total Pricestulpelį, kuriame rodomi padauginti Quantity iš Unit Price).
- Pervardykite stulpelį į reikšmingesnį rodinį vartotojams ar naudoti formulėse.
Lentelė turi vertę „Power Apps”, kaip ir eilutė arba skaičius. Lentelę galite nurodyti kaip funkcijos argumentą ir funkcijos gali grąžinti lentelę kaip rezultatą.
Pastaba.
Šioje temoje aprašytos funkcijos nemodifikuoja pradinės lentelės. Vietoj to jos tą lentelę priima kaip argumentą ir grąžina naują lentelę su pritaikyta transformacija. Norėdami gauti daugiau informacijos, žiūrėkite Darbas su lentelėmis.
Šiomis funkcijomis negalite modifikuoti duomenų šaltinio. Turite modifikuoti duomenis jų šaltinyje. Galite įtraukti stulpelius į collectionnaudodami funkciją Collect. Daugiau informacijos ieškokite darbas su duomenų šaltiniais.
Aprašą
AddColumnsfunkcija įtraukia stulpelį į lentelę, o formulė apibrėžia stulpelio vertes. Esami stulpeliai lieka nemodifikuoti.
Formulė įvertina kiekvieną lentelės įrašą.
Formulėje pasiekiami šiuo metu apdorojamo įrašo laukai. Naudokite operatorių ThisRecord arba tiesiog laukus, kaip ir bet kurią kitą reikšmę, nurodykite pagal pavadinimus. Operatorių As taip pat galima naudoti norint pavadinti apdorojamą įrašą. Tai gali padėti lengviau suprasti formulę ir įdėtuosius įrašus pritaikyti neįgaliesiems. Norėdami gauti daugiau informacijos, žr. tolesnius pavyzdžius ir įrašą apie darbą su įrašų aprėptimi.
DropColumnsfunkcija panaikina stulpelius iš lentelės. Visi kiti stulpeliai lieka nemodifikuoti. "DropColumns" neįtraukia stulpelių, o "ShowColumns" apima stulpelius.
Naudokite funkciją RenameColumns, kad pervadintumėte vieną ar kelis lentelės stulpelius pateikdami bent vieną argumento porą, nurodančią lentelės stulpelio pavadinimą (senąjį pavadinimą, kurį norite pakeisti) ir lentelėje nesančio stulpelio pavadinimą (naują pavadinimą, kurį norite naudoti). Senasis pavadinimas jau turi būti lentelėje, o naujo pavadinimo neturi būti. Kiekvieno stulpelio pavadinimas argumentų sąraše gali būti rodomas tik vieną kartą kaip senas stulpelio pavadinimas arba naujas stulpelio pavadinimas. Jei stulpelį norite pervardyti į esamą stulpelio pavadinimą, pirmiausia numeskite esamą stulpelį naudodamiDropColumns funkciją arba pervardykite esamą stulpelį įdedami RenameColumns funkciją vieną į kitą.
ShowColumns funkcija įtraukia lentelės stulpelius ir numeta visus kitus stulpelius. Galite naudoti ShowColumns, kad sukurtumėte vieno stulpelio lentelę iš kelių stulpelių lentelės. "ShowColumns" apima stulpelius, o "DropColumns" neįtraukia stulpelių.
Visų šių funkcijų rezultatas yra nauja lentelė, kuriai pritaikyta transformacija. Pradinė lentelė nemodifikuota. Negalite modifikuoti esamos lentelės su formule. „SharePoint“, SQL serveris ir kiti duomenų šaltiniai teikia sąrašų, lentelių ir lentelių stulpelių, dažnai vadinamų „Microsoft Dataverse“ schema, modifikavimo įrankius. Šio straipsnio funkcijos tik transformuoja įvesties lentelę, nekeisdamos originalo, į išvesties lentelę tolesniam naudojimui.
Šių funkcijų argumentai palaiko perdavimą. Pavyzdžiui, Filter funkcija, naudojama kaip argumentas norint įtraukti susijusius įrašus, ieško visuose sąrašuose, net jei [duomenų bazės savininko].[AllListings]duomenų šaltinyje yra milijonas eilučių:
AddColumns( RealEstateAgents,
Listings,
Filter( '[dbo].[AllListings]', ListingAgentName = AgentName )
)
Tačiau šių funkcijų išvesčiai taikomas neperduodamų įrašų apribojimas . šiame pavyzdyje grąžinami tik 500 įrašai, net jei RealEstateAgentsduomenų šaltinis turi 501 ar daugiau įrašo.
Jei tokiu būdu naudojate "AddColumns ", filtras turi atskirai skambinti į duomenų šaltinis kiekvienam iš tų pirmųjų įrašų "RealEstateAgents ",o tai sukelia daug tinklo pokalbių. Jei [dbo](.[AllListings] yra pakankamai mažas ir dažnai nesikeičia. Galite iškviesti "OnStart" funkciją Rinkti , kad talpykloje išsaugotumėte programos duomenų šaltinis, kai ji paleidžiama. Kaip alternatyvą galite pertvarkyti programą, kad galėtumėte įtraukti susijusius duomenis tik tada, kai vartotojas jų paprašo.
Pastaba.
Iki Power Apps 3.24042 versijos stulpelių pavadinimai buvo nurodyti teksto eilute, naudojant dvigubas kabutes, o jei jie buvo prijungti prie duomenų šaltinis jie taip pat turėjo būti loginiai pavadinimai. Pavyzdžiui, vietoj rodomo pavadinimo Vardas be kabučių buvo naudojamas loginis pavadinimas "cr43e_name" su dvigubomis kabutėmis. " SharePoint Excel" duomenų šaltiniuose, kuriuose yra stulpelių pavadinimai su tarpais, kiekvienas tarpas buvo nurodytas su "_x0020_", pvz., "Stulpelio pavadinimas" kaip"Column_x0020_Name". Po šios versijos visos programos buvo automatiškai atnaujintos į naują sintaksę, aprašytą šiame straipsnyje.
Sintaksė
AddColumns(lentelė,ColumnName1,Formula1 [ , ColumnName2,Formula2 , ... ] )
- Lentelė - būtina. Lentelė, kurią norite naudoti.
- ColumnNames - būtina. Stulpelių, kuriuos norite pridėti, pavadinimai.
- Formulės - Būtina. Formulės, skirtos įvertinti kiekvienam įrašui. Rezultatas pridedamas kaip atitinkamo naujo stulpelio vertė. Galite šioje formulėje nurodyti kitus lentelės stulpelius.
DropColumns( lentelė,ColumnName1 [, ColumnName2, ... ] )
- Lentelė - būtina. Lentelė, kurią norite naudoti.
- ColumnNames - būtina. Stulpelių, kuriuos reikia nuleisti, pavadinimai.
PervardytiColumns( lentelė,OldColumnName1,NewColumnName1 [ , OldColumnName2,NewColumnName2 , ... ] )
- Lentelė - būtina. Lentelė, kurią norite naudoti.
- OldColumnNames - Būtina. Stulpelių, kuriuos reikia pervardyti iš pradinės lentelės, pavadinimai. Šis elementas atsiranda pirmiausia argumentų poroje (arba pirmiausia kiekvienoje argumentų poroje, jei formulėje yra daugiau nei viena pora).
- NewColumnNames - būtina. Pakaitiniai pavadinimai. Šis elementas atsiranda paskutinis argumentų poroje (arba paskutinis kiekvienoje argumentų poroje, jei formulėje yra daugiau nei viena pora).
ShowColumns( lentelė,ColumnName1 [, ColumnName2, ... ] )
- Lentelė - būtina. Lentelė, kurią norite naudoti.
- ColumnNames - būtina. Stulpelių, kuriuos reikia įtraukti, pavadinimai.
Pavyzdžiai
Šioje sekcijoje pateiktuose pavyzdžiuose naudokite IceCreamSales duomenų šaltinį , kuriame yra šios lentelės duomenys:
Nė vienas iš šių pavyzdžių nepakeičia IceCreamSalesduomenų šaltinio. Kiekviena funkcija transformuoja duomenų šaltinio vertę kaip lentelę ir grąžina tą vertę kaip rezultatą.
Formulė | Aprašą | Rezultatas |
---|---|---|
AddColumns( IceCreamSales, Pajamos, UnitPrice * QuantitySold ) | Įtraukia Revenuestulpelį į rezultatą. Kiekvieno įrašo atveju UnitPrice * QuantitySold yra įvertinama, o rezultatas įdedamas naujame stulpelyje. | |
DropColumns( IceCreamSales, UnitPrice ) | Panaikina UnitPrice stulpelį iš rezultato. Šią funkciją naudokite norėdami išskirti stulpelius ir naudoti ShowColumns, kad juos įtrauktumėte. | |
ShowColumns( IceCreamSales, Skonis ) | Įtraukia tik Flavor stulpelį į rezultatą. Naudokite šią funkciją, kad įtrauktumėte stulpelius ir panaudotumėte DropColumns, kad juos panaikintumėte. | |
RenameColumns( IceCreamSales, UnitPrice, Price) | Pervadina UnitPrice stulpelį rezultate. | |
RenameColumns( IceCreamSales, UnitPrice, Price, QuantitySold, Number) | Pervardina UnitPrice ir QuantitySold stulpelius rezultate. | |
DropColumns( RenameColumns( AddColumns( IceCreamSales, pajamos, UnitPrice * QuantitySold ), Vieneto kaina, kaina ), Kiekis ) |
Atlieka toliau pateiktos lentelės transformacijas eilės tvarka, pradedant formulės viduje:
|
Nuoseklūs veiksmai
Pabandykime keletą pavyzdžių iš ankstesnio šio straipsnio.
Sukurkite rinkinį įtraukdami Mygtukovaldiklį ir nustatykite jo OnSelectypatybę pagal šią formulę:
ClearCollect( IceCreamSales, Table( { Flavor: "Strawberry", UnitPrice: 1.99, QuantitySold: 20 }, { Flavor: "Chocolate", UnitPrice: 2.99, QuantitySold: 45 }, { Flavor: "Vanilla", UnitPrice: 1.50, QuantitySold: 35 } ) )
Vykdykite formulę pažymėdami mygtuką, laikydami nuspaudę klavišą „Alt”.
Įtraukite antrąjį Mygtuko valdiklį ir nustatykite jo OnSelect ypatybę pagal šią formulę ir tada vykdykite ją:
ClearCollect( FirstExample, AddColumns( IceCreamSales, Revenue, UnitPrice * QuantitySold ) )
File meniu pažymėkite Collections, tada pažymėkite IceCreamSales, kad būtų rodomas tas rinkinys.
Kaip rodo šis grafinis vaizdas, antroji formulė nepakeičia šio rinkinio. AddColumns funkcija panaudojo IceCreamSales kaip tik skaitomą argumentą; funkcija nemodifikavo lentelės, kurią nurodo tas argumentas.
Pažymėkite FirstExample.
Kaip šiame grafiniame vaizde matome, antroji formulė grąžino naują lentelę su įtrauktu stulpeliu. ClearCollect funkcija nufotografavo naują lentelę FirstExample rinkinyje įtraukdama kai ką į originalią lentelę, kai jis perėjo per funkciją, nemodifikuodama šaltinio:
Stulpelių susiekite su komponentu
Žr. Susieti stulpelius.