Power Appsin GUID-funktio

Muuntaa GUID (Globally Unique Identifier) -merkkijonon GUID-arvoksi tai luo uuden GUID-arvon.

Kuvaus

GUID-funktiolla muunnetaan GUID-tunnuksen heksadesimaalimuotoisen esityksen sisältävä merkkijono GUID-arvoksi, joka voidaan välittää tietokantaan. GUID-arvoja käytetään tietokantajärjestelmien, kuten Common Data Servicen ja SQL Serverin, avaimina.

Välitetty merkkijono voi sisältää isoja tai pieniä kirjaimia. Siinä on oltava 32 heksadesimaalimerkkiä jommassakummassa seuraavista muodoista:

  • "123e4567-e89b-12d3-a456-426655440000" (tavuviivat tavallisissa sijainneissa)
  • "123e4567e89b12d3a456426655440000" (ilman väliviivoja)

Jos et määritä argumenttia, tämä funktio luo uuden GUID-tunnuksen.

GUID-arvon muuntaminen merkkijonoksi edellyttää vain, että käytät sitä merkkijonon kontekstissa. GUID-arvo muunnetaan heksadesimaalimuotoiseksi merkkijonoksi, joka sisältää väliviivoja ja pieniä kirjaimia.

Kun luodaan uusi GUID-tunnus, tämä funktio käyttää pseudosatunnaislukuja luodakseen version 4 IETF RFC 4122 GUID-tunnuksen. Muunnettaessa merkkijonoa GUID-arvoksi tämä toiminto tukee mitä tahansa GUID-versiota hyväksymällä minkä tahansa merkkijonon, jossa on 32 heksadesimaalilukua.

Muuttuvat funktiot

GUID on muuttuva funktio, kun sitä käytetään ilman argumenttia. Aina, kun funktiota arvioidaan, se palauttaa eri arvon.

Kun muuttuvaa funktiota käytetään tietotyönkulun kaavassa, muuttuva funktio palauttaa eri arvon vain arvioitaessa uudelleen kaavaa, jossa se esiintyy. Jos mitään muuta ei muuteta kaavassa, sillä on sama arvo koko sovelluksesi suorittamisen ajan.

Esimerkiksi otsikko-ohjausobjekti, jonka tekstiominaisuudeksi on asetettu GUID(), ei muutu sovelluksen aktiivisena olon aikana. Erilainen arvo luodaan vain sulkemalla sovellus ja avaamalla se uudelleen.

Funktio arvioidaan uudelleen, jos se on osa kaavaa, jossa jotakin muuta kohtaa on muutettu. Jos asetamme esimerkiksi Selite-ohjausobjektin Text-ominaisuuden tähän kaavaan, GUID-tunnus luodaan aina, kun käyttäjä muuttaa tekstisyöteohjausobjektin arvoa:

TextInput1.Text & " " & GUID()

Kun sitä käytetään käytöskaavassa, GUID-funktiota arvioidaan uudelleen aina arvioitaessa kaavaa. Lisätietoja saat tässä aiheessa myöhempänä olevista esimerkeistä.

Syntaksi

GUID( [ GUIDString ] )

  • GUIDString – valinnainen. Tekstimerkkijono, joka sisältää heksadesimaalimuotoisen esityksen GUID-tunnuksesta. Jos merkkijonoa ei anneta, luodaan uusi GUID-tunnus.

Esimerkit

Peruskäyttö

Palauta heksadesimaalimerkkijonoon perustuva GUID-arvo seuraavasti:

GUID( "0f8fad5b-d9cb-469f-a165-70867728950e" )

Voit myös antaa GUID-merkkijonon ilman väliviivoja. Tämä kaava palauttaa saman GUID-arvon:

GUID( "0f8fad5bd9cb469fa16570867728950e" )

Tässä kontekstissa määritetään uuden tietokantatietueen Tila-kentälle vakiintunut arvo:

Patch( Products, Default( Products ), { Status: GUID( "F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4" ) } )

Et todennäköisesti halua näyttää GUID-tunnuksia käyttäjille, mutta ne voivat auttaa sovelluksen virheenkorjauksessa. Jos haluat näyttää Tila-kentän arvon tietueessa, jonka loit edellisessä esimerkissä, määritä Selite-ohjausobjektin Text-ominaisuudeksi tämä kaava:

First( Products ).Status

Selite-ohjausobjekti näyttää f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4.

GUID-tunnustaulukon luominen

  1. Määritä painikeohjausobjektin OnSelect-ominaisuudeksi tämä kaava:

    ClearCollect( NewGUIDs, ForAll( Sequence(5), GUID() ) )
    

    Tämä kaava luo yksisarakkeisen taulukon, joka toistetaan viisi kertaa, ja tuloksesi saadaan viisi GUID-tunnusta.

  2. Lisää tietotaulukko-ohjausobjekti, määritä sen Items-ominaisuudeksi NewGUIDs ja näytä Arvo-kenttä.

  3. Kun pidät alhaalla Alt-näppäintä, valitse painike napsauttamalla tai napauttamalla sitä.

    Tietotaulukko näyttää GUID-tunnusten luettelon:

    Näyttö, jossa näytetään tietotaulukko, jossa on viisi erilaista GUID-arvoa

  4. Valitse painike uudelleen, jos haluat näyttää eri GUID-tunnusten luettelon:

    Näyttö, jossa näytetään tietotaulukko, jossa on viisi erilaista GUID-arvoa

Luo yksittäinen GUID-tunnus taulukon sijaan tällä kaavalla:

Set( NewGUID, GUID() )