Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Primjenjuje se na sljedeće: Aplikacije radnog područja
Konstruira korisnički definirani tip za korištenje s korisnički definiranim funkcijama i netipiziranim vrijednostima.
Važno
- Te su funkcije eksperimentalne.
- Eksperimentalne značajke nisu namijenjene za produkcijsku upotrebu i možda nisu potpune. Te su značajke dostupne prije službenog izdanja kako biste mogli dobiti rani pristup i dati povratne informacije. Dodatne informacije: Objašnjenje eksperimentalnih, zastarjelih značajki i značajki pretpregleda u aplikacijama od gotovih gradivnih elemenata
- Ovo je ponašanje dostupno samo kada je uključena eksperimentalna značajka Korisnički definirane vrste u Postavkama > Nadolazeće značajke > Eksperimentalno (prema zadanim postavkama je isključena).
- Vaše povratne informacije su vrijedne. Javite nam što mislite na forumu Power Apps zajednice eksperimentalnihznačajki.
Opis
Svaka funkcija u Power Fx definira vrste vrijednosti koje se mogu proslijediti kao parametri i vrstu izlaza. Vrste se provjeravaju prilikom pisanja formule, a pogreške se prikazuju ako se ne slažu s očekivanjima. Uređivač također koristi tipove kako bi predložio dobre opcije za što proslijediti u funkciju i otkrio pogreške što je prije moguće.
Prilikom stvaranja vlastitih korisnički definiranih funkcija morate navesti vrste ulaza i izlaza. Za jednostavne vrste kao što su Decimal ili Text, to je jednostavno jer su ove osnovne vrste unaprijed definirane. Za složenije vrste, kao što su zapisi ili tablice Type , koristite funkciju za stvaranje vrste.
Funkcija Type olakšava i rad s dinamičnim vrijednostima. Uz funkcije ParseJSON, IsType i AsType dinamička se vrijednost može pretvoriti u tipkani objekt u kojem stupce više nije potrebno pojedinačno upisovati u trenutku korištenja.
Funkcija Type kao jedini argument uzima TypeSpecification . Najjednostavnija specifikacija tipa je referenciranje postojećeg tipa, na primjer Type( Text ). Specifikacija vrste za zapis ili tablicu slična je definiranju zapisa ili tablice s doslovnim vrijednostima, gdje se vrijednosti zamjenjuju nazivima vrsta. Na primjer, {Name: "Jane"} upisao bi se sa Type( {Name: Text} ). Tablice su navedene u uglatim zagradama, a ne u funkciji Tablica , a može se unijeti samo jedan zapis. Na primjer, [1,2,3] upisao bi se sa Type( [Number] ).
Pomoću funkcije RecordOf izdvojite vrstu zapisa iz vrste tablice. Na primjer, Type( RecordOf( Library ) ) vratit će vrstu jedne knjige iz biblioteke. Da biste stvorili vrstu tablice iz vrste zapisa, Zamatanje vrsta zapisa u uglate zagrade. Na primjer, Type( [ Book ] ) definira biblioteku.
RecordOf može se koristiti samo unutar Type funkcije.
Funkcija Type i vrsta vrijednosti koju vraća mogu se koristiti samo na određenim mjestima u dodatku Power Fx, kao što je drugi argument argumenta ParseJSON. U aplikacijama Platno funkcija Type se može koristiti s imenovanom formulom u aplikaciji App.Formulas.
Sintaksa
RecordOf( Vrsta Tablice )
- TableType – obavezno. Naziv vrste tablice. Ovo ne prihvaća specifikaciju tipa, to mora biti naziv prethodno definiranog tipa za tablicu.
Type( TypeSpecification )
- TypeSpecification – Obavezno. Specifikacija tipa.
Primjeri
Type funkcija
Razmotrite sljedeće definicije u 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 ] );
Primijetite kako se stvarni tekst "A Study in Scarlet" naslova zamjenjuje nazivom Text vrste u specifikaciji tipa, rezerviranim mjestom za bilo koju vrijednost teksta. Parametar ili varijabla tipa BookType može držati jednu od knjiga Library, dok LibraryType može držati cijelu tablicu. S ovim vrstama možemo definirati ove korisnički 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);
Također možete koristiti za BookType raščlanjivanje JSON niza koji sadrži knjigu:
ParseJSON( "{""Title"":""Gulliver's Travels"", ""Author"": ""Jonathan Swift"", ""Published"": 1900}", BookType
)
Korištenje BookType kao drugog argumenta za ParseJSON rezultira tipiziranim zapisom koji se može koristiti kao i svaki drugi Power Fx zapis.
RecordOf funkcija
U primjeru Type funkcije počinjete s i gradite BookType prelamanjem LibraryType tablice oko njega. Mogli smo definirati ove tipove obrnuto sa:
// 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 ) );