Relate- ja Unrelate-funktio
Koskee seuraavia: pohjaan perustuvat sovellukset Mallipohjaiset sovellukset
Liitä tai pura kahden taulukon tietueiden liitos yksi moneen- tai monta moneen -suhteen kautta.
Kuvaus
Relate-funktio linkittää kaksi tietuetta yksi moneen- tai monta moneen -suhteen kautta Microsoft Dataverse. Unrelate-funktio kumoaa prosessin ja poistaa linkin.
Yksi moneen -suhteissa, Moneen-taulukossa on korvaavan avaimen kenttä, joka viittaa Yksi-taulukon tietueeseen. Liitä määrittää tämän kentän osoittamaan tiettyyn Yksi taulukon tietueeseen, kun taas Liitä yhteys määrittää tämän kentän tyhjäksi . Jos kenttä on jo määritetty, kun Relate kutsutaan, aiemmin luotu linkki menetetään uuden linkin hyväksi. Voit myös määrittää tämän kentän käyttämällä Patch-toimintoa tai Edit form -ohjausobjektia – sinun ei tarvitse käyttää Relate-funktiota.
Monta-moneen-suhteissa järjestelmä, joka linkittää tietueet, ylläpitää piilotettua liitostaulukkoa. Et voi käyttää tätä liitostaulukkoa suoraan, sitä voi lukea vain yksi-moneen-projektiolla, joka määritetään Relate- ja Unrelate-funktioiden kautta. Kummallakaan liittyvällä taululla ei ole viiteavainta.
Ensimmäisessä argumentissa määritettävän taulukon tiedot päivittyvät muutoksen mukaan, mutta toisessa argumentissa määrittämääsi taulukon tietoja ei päivitetä. Tiedot on päivitettävä manuaalisesti Refresh-toiminnolla, jotta toiminnon tulos näkyy.
Nämä toiminnot eivät koskaan luo tai poista tietuetta. Ne vain liittävät (tai poistavat liitoksen) kaksi jo olemassa olevaa tietuetta.
Näitä funktioita voidaan käyttää vain toimintakaavoissa.
Muistiinpano
Nämä toiminnot ovat osa esikatselutoimintoa, ja niiden toiminta on käytettävissä vain silloin, kun Suhdetiedot, asetusjoukot ja muut CDS:n uudet ominaisuudet -ominaisuus on käytössä. Tämä on sovellustason asetus, joka on oletusarvon mukaan käytössä uusissa sovelluksissa. Voit etsiä tämän valitsinta valitsemalla Asetukset ja sitten Tulevat ominaisuudet. Palautteesi on meille erittäin arvokasta. Kerro meille mielipiteesi Power Apps-yhteisön keskustelupalstoilla.
Syntaksi
Liitä(Taulukko1LiittyväTaulukko,Taulukko2Tietue )
- Taulukko1LiittyväTaulukko - Pakollinen. Table 1 -tietuetta varten Table 2 -tietueiden taulukko, joka liittyy yksi moneen- tai monta-moneen-suhteen kautta.
- Table2Record - pakollinen. Suhteeseen lisättävä Table2-tietue.
Unrelate(Table1RelatedTable,Table2Record )
- Taulukko1LiittyväTaulukko - Pakollinen. Table 1 -tietuetta varten Table 2 -tietueiden taulukko, joka liittyy yksi moneen- tai monta-moneen-suhteen kautta.
- Table2Record - pakollinen. Suhteesta poistettava Table2-tietue.
Esimerkit
Harkitse Tuote-taulukkoa, jossa on seuraavat suhteet, kuten nähdään Power Apps -portaalin taulukkokatseluohjelmassa:
Suhteen näyttönimi | Liittyvä taulukko | Suhteen tyyppi |
---|---|---|
Tuotevaraus | Varaus | Yksi moneen |
Tuotteen ↔ yhteystiedot | Yhteyshenkilö | Monta moneen |
Tuotteet ja varaukset liittyvät toisiinsa yksi-moneen-suhteen kautta. Voit liittää Varaukset-taulukon ensimmäisen tietueen Tuotteet-taulukon ensimmäiseen tietueeseen:
Relate( First( Products ).Reservations, First( Reservations ) )
Voit poistaa näiden tietueiden välisen suhteen seuraavasti:
Unrelate( First( Products ).Reservations, First( Reservations ) )
Missään vaiheessa ei luotu eikä poistettu tai tietueita, vaan vain tietueiden välinen suhde muokattiin.
Tuotteet ja yhteystiedot liittyvät toisiinsa monta-moneen-suhteen kautta. Voit liittää Yhteyshenkilöt-taulukon ensimmäisen tietueen Tuotteet-taulukon ensimmäiseen tietueeseen:
Relate( First( Products ).Contacts, First( Contacts ) )
Koska monta-moneen-suhteet ovat symmetrisiä, olisimme voineet tehdä tämän myös vastakkaiseen suuntaan:
Relate( First( Contacts ).Products, First( Products ) )
Voit poistaa näiden tietueiden välisen suhteen seuraavasti:
Unrelate( First( Products ).Contacts, First( Contacts ) )
tai:
Unrelate( First( Contacts ).Products, First( Products ) )
Seuraavat toiminnot tekee näissä taulukoissa tarkalleen nämä toiminnot sovelluksella, jossa on Gallery- ja Combo box-ohjausobjektit, kun valitaan kyseiset tietueet.
Nämä esimerkit riippuvat ympäristöön asennetuista näyte tiedoista. Luo joko kokeiluympäristö, jossa on näytetiedot tai lisää näytetiedot aiemmin luotuun ympäristöön.
Yksi moneen
Relate-funktio
Luot ensin yksinkertaisen sovelluksen, jonka avulla voit tarkastella ja delegoida tuotteeseen liittyviä varauksia.
Luo tyhjä tablettisovellus.
Valitse Näytä-välilehdessä Tietolähteet.
Valitse Tiedot-ruudussa Lisää tiedot>Tuotteet.
Tuotteet-taulukko kuuluu yllä ladattuihin näytetietoihin.Lisää tyhjä pystysuora Gallery-ohjausobjekti Lisää-välilehdessä.
Varmista, että juuri lisäämäsi ohjaus objekti on nimeltään Gallery1, ja siirrä sitä ja muuta sen kokoa, jotta se täyttää näytön vasemman reunan.
Määritä Ominaisuudet-välilehdessä Gallery1:n Items-ominaisuudeksi Products ja sen asetteluksi Kuva ja otsikko.
Varmista Gallery1:ssä, että Label-ohjausobjektin nimi on Title1 ja aseta sen Text-ominaisuuden arvoksi ThisItem.Name.
Valitse näyttö, jos haluat välttää seuraavan kohteen lisäämisen Gallery1:een. Lisää toinen tyhjä pystysuora Gallery-ohjausobjekti ja varmista, että sen nimi on Gallery2.
Galleria2 näyttää varaukset mille tahansa tuotteelle, jonka käyttäjä valitsee Galleria1 :ssä.
Siirrä Gallery2 ja muuta sen kokoa , jotta voit täyttää näytön oikean yläneljänneksen.
(Valinnainen) Lisää sininen Label-ohjausobjekti edellä olevaan Gallery2:een, kuten seuraavassa kuvassa näkyy.
Määritä kaavarivillä Gallery2:n Items-ominaisuuden arvoksi Gallery1.Selected.Reservations.
Määritä ominaisuusruudussa Gallery2:n asetteluksi Otsikko.
Lisää Gallery2:ssa Combo box-ohjausobjekti, varmista, että sen nimi on ComboBox1, ja siirrä ja muuta sen kokoa, jotta Gallery2:n muut ohjausobjektit eivät peity.
Määritä Ominaisuudet-välilehdessä ComboBox1:n Items-ominaisuudeksi Products.
Vieritä Ominaisuudet-välilehdessä alaspäin ja aseta ComboBox1:n Allow multiple selection-ominaisuuden arvoksi Ei käytössä.
Määritä kaavarivillä ComboBox1:n DefaultSelectedItems-ominaisuudeksi ThisItem.'Product Reservation'.
Määritä Gallery2:ssa NextArrow2:n OnSelect-ominaisuudeksi kaava:
Relate( ComboBox1.Selected.Reservations, ThisItem )
Kun käyttäjä valitsee tämän kuvakkeen, nykyinen varaus muuttuu tuotteeseen, jonka käyttäjä valitsi ComboBox1-ruudussa.
Testaa sovellus esikatselutilassa painamalla F5-näppäintä.
Tämän sovelluksen avulla käyttäjä voi siirtää varauksen yhdestä tuotteesta toiseen. Jos kyseessä on yhden tuotteen varaus, käyttäjä voi valita toisen tuotteen ComboBox1-ruudussa ja muuttaa varausta valitsemalla NextArrow2.
Irrota yhteys -funktio
Tässä vaiheessa voit siirtää suhteen tietueesta toiseen, mutta et voi poistaa suhdetta kokonaan. Voit katkaista varaustietueen linkin mistä tahansa tuotteesta Unrelate-funktion avulla.
Valitse Näytä-välilehdessä Tietolähteet.
Valitse Tiedot-ruudussa Lisää tietolähde>Microsoft Dataverse>Reservations>Yhdistä.
Määritä Gallery2:ssa NextArrow2:n OnSelect-kaavaksi:
If( IsBlank( ComboBox1.Selected ), Unrelate( Gallery1.Selected.Reservations, ThisItem ), Relate( ComboBox1.Selected.Reservations, ThisItem ) ); Refresh( Reservations )
Kopioi Gallery2 leikepöydälle valitsemalla se ja painamalla Ctrl+C.
Liitä Gallery2-kopio samaan näyttöön painamalla CTRL + V -näppäinyhdistelmää ja siirrä se sitten näytön oikeaan alaneljännekseen.
(Valinnainen) Jos lisäsit otsikon yllä Gallery2:een, toista kaksi edellistä vaihetta kyseisen otsikon kohdalla.
Varmista , että Gallery2-kohteen kaksoiskappaleen nimi on Gallery2_1 ja määritä sitten sen Items-ominaisuudeksi tämä kaava:
Filter( Reservations, IsBlank( 'Product Reservation' ) )
Näkyviin tulee delegointivaroitus, mutta tässä esimerkissä sillä ei ole merkitystä pienellä tietomäärällä.
Näillä muutoksilla käyttäjät voivat tyhjentää yhteyshenkilön ComboBox1-valinnan, jos kyseinen henkilö ei ole varannut tuotetta. Yhteyshenkilöt, jotka eivät ole varanneet tuotetta, näkyvät Gallery2_1:ssä, jossa käyttäjät voivat määrittää kunkin yhteyshenkilön tuotteeseen.
Monta moneen
Luo uusi monta-moneen-suhde
Näytetietoihin ei sisälly monta moneen -suhdetta, mutta sellainen luodaan Tuotteet-taulukon ja Yhteyshenkilöt-taulukon välille. Käyttäjät voivat liittää kunkin tuotteen useampaan kuin yhteen yhteyshenkilöön ja kuhunkin yhteyshenkilöön useamman kuin yhden tuotteen.
Valitse tältä sivulta vasemmanpuoleisesta siirtymispalkista Tiedot ja valitse sitten Taulukot.
Muuta taulukkosuodatinta niin, että se sisältää kaikki taulukot.
Näytetaulukot eivät oletusarvoisesti näy.
Vieritä alaspäin, avaa Tuote-taulukko ja valitse Suhteet.
Valitse Lisää suhde>Monta moneen.
Valitse suhteen yhteyshenkilö-taulukko.
Valitse Valmis>Tallenna taulukko.
Yhteyshenkilöiden ja yhden tai useamman tuotteen välisen yhteyden luominen ja poistaminen
Luot toisen sovelluksen, joka muistuttaa aiemmin tässä aiheessa luomaasi sovellusta, mutta uusi sovellus tarjoaa monta-moneen-suhteen. Kukin yhteys henkilö voi varata useita tuotteita vain yhden sijasta.
Jos kyseessä on tyhjä sovellus taulutietokoneille, luo Gallery1 ensimmäisenä toimenpiteenä tässä aiheessa kuvatulla tavalla.
Lisää toinen tyhjä pystysuora Gallery-ohjausobjekti, varmista, että sen nimi on Gallery2, ja siirrä se sitten näytön oikeaan yläkulmaan.
Myöhemmin tässä aiheessa lisäät Combo box-ohjausobjektin valikoimaanGallery2.
Määritä kaavarivillä Gallery2:n Items-ominaisuuden arvoksi Gallery1.Selected.Contacts.
Määritä Ominaisuudet-välilehdessä asetteluksi Kuva ja otsikko.
Varmista Gallery2:ssä, että Label-ohjausobjektin nimi on Title2 ja aseta sen Text-ominaisuuden arvoksi ThisItem.'Full Name'.
Kyseisessä ohjausobjektissa ei näy tekstiä, ennen kuin olet tehnyt nämä toimet ja määrittänyt yhteyshenkilölle tuotteen.
Poista NextArrow2, lisää Peruuta-kuvake ja varmista, että sen nimi on icon1.
Määritä Peruuta-kuvakkeen OnSelect-ominaisuudeksi seuraava kaava:
Unrelate( Gallery1.Selected.Contacts, ThisItem )
Valitse Näytä-välilehdessä Tietolähteet.
Valitse Tiedot-ruudussa Lisää tietolähde>Microsoft Dataverse>Contacts>Yhdistä.
Lisää Gallery2-kohtaan Combo box-ohjausobjekti, varmista, että sen nimi on ComboBox1, ja määritä sitten sen Items-ominaisuuden arvoksi Contacts.
Määritä Ominaisuudet-välilehdessä Allow multiple selection -ominaisuus pois käytöstä.
Lisää Lisää-kuvake ja määritä sen OnSelect-ominaisuudeksi seuraava kaava:
Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
Tällä sovelluksella käyttäjät voivat nyt yhdistää yhteyshenkilöitä tuotteisiin toisiinsa ja poistaa ne toisistaan.
Jos haluat lisätä yhteyshenkilön tuotteeseen, valitse yhteyshenkilö näytön alareunassa olevasta yhdistelmäruudusta ja valitse sitten Lisää-kuvake.
Jos haluat poistaa yhteyshenkilön jostakin tuotteesta, valitse kyseisen yhteyshenkilön Peruuta-kuvake.
Toisin kuin yksi-moneen, monta-moneen-suhde sallii käyttäjien liittää saman yhteyshenkilön useisiin tuotteisiin.
Käänteisesti: liitä ja poista liitokset tuotteiden ja useiden yhteyshenkilöiden väliltä
Monta-moneen-suhteet ovat symmetrisiä. Voit laajentaa esimerkkiä lisäämällä tuotteita yhteyshenkilöön ja valitsemalla sitten kahden näytön välillä, miten suhde näkyy kummassakin suunnassa.
Määritä OnVisible-ominaisuudeksi kohteessaScreen1 arvo Refresh( Products ).
Kun päivität yksi moneen- tai monta-moneen-suhteen, vain Liitä- tai Pura liittymä -puhelun ensimmäisen argumenttitaulukon tiedot päivitetään. Toinen on päivitettävä manuaalisesti, jos haluat selata tämän sovelluksen näyttöjen välillä.
Monista Screen1.
Kaksoiskappaleen nimeksi tulee Screen1_1 ja sen perusteella tarkastellaan suhteita yhteyshenkilöiden puolelta.
Jos haluat luoda käänteisen näkymän, muuta näitä kaavoja Screen1_1-ohjausobjekteissa:
- Screen1_1.OnVisible =
Refresh( Contacts )
- Gallery1_1.Items =
Contacts
- Title1_1.Text =
ThisItem.'Full Name'
- Label1_1.Text =
"Selected Contact Products"
- Gallery2_1.Items =
Gallery1_1.Selected.Products
- Title2_1.Text =
ThisItem.Name
- Icon1_1.OnSelect =
Unrelate( Gallery1_1.Selected.Products, ThisItem )
- ComboBox1_1.Items =
Products
- Icon2_1.OnSelect =
Relate( Gallery1_1.Selected.Products, ComboBox1_1.Selected )
Tulos näyttää hyvin samanlaiselta kuin edellinen näyttö, mutta se tulee yhteyshenkilöiden puolelta.
- Screen1_1.OnVisible =
Lisää Nuolet ylös ja alas -kuvake ja määritä sen OnSelect-ominaisuuden arvoksi Navigate( Screen1, None ). Tee sama Screen1-näytössä kaavalla Navigate( Screen1_1, None ).
Tässä uudessa näytössä käyttäjät voivat lisätä yhteyshenkilön tuotteeseen ja siirtyä sitten yhteyshenkilöiden näkymään ja nähdä liittyvän tuotteen. Suhteet ovat symmetriset ja ne jaetaan kahden näytön välillä.