opomba,
Dostop do te strani zahteva pooblastilo. Poskusite se vpisati alispremeniti imenike.
Dostop do te strani zahteva pooblastilo. Poskusite lahko spremeniti imenike.
Velja za: aplikacije Canvas
Konstruira uporabniško definiran tip za uporabo z uporabniško definiranimi funkcijami in netipiziranimi vrednostmi.
Pomembno
- Te funkcije so poskusne.
- Eksperimentalne funkcije niso namenjene produkcijski uporabi in morda niso popolne. Te funkcije so na voljo pred uradno izdajo, tako da lahko dobite zgodnji dostop in posredujete povratne informacije. Več informacij: Razumevanje poskusnih funkcij, funkcij predogledne različice in umaknjenih funkcij v aplikacijah s platni
- To vedenje je na voljo le, ko je Uporabniško določena vrsta eksperimentalna funkcija v Nastavitve > Prihajajoče funkcije > Eksperimentalno je vklopljeno (privzeto je izklopljeno).
- Vaše povratne informacije so dragocene. Sporočite nam svoje mnenje na Power Apps forumu skupnosti eksperimentalnih funkcij.
Description
Vsaka funkcija v Power Fx opredeljuje vrste vrednosti, ki jih je mogoče posredovati kot parametre, in vrsto izhoda. Vrste se preverijo, ko pišete formulo, napake pa se prikažejo, če se ne ujemajo s pričakovanim. Vrste uporablja tudi urejevalnik, da predlaga dobre možnosti za to, kaj posredovati funkciji, in čim prej odkrije napake.
Ko ustvarjate lastne uporabniško definirane funkcije, morate določiti vhodne in izhodne vrste. Za preproste tipe, kot je Decimal ali Text, je to preprosto, saj so ti osnovni tipi vnaprej določeni. Za bolj zapletene vrste, kot so zapisi ali tabele, uporabite Type funkcijo, da ustvarite vrsto.
Funkcija Type omogoča tudi preprostejše delo z dinamičnimi vrednostmi. S funkcijami ParseJSON, IsType in AsType lahko dinamično vrednost pretvorite v vneseni predmet, v katerem stolpcev na mestu uporabe ni treba več vtipkati posamično.
Funkcija Type za svoj edini argument vzame vrsto TypeSpecification . Najenostavnejša specifikacija tipa je sklicevanje na obstoječi tip, na primer Type( Text ). Specifikacija tipa za zapis ali tabelo je podobna definiranju zapisa ali tabele z dobesednimi vrednostmi, kjer so vrednosti nadomeščene z imeni tipov. Na primer, {Name: "Jane"} bi bilo vneseno z Type( {Name: Text} ). Tabele so podane z oglatimi oklepaji, ne s funkcijo Table , na voljo pa je lahko samo en zapis. Na primer, [1,2,3] bi bilo vneseno z Type( [Number] ).
S funkcijo RecordOf ekstrahiraj vrsto zapisa iz vrste tabele. Na primer, Type( RecordOf( Library ) ) bi vrnil vrsto ene knjige iz knjižnice. Če želite narediti tabelo, vnesite vrsta zapisa, Zavijanje vrsta zapisa v oglatih oklepajih. Na primer, Type( [ Book ] ) definira knjižnico.
RecordOf je mogoče uporabiti le v funkciji Type .
Funkcija Type in vrednost vrste, ki jo vrne, se lahko uporabita le na določenih mestih v dodatku Power Fx, na primer drugi argument za ParseJSON. V aplikacijah Platno lahko Type funkcijo uporabite z imenovano formulo v app.Formulas.
Sintaksa
RecordOf( Vrsta tabele )
- TableType – Zahtevano. Ime vrste tabele. To ne sprejema specifikacije tipa, mora biti ime predhodno definiranega tipa za tabelo.
Type( Vrsta Vrste )
- TypeSpecification – Zahtevano. Specifikacija tipa.
Primeri
Type funkcija
Upoštevajte naslednje definicije v App.Formulas:
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 ] );
Opazite, kako je dejansko besedilo naslova "A Study in Scarlet" zamenjeno z imenom tipa Text v specifikaciji tipa, ki je ograda za katero koli besedilno vrednost. Parameter ali spremenljivka tipa BookType lahko vsebuje eno od knjig v Library, medtem ko LibraryType lahko vsebuje celotno tabelo. S temi tipi lahko definiramo te uporabniško definirane funkcije:
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);
Uporabite lahko tudi BookType za razčlenitev niza JSON, ki vsebuje knjigo:
ParseJSON( "{""Title"":""Gulliver's Travels"", ""Author"": ""Jonathan Swift"", ""Published"": 1900}", BookType
)
Če uporabite BookType kot drugi argument za ParseJSON , dobite tipiziran zapis, ki ga je mogoče uporabiti kot kateri koli drug Power Fx zapis.
RecordOf funkcija
V primeru Type funkcije začnete z graditvijo BookType tako, da oblijete LibraryType tabelo okrog te funkcije. Te vrste bi lahko definirali obratno z:
// 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 ) );