Funkcijas AsType un IsType
Attiecas uz: Audekla programmām Modeļa vadītas programmas Power Pages Power Platform CLI
Pārbauda ieraksta atsauci noteiktam tabulas tipam (IsType) un apstrādā atsauci kā noteiktu tipu (AsType).
Piezīmes
PAC CLI pac power-fx komandas neatbalsta IsType.
Apraksts
Izlasiet rakstu Ierakstu atsauču un polimorfismu uzmeklēšanu izprašana, lai iegūtu plašāku ievadu un detalizētāku informāciju.
Uzmeklēšanas lauks parasti attiecas uz ierakstiem noteiktā tabulā. Tā kā tabulas tips ir labi izveidots, uzmeklēšanas laukiem var piekļūt, izmantojot vienkāršu punktu notāciju. Piemēram, Vārds( Uzņēmumi ).'Primārā kontaktpersona'.'PIlns nosaukums' pāriet no tabulas Uzņēmumi uz tabulas Primārās kontaktpersonas ierakstu Kontaktpersona un izvelk lauku Pilns nosaukums.
Microsoft Dataverse atbalsta arī polimorfiskus uzmeklēšanas laukus, kuros var būt atsauces uz ierakstiem no tabulu kopas, kā tas ir norādīts šajos piemēros.
Uzmeklēšanas lauks | Var attiekties uz |
---|---|
Īpašnieks | Lietotāji vai darba grupas |
Klients | Konti vai kontaktpersonas |
Attiecībā uz | Konti, kontakti, zināšanu bāzes raksti utt. |
Pamatnes programmu formulās izmantojiet ieraksta atsauces, lai strādātu ar polimorfu uzmeklēšanu. Tā kā ieraksta atsauce var norādīt uz dažādām tabulām, jūs zināt, kuri lauki būs pieejami, rakstot formulas. Notācija Record.Field nav pieejama. Šīm formulām ir jāpielāgojas ierakstiem, ko programma atrod pēc to izpildes.
IsType funkcija pārbauda, vai ieraksta atsauce attiecas uz konkrētu tabulas tipu. Funkcija atgriež Būla vērtību PATIESS vai APLAMS.
Izmantojot funkciju AsType, ieraksta atsauce tiek izmantota kā noteikts tabulas tips, dažkārt saukta arī par atskaņošanu. Rezultātu var izmantot tā, it kā tas būtu tabulas ieraksts, un atkal lietot lauku Record.Field notāciju, lai piekļūtu visiem šī ieraksta laukiem. Kļūda rodas, ja atsauce nav noteikta tipa atsauce.
Izmantojiet šīs funkcijas kopā, lai vispirms pārbaudītu ieraksta tabulas tipu un pēc tam to apstrādātu kā šāda tipa ierakstu, lai lauki būtu pieejami:
If( IsType( First( Accounts ).Owner, Users ),
AsType( First( Accounts ).Owner, Users ).'Full Name',
AsType( First( Accounts ).Owner, Teams ).'Team Name'
)
Šīs funkcijas ir nepieciešamas tikai tad, ja piekļūstat ieraksta atsauces laukiem. Piemēram, varat izmantot ieraksta atsauces funkcijā Filter bez funkcijas IsType vai AsType:
Filter( Accounts, Owner = First( Users ) )
Līdzīgi var izmantot ieraksta atsauces ar funkciju Patch:
Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )
Ja tas tiek izmantots ieraksta kontekstā, piemēram, Galerijas vai Veidlapas rediģēšanas vadīklā, iespējams, tabulas tipam ir jāizmanto globālais viennozīmīgais operators. Piemēram, šī formula varētu būt efektīva galerijā, kas rāda kontaktpersonu sarakstu, kur Uzņēmuma nosaukums ir Klienta uzmeklēšana:
If( IsType( ThisItem.'Company Name', Accounts ),
AsType( ThisItem.'Company Name', Accounts ).'Account Name',
AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Abām funkcijām jānorāda tips ar to datu nosaukumu datu avots, kas ir savienots ar tabulu. Lai formula darbotos, ir jāpievieno arī datu avots programmai visiem tipiem, ko vēlaties pārbaudīt vai pārvērst. Piemēram, tabula Lietotāji ir jāpievieno kā datu avots, ja vēlaties izmantot IsType un AsType ar Īpašnieka uzmeklēšanu un ierakstiem no šīs tabulas. Programmā varat pievienot tikai tos datu avotus, kurus faktiski izmantojat; nav jāpievieno visas tabulas, uz kurām uzmeklēšana varētu atsaukties.
Ja ieraksta atsauce ir tukšs, IsType atgriež APLAMS, un AsType atgriež tukšs. Visi tukšā ieraksta lauki būs tukši.
Sintakse
AsType(RecordReference,TableType )
- RecordReference - Obligāts. Ieraksta atsauce, bieži vien uzmeklēšanas lauks, kurā var būt atsauce uz ierakstu jebkurā no vairākām tabulām.
- TableType - Obligāts. Noteikta tabula, uz kuru ierakstam jābūt atskaņotam.
IsType(RecordReference,TableType )
- RecordReference - Obligāts. Ieraksta atsauce, bieži vien uzmeklēšanas lauks, kurā var būt atsauce uz ierakstu jebkurā no vairākām tabulām.
- TableType - Obligāts. Konkrētā tabula, kurai veikt testu.
Piemērs
Ierakstu atsauču un polimorfās uzmeklēšanas izpratne satur plašus piemērus.
Tukšu pamatnes programmu izveide planšetdatoriem.
Kreisajā rūtī atlasiet Dati>Pievienot datus. Pēc tam pievienojiet tabulas Uzņēmumi un Kontaktpersonas.
Kreisajā rūtī atlasiet + (Ievietot) >Izkārtojums>Tukša vertikālā galerija.
Atlasiet vienumu Izveidot savienojumu ar datiem un pēc tam atlasiet Kontaktpersonas kā datu avotu.
Galerijas izkārtojuma iestatīšana uz Virsraksts un apakšvirsraksts.
Datu rūtī atveriet sarakstu Nosaukums 1 un pēc tam atlasiet Pilns nosaukums.
Atlasiet Apakšvirsraksts 1 etiķetes vadīklu.
Iestatiet Apakšvirsraksta 1 Teksta rekvizītam šādu formulu:
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' )
Galerijas apakšvirsrakstā tiek rādītas šādas vērtības:
- “--”, ja Uzņēmuma nosaukums ir tukšs.
- "Uzņēmums: " Ja laukā Uzņēmuma nosaukums ir atsauce uz uzņēmumu, tabulas Uzņēmumi lauks Uzņēmuma nosaukums.
- "Kontaktpersonas: " Ja laukā Uzņēmuma nosaukums ir atsauce uz kontaktpersonu, tabulas Kontaktpersonas lauks Uzņēmuma nosaukums.
Rezultāti var atšķirties no šajā tēmā minētajām, jo tajā tiek izmantoti datu paraugi, kas tika modificēti, lai parādītu rezultātu papildu tipus.