Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
Taikoma: drobės programoms
Sukuria vartotojo apibrėžtą tipą, skirtą naudoti su vartotojo apibrėžtomis funkcijomis ir neįvestomis reikšmėmis.
Svarbu
- Šios funkcijos yra eksperimentinės.
- Eksperimentinės funkcijos nėra skirtos naudoti gamyboje ir gali būti neišbaigtos. Šios funkcijos pasiekiamos prieš oficialų išleidimą, kad galėtumėte gauti išankstinę prieigą ir pateikti atsiliepimų. Daugiau informacijos: Nebenaudojamų, eksperimentinių ir peržiūros funkcijų supratimas ir nebenaudojamos funkcijos drobės programose
- Šis veikimas galimas tik tada, kai įjungta vartotojo apibrėžtų tipų eksperimentinė funkcija parametruose > Būsimos funkcijos > Eksperimentinis (ji išjungta pagal numatytuosius nustatymus).
- Jūsų atsiliepimai yra vertingi. Praneškite mums, ką manote eksperimentinių funkcijų bendruomenės forume Power Apps .
Aprašą
Kiekviena funkcija Power Fx apibrėžia reikšmių tipus, kuriuos galima perduoti kaip parametrus, ir išvesties tipą. Tipai tikrinami, kai rašote formulę, ir rodomos klaidos, jei jie nesutinka su tuo, ko tikimasi. Redaktorius taip pat naudoja tipus, kad pasiūlytų geras parinktis, ką perduoti į funkciją ir kuo anksčiau aptikti klaidas.
Kurdami savo vartotojo apibrėžtas funkcijas, turite nurodyti įvesties ir išvesties tipus. Paprastiems tipams, tokiems kaip dešimtainis arba tekstas, tai lengva, nes šie pagrindiniai tipai yra iš anksto nustatyti. Sudėtingesniems tipams, pvz., įrašams ar lentelėms, naudokite Type funkciją tipui sukurti.
Ši Type funkcija taip pat padeda lengviau dirbti su dinaminėmis reikšmėmis. Naudojant funkcijas ParseJSON, IsType ir AsType , dinaminę reikšmę galima konvertuoti į įvestą objektą, kurio naudojimo metu nebereikia atskirai įvesti stulpelių.
Funkcija TypeTypeSpecification priima kaip vienintelį argumentą. Paprasčiausia tipo specifikacija yra, pavyzdžiui Type( Text ), nurodyti esamą tipą. Įrašo arba lentelės tipo specifikacija yra panaši į įrašo ar lentelės su pažodinėmis reikšmėmis apibrėžimą, kur reikšmės pakeičiamos tipų pavadinimais. Pavyzdžiui,būtų {Name: "Jane"} įvestas su Type( {Name: Text} ). Lentelės nurodomos laužtiniais skliaustais, o ne funkcija Lentelė , ir galima pateikti tik vieną įrašą. Pavyzdžiui,būtų [1,2,3] įvestas su Type( [Number] ).
RecordOf Naudokite funkciją norėdami išskleisti įrašo tipą iš lentelės tipo. Pavyzdžiui,grąžintų Type( RecordOf( Library ) ) vienos knygos tipą iš bibliotekos. Norėdami, kad lentelės tipas būtų iš įrašo tipo, įrašo tipą rašykite laužtiniuose skliaustuose. Pavyzdžiui,apibrėžia Type( [ Book ] ) biblioteką.
RecordOf galima naudoti tik funkcijoje Type .
Funkciją Type ir grąžinamą tipo reikšmę galima naudoti tik konkrečiose "Power Fx" vietose, pvz., antrame ParseJSON argumente. Drobės programėlėse Type funkciją galima naudoti su įvardyta formule App.Formulas.
Sintaksė
RecordOf( Lentelės tipas )
- TableType – būtina. Lentelės tipo pavadinimas. Tai nepriima tipo specifikacijos, tai turi būti anksčiau apibrėžto lentelės tipo pavadinimas.
Type( TipasSpecifikacija )
- TypeSpecification – būtina. Tipo specifikacija.
Pavyzdžiai
Type funkcija
Apsvarstykite šiuos "App.Formulas" apibrėžimus :
Library =
[ { Title: "A Study in Scarlet", Author: "Sir Arthur Conan Doyle", Published: 1887 },
{ Title: "And Then There Were None", Author: "Agatha Christie", Published: 1939 },
{ Title: "The Marvelous Land of Oz", Author: "L. Frank Baum", Published: 1904 } ];
// Type definition for a single book
BookType := Type( { Title: Text, Author: Text, Published: Number } );
// Type definition for a table of books
LibraryType := Type( [ BookType ] );
Atkreipkite dėmesį, kaip tikrasis pavadinimo tekstas "A Study in Scarlet" tipo specifikacijoje pakeičiamas tipo pavadinimu Text , bet kurios teksto reikšmės vietos rezervavimo ženklu. Parametras arba tipo BookType kintamasis gali laikyti vieną iš knygų Library, o LibraryType gali laikyti visą lentelę. Turėdami šiuos tipus, galime apibrėžti šias vartotojo apibrėžtas funkcijas:
SortedBooks( books: LibraryType ): LibraryType =
SortByColumns( Library, Author, SortOrder.Ascending, Title, SortOrder.Ascending );
PublishedInLeapYear( book: BookType ): Boolean =
Mod( book.Published, 4 ) = 0 And
(Mod( book.Published, 100 ) <> 0 Or Mod( book.Published, 400 ) = 0);
Taip pat galite naudoti BookType norėdami išanalizuoti JSON eilutę, kurioje yra knyga:
ParseJSON( "{""Title"":""Gulliver's Travels"", ""Author"": ""Jonathan Swift"", ""Published"": 1900}", BookType
)
Naudojant BookType kaip antrąjį "ParseJSON " argumentą , gaunamas įvestas įrašas, kurį galima naudoti kaip bet kurį kitą Power Fx įrašą.
RecordOf funkcija
Type Funkcijos pavyzdyje pradėkite BookType nuo ir kuriate LibraryType keliant aplink ją lentelę. Šiuos tipus galėjome apibrėžti atvirkščiai:
// Type definition for a table of books
RecordOfLibraryType := Type( [ { Title: Text, Author: Text, Published: Number } ] );
// Type definition for a single book
RecordOfBookType := Type( RecordOf( RecordOfLibraryType ) );