Funkcijos AsType ir IsType
Taikoma: Drobės programoms Modeliu pagrįstoms programoms Power Pages Power Platform CLI
Tikrina konkretaus lentelės tipo kaip įrašo nuorodą ir nurodo IsType konkretų tipą (AsType).
Pastaba.
PAC CLI pac power-fx komandos nepalaiko IsType.
Aprašą
Skaitykite Įrašų nuorodų ir polimorfiškų peržvalgų supratimas, kad gautumėte daugiau informacijos.
Peržvalgos laukas paprastai nurodo konkrečios lentelės įrašus. Kadangi lentelės tipas yra gerai nustatytas, galite pasiekti peržvalgos laukus naudodami paprastą tašką. Pavyzdžiui, Pirmasis( klientai ).'Pirminis kontaktas'.'Visas vardas' išėjimai iš Sąskaitos lentelė į pirminio kontakto įrašų kontaktų lentelėje ir išskleiskite Visas vardas laukelis.
Microsoft Dataverse taip pat palaikomorphic peržvalgos laukus, kurie gali nurodyti įrašus iš lentelių rinkinio, kaip nurodyta šiuose pavyzdžiuose.
Peržvalgos laukas | Gali nurodyti |
---|---|
Savininkas | Vartotojai arba komandos |
Klientas | Paskyros arba kontaktai |
Dėl | Paskyros, kontaktai, informaciniai straipsniai ir kt. |
Drobės programos formulėse darbui su polimorfinėmis peržvalgomis naudokite įrašų nuorodas. Įrašo nuoroda gali nurodyti skirtingas lenteles, todėl nežinote, kurie laukai bus prieinami parašant formulėje. Record.Field žymėjimas yra negalimas. Šios formulės turi būti pritaikytos prie įrašų, su kuriais veikianti programa susiduria.
Tai IsType tikrina, ar įrašo nuoroda nurodo konkretų lentelės tipą. Funkcija pateikia Bulio logikos reikšmę TRUE arba FALSE.
Funkcija AsType užfiksuos įrašo nuorodą kaip konkretų lentelės tipą, kartais vadinamą sustingusi. Rezultatą galite naudoti, tarsi tai būtų lentelės įrašas, ir dar kartą naudokite lauko įrašą Record.Field notavimas prieigai prie visų to įrašo laukų. Jei nuoroda nėra specialaus tipo, įvyksta klaida.
Šias funkcijas naudokite kartu, jei norite iš pradžių patikrinti įrašo lentelės tipą, o tada jį laikyti kaip to tipo įrašą, kad būtų prieinami laukai:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Šių funkcijų reikia tik tuo atveju, jei norite pasiekti įrašo nuorodos laukus. Pavyzdžiui, galite naudoti įrašo nuorodas Filtro funkcijoje be IsType arba AsType:
Filter( Accounts, Owner = First( Users ) )
Taip pat galite naudoti įrašų nuorodas su Pataisos funkcija:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Jei naudojamas įrašo kontekste, pvz., galerijos ar formos redagavimo valdiklyje, gali reikėti visuotinįnaudoti formą dviprasminimo operatorių lentelės tipui nurodyti. Pavyzdžiui, ši formulė būtų veiksminga galerijai, kurioje rodomas kontaktų sąrašas, kur Įmonės pavadinimas yra Kliento peržvalga:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Nurodykite abiejų funkcijų tipą per prie duomenų šaltinis prisijungusio asmens pavadinimą. Kad formulė veiktų, į programą dėl bet kokio tikrintino arba konvertuotino tipo reikia įtraukti duomenų šaltinį. Pavyzdžiui, turite įtraukti vartotojų lentelę kaip įrašą duomenų šaltinis norite naudoti IsType ir AsType su Savininku peržvalga ir įrašais iš tos lentelės. Galite įtraukti tik duomenų šaltinius, kuriuos iš tiesų naudojate savo programoje; jums nereikia įtraukti visų lentelių, kurias gali nurodyti peržvalga.
Jei įrašo nuoroda yra tuščia, IsType pateikia FALSE, o AsType pateikia tuščia. Visi tuščio įrašo laukai bus tušti.
Sintaksė
AsType(RecordReference,TableType )
- "RecordReference" - būtina. Įrašo nuoroda, dažnai peržvalgos laukas, gali kuris gali nurodyti įrašą bet kurioje iš kelių lentelių.
- TableType - būtina. Konkreti lentelė, su kuria įrašas turi būti susumuoti.
IsType(RecordReference,TableType )
- "RecordReference" - būtina. Įrašo nuoroda, dažnai peržvalgos laukas, gali kuris gali nurodyti įrašą bet kurioje iš kelių lentelių.
- TableType - būtina. Konkreti lentelė, kurią reikia tikrinti.
Pavyzdžiui
Suprasti įrašų nuorodas ir polimorfines peržvalgas yra daug pavyzdžių.
Sukurkite tuščią drobės programą, skirtą planšetiniams kompiuteriams.
Kairiojoje juostoje pasirinkite Duomenys>Įtraukti duomenys. Tada įtraukite abonementų ir kontaktų lenteles.
Kairiojoje srityje pasirinkite + (Įterpti) >Maketas>Tuščia vertikali galerija.
Pasirinkite Prisijungti prie duomenų, tada rinkitės Kontaktai duomenų šaltinis.
Nustatykite galerijos maketą į Antraštė ir paantraštė.
Duomenų srityje atidarykite Title1 sąrašą ir pasirinkite Vardas ir pavardė.
Pasirinkite Subtitle1 žymos valdiklį.
Nustatykite Subtitle1 Teksto ypatybę pagal šią formulę:
If( IsBlank( ThisItem.'Company Name' ), "--", IsType( ThisItem.'Company Name', Accounts ), "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name', "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name' )
Galerijos paantraštė rodo šias reikšmes:
- „--“, jei Įmonės pavadinimas yra tuščias.
- "Abonementas: " ir tada Kliento vardas laukelis iš abonementų lentelės jei Įmonės pavadinimo laukelis rodo abonementą.
- "Kontaktas: " ir tada Visas vardas laukelis iš Kontaktai lentelės jei Įmonės pavadinimo laukelis rodo kontaktą.
Jūsų rezultatai gali skirtis nuo šioje temoje pateiktų rezultatų, nes naudojami pavyzdžio duomenys, kurie buvo modifikuoti norint parodyti papildomus rezultatų tipus.