Jaa


AsType- ja IsType-funktio

Koskee seuraavia: Pohjaan perustuvat sovellukset Mallipohjaiset sovellukset Power Platform CLI

Tarkistaa tietyn taulukkotyypin (IsType) tietueviittauksen ja käsittelee viittausta tiettynä tyypinä (AsType).

Muistiinpano

PAC CLI pac power-fx -komennot eivät tue kohdetta IsType.

Description

Laajempi esittely ja lisätietoja on artikkelissa Tietueviittausten ja polymorfisten hakujen ymmärtäminen.

Valintakenttä viittaa yleensä tietyn taulukon tietueisiin. Koska taulukkotyyppi on määritetty hyvin, valintakenttiä voi käyttää yksinkertaisella pistemerkinnällä. Esimerkiksi First( Accounts ).'Primary Contact'.'Full Name tulee Asiakkaat-taulukosta Yhteyshenkilöt-taulukon Ensisijainen yhteyshenkilö -tietueeseen ja poimii Koko nimi -kentän.

Microsoft Dataverse tukee myös monisteenisia valintakenttiä, jotka voivat viitata taulukoiden tietueisiin kuten näissä esimerkeissä.

Hakukenttä Voi viitata kohteisiin
Omistaja Users tai Teams
Asiakas Accounts tai Contacts
Liittyy Accounts, Contacts, Knowledge Articles, jne.

Kaaviosovellusten kaavoissa voit käyttää tietueviitteitä käyttääksesi polymorfisia hakuja. Koska tietueviittaus voi viitata eri taulukoihin, et tiedä, mitkä kentät ovat käytettävissä kaavaa kirjoittaessasi. Record.Field-merkintä ei ole käytettävissä. Kaavojen on mukauduttava tietueisiin, jotka sovellus havaitsee, kun sitä suoritetaan.

IsType-funktio testaa, viittaako tietueviittaus tiettyyn taulukkotyyppiin. Funktio palauttaa totuusarvon TOSI tai EPÄTOSI.

AsType-funktio käsittelee tietueviittauksia tietyntyyppisenä taulukkona, jota kutsutaan myös lähettämiseksi. Voit käyttää tulosta niin kuin se olisi taulukon tietue ja käyttää tietuetta uudelleen. Record.Field-merkinnän avulla voit käyttää kaikkia tietueen kenttiä. Virhe tapahtuu, jos viittaus ei ole tiettyä tyyppiä.

Näiden toimintojen avulla voit ensin testata tietuetaulukon tyypin ja käsitellä sitä sitten tietuetyyppinä niin, että kentät ovat käytettävissä:

If( IsType( First( Accounts ).Owner, Users ),
    AsType( First( Accounts ).Owner, Users ).'Full Name',
    AsType( First( Accounts ).Owner, Teams ).'Team Name'
)

Tarvitset näitä toimintoja vain, jos käytät tietueviittauksen kenttiä. Voit esimerkiksi käyttää tietueviittauksia Filter- funktiossa, ilman IsType- tai AsType-funktioita:

Filter( Accounts, Owner = First( Users ) )

Vastaavasti voit käyttää tietueviittauksia Patch-toiminnon kanssa:

Patch( Accounts, First( Accounts ), { Owner: First( Teams ) } )

Jos käytät tietueen kontekstissa, esimerkiksi Gallery- tai Edit form -ohjausobjektissa, sinun on ehkä viitattava taulukkotyyppiin yleisessä selvitysoperaattorissa. Tämä kaava on esimerkiksi tehokas valikoimassa, jossa on luettelo yhteyshenkilöistä, joiden Yrityksen nimi on Asiakas-entiteetin valinta:

If( IsType( ThisItem.'Company Name', Accounts ),
    AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

Molemmille toiminnoille määritetään tyyppi sen tietolähteen kautta, joka on yhdistetty taulukkoon. Jotta kaava toimisi, sinun täytyy myös lisätä sovellukseen tietolähde mille tahansa testattavalle tai muunnettavalle tyypille. Lisää esimerkiksi Käyttäjät-taulukko tietolähde, jos haluat käyttää Taulukosta IsType- ja AsType-tyyppiä Omistaja-haun ja tietueiden kanssa. Voit lisätä vain ne tietolähteet, joita todellisuudessa käytät sovelluksessasi. Sinun ei tarvitse lisätä kaikkia taulukoita, joihin valinta voi viitata.

Jos tietueviittaus on tyhjä, IsType palauttaa arvon EPÄTOSI ja AsType palauttaa tyhjän. Tyhjän tietueen kaikki kentät ovat tyhjiä.

Syntaksi

AsType( RecordReference, TableType )

  • RecordReference – Pakollinen. Tietueviittaus, usein valintakenttä, joka voi viitata usean taulukon tietueeseen.
  • TableType – Pakollinen. Tietty taulukko, johon tietue tulisi muuttaa.

IsType( RecordReference, TableType )

  • RecordReference – Pakollinen. Tietueviittaus, usein valintakenttä, joka voi viitata usean taulukon tietueeseen.
  • TableType – Pakollinen. Taulukko, jota varten testi suoritetaan.

Esimerkki:

Tietoja tietueviittauksista ja polymorfisista hauista sisältää laajoja esimerkkejä.

  1. Luo tyhjä kaaviosovellus tableteille.

  2. Valitse vasemmassa ruudussa Tiedot>Lisää tiedot. Lisää sitten Asiakkaat- ja Yhteyshenkilöt-taulukot.

    Tyhjä sovellus, jossa on kaksi tietolähdettä: asiakkuudet ja yhteyshenkilöt.

  3. Valitse vasemmassa ruudussa + (Lisää) >Asettelu>Tyhjä pystysuuntainen valikoima.

    Lisää valikoimaohjausobjekti, jonka asettelu on Tyhjä pystysuuntainen.

  4. Valitse Yhdistä tietoihin ja valitse sitten Yhteyshenkilöt-tietolähde.

  5. Määritä gallerian asetteluksi Otsikko ja alaotsikko.

    Avaa asettelun valitsin ominaisuusruudusta.

    Asettelun määrittäminen arvoon Otsikko ja alaotsikko.

  6. Avaa Tiedot-ruudussa Title1-luettelo ja valitse Full Name.

    Otsikon arvon määrittäminen.

  7. Valitse Subtitle1-seliteohjausobjekti.

    Aliotsikon arvon määrittäminen.

  8. Määritä Subtitle1-ohjausobjektin Text-ominaisuudeksi seuraava kaava:

    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'
    )
    

    Näyttö on nyt valmis, sillä se näyttää asiakkuudet ja yhteyshenkilöt galleriassa sekoitettuna.

    Gallerian alaotsikko näyttää seuraavat arvot:

    • "--" jos Yrityksen nimi on tyhjä.
    • "Asiakas: " ja sitten Tilit-taulukon Tilin nimi -kenttä, jos Yrityksen nimi -kentässä viitataan tiliin.
    • "Yhteyshenkilö: " ja sitten Yhteyshenkilöt-taulukon Koko nimi -kenttä, jos Yrityksen nimi -kentässä viitataan yhteyshenkilöön.

    Tulokset voivat poiketa tässä aiheessa esitetyistä, koska tässä käytetään muokattua näytedataa, joka näyttää enemmän tulostyyppejä.