Funksjonene AsType og IsType
Gjelder for: Lerretsapper Modelldrevne apper Power Pages Power Platform CLI
Kontrollerer en oppføringsreferanse for en bestemt tabelltype (IsType) og behandler referansen som en bestemt type (AsType).
Merk
PAC CLI pac power-fx-kommandoer støtter ikke IsType.
Description
Les Forstå oppføringsreferanser og polymorfiske oppslag for å få en bredere innføring og mer informasjon.
Et oppslagsfelt refererer vanligvis til oppføringer i en bestemt tabell. Siden tabelltypen er godt etablert, kan du få tilgang til feltene i oppslaget ved å bruke en enkel punktnotasjon. First( Accounts ).'Primary Contact'.'Full Name' går for eksempel fra tabellen Forretningsforbindelser til oppføringen Primær kontakt i Kontakter-tabellen og trekker ut Fullt navn-feltet.
Microsoft Dataverse støtter også polymorfe oppslagsfelter, som kan referere til oppføringer fra et sett med tabeller, slik som i disse eksemplene.
Oppslagsfelt | Kan referere til |
---|---|
Eier | Brukere eller team |
Kunde | Kontoer eller kontakter |
Angående | Kontoer, kontakter, kunnskapsartikler osv. |
I formler i lerretsapper kan du bruke oppføringsreferanser til å arbeide med polymorfiske oppslag. Siden en oppføringsreferanse kan referere til ulike tabeller, vet du ikke hvilke felter som kommer til å være tilgjengelige, når du skriver en formel. Notasjonen Record.Field er ikke tilgjengelig. Disse formlene må tilpasses oppføringene som appen treffer på når den kjører.
IsType-funksjonen tester om en oppføringsreferanse refererer til en bestemt tabelltype. Funksjonen returnerer en boolsk verdi som SANN eller USANN.
AsType-funksjonen behandler en oppføringsreferanse som en bestemt tabelltype. Dette kalles av og til konvertering. Du kan bruke resultatet som om det er en oppføring i tabellen, og på nytt bruke notasjonen Record.Field til å få tilgang til alle feltene i denne oppføringen. Det oppstår en feil hvis referansen ikke er av den bestemte typen.
Bruk disse funksjonene sammen for først å teste tabelltypen for en oppføring og deretter behandle den som en oppføring av denne typen, slik at feltene er tilgjengelige:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Du trenger bare disse funksjonene hvis du har tilgang til feltene i en oppføringsreferanse. Du kan for eksempel bruke oppføringsreferanser i Filter-funksjonen uten IsType eller AsType:
Filter( Accounts, Owner = First( Users ) )
På samme måte kan du bruke oppføringsreferanser med Patch-funksjonen:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Hvis de brukes i en oppføringskontekst, for eksempel i en Gallery- eller Edit form-kontroll, kan det hende at du må bruke den globale tvetydighetsoperatoren til å referere til tabelltypen. Denne formelen vil for eksempel være effektiv for et galleri som viser en liste over kontakter der Firmanavn er et Kunde-oppslag:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Du angir typen for begge funksjoner via navnet på datakilden som er koblet til tabellen. Hvis formelen skal fungere, må du også legge til en datakilde i appen for alle typer du vil teste eller endre. Du må for eksempel legge til Brukere-tabellen som en datakilde hvis du vil bruke IsType og AsType med et Eier-oppslag og oppføringer fra denne tabellen. Du kan bare legge til datakildene du faktisk bruker, i appen. Du trenger ikke å legge til alle tabellene som oppslaget kan referere til.
Hvis oppføringsreferansen er tom, returnerer IsType USANN, og AsType returnerer tom. Alle felt i en tom oppføring vil være tomme.
Syntaks
AsType(RecordReference,TableType )
- RecordReference - Obligatorisk. En oppføringsreferanse, ofte et oppslagsfelt som kan referere til en oppføring i enhver tabell blant mange tabeller.
- TableType – Obligatorisk. Den bestemte tabellen som oppføringen skal konverteres til.
IsType(RecordReference,TableType )
- RecordReference - Obligatorisk. En oppføringsreferanse, ofte et oppslagsfelt som kan referere til en oppføring i enhver tabell blant mange tabeller.
- TableType – Obligatorisk. Den bestemte tabellen du vil teste for.
Eksempel
Forstå postreferanser og polymorfe oppslag inneholder omfattende eksempler.
Opprett en tom lerretsapp for nettbrett.
Velg Data>Legg til data i den venstre ruten. Legg deretter til tabellene Forretningsforbindelser og Kontakter.
I ruten til venstre velger du + (Sett inn) >Oppsett>Tomt loddrett galleri.
Velg Koble til data, og velg deretter Kontakter som datakilden.
Angi oppsettet for galleriet til Tittel og undertittel.
I Data-ruten åpner du Title1-listen, og velger deretter Fullt navn.
Velg Subtitle1-etikettkontrollen.
Angi Text-egenskapen for Subtitle1 til denne formelen:
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' )
Undertittelen i galleriet viser disse verdiene:
- "--" hvis Firmanavn er tomt.
- "Forretningsforbindelse: " og feltet Navn på forretningsforbindelse fra tabellen Forretningsforbindelser hvis Firmanavn-feltet refererer til en forretningsforbindelse.
- "Kontakt: " og feltet Fullt navn fra Kontakter-tabellen hvis Firmanavn-feltet refererer til en kontakt.
Resultatene kan være forskjellige fra dem i dette emnet fordi det bruker eksempeldata som ble endret for å vise flere resultattyper.