Erlazionatu eta Erlazionatu funtzioak
Hauei aplikatzen zaie: Canvas aplikazioei Ereduetan oinarritutako aplikazioei
Lotu eta ez lotu bi taulen erregistroak bat-askoren edo askoren arteko harreman baten bidez.
Deskribapenak
Relate funtzioak bi erregistro lotzen ditu erlazio bat edo asko edo asko eta askoren arteko erlazioak Microsoft Dataverse-n. Unrelate funtzioak prozesua berraztertzen du eta esteka ezabatzen du.
Batetik askorako harremanetarako, Askoren taulak kanpoko gakoen eremua du, Baten taulako erregistroa seinalatzen duena. Erlazionatu eremu hau One taulako erregistro zehatz batera seinalatzeko ezartzen du, eta Unrelate ek eremu hau hutsean ezartzen du.. Eremua dagoeneko ezarrita badago Erlazionatu deitzen da, lehendik dagoen esteka galdu egiten da lotura berriaren alde. Eremu hau ezar dezakezu Patch funtzioa edo Edit form kontrolatzeko; ez duzu erabili behar Relate funtzioa.
Asko eta askoren arteko harremanetarako, erregistroak lotzen dituen sistemak bat egin du ezkutuko batu-taula. Ezin duzu sartzeko taulara zuzenean sartu; bakarreko proiekzio baten bidez soilik irakur daiteke eta sarean barrena Relate eta Unrelate funtzioak. Lotutako taulak ez du atzerriko giltzarik.
Lehenengo argumentuan zehaztutako taularen datuak freskatuko dira aldaketa islatzeko, baina bigarren argumentuan zehazten dituzun taularen datuak ez. Datu horiek eskuz freskatu behar dira Refresh funtzioa eragiketaren emaitza erakusteko.
Funtzio hauek ez dira inoiz erregistro bat sortu edo ezabatzen. Dagoeneko existitzen diren bi erregistroak soilik erlazionatu edo erlazioa kentzen dituzte.
Funtzio horiek barruan bakarrik erabil ditzakezu portaera-formuletan.
Oharra
Funtzio hauek aurrebistako funtzio baten parte dira, eta haien portaera erabilgarri dagoenean bakarrik dago erabilgarri Datu erlazionalak, aukera-multzoak eta CDSrako beste eginbide berriak funtzioa gaituta dago. Aplikazioen ezarpen hau aplikazio berrientzako lehenespenez gaituta dago. Eginbide hau aldatzeko, hautatu Ezarpenak, eta hautatu Datozen eginbideak. Zure iritzia oso baliotsua da guretzat. Mesedez, adierazi iezaguzu zer uste duzun Power Apps komunitateko foroetan.
Sintaxia
Erlazionatu( Taula1 ErlazionatutakoTaula, Taula2Erregistroa )
- Taula1 Erlazionatutako taula - Beharrezkoa. Table1 taularen erregistrorako, Table2 taularen bat-askoren edo askoren arteko harremanen bidez erlazionatutako erregistroak.
- Table2Record - Beharrezkoa. Table2 erregistroa harremana gehitzeko.
Erlazionatu( Taula1 ErlazionatutakoTaula, Taula2Erregistroa )
- Taula1 Erlazionatutako taula - Beharrezkoa. Table1 taularen erregistrorako, Table2 taularen bat-askoren edo askoren arteko harremanen bidez erlazionatutako erregistroak.
- Table2Record - Beharrezkoa. Table2 erregistroa harremanetik kentzeko.
Adibideak
Kontuan hartu Produktuak taula ondorengo erlazio hauekin, Power Apps atariaren taula bistaratzailean ikusi bezala:
Erlazioaren bistaratzeko izena | Erlazionatutako taula | Erlazio mota |
---|---|---|
Produktuaren erreserba | Erreserba | Batetik zenbaitetara |
Produktua ↔ Harremanetarako | Jarri harremanetan | Hainbatetik hainbatera |
Produktuak eta erreserbak Bat-to-Asko harreman baten bidez erlazionatzen dira. Erreserbak taularen lehen erregistroa erlazionatzeko Produktuak taularen lehen erregistroarekin:
Relate( First( Products ).Reservations, First( Reservations ) )
Erregistro horien arteko erlazioa ezabatzeko:
Unrelate( First( Products ).Reservations, First( Reservations ) )
Inoiz ez genuen sortu edo kendu edo erregistro bat, erregistroen arteko erlazioa soilik aldatu zen.
Produktuak eta Kontaktuak Askoren arteko harreman baten bidez erlazionatzen dira. Kontaktuak taularen lehen erregistroa erlazionatzeko Produktuak taularen lehen erregistroarekin:
Relate( First( Products ).Contacts, First( Contacts ) )
Hainbatetik hainbatera motako erlazioak simetrikoak direnez, kontrako norabidean ere egin genezake:
Relate( First( Contacts ).Products, First( Products ) )
Erregistro horien arteko erlazioa ezabatzeko:
Unrelate( First( Products ).Contacts, First( Contacts ) )
bestela:
Unrelate( First( Contacts ).Products, First( Products ) )
Ondorengo ibilaldiak tauletan eragiketa hauek egiten ditu zehazki aplikazio batekin Galeria eta Konbinazio kutxa parte hartzen duten erregistroen hautatzeko kontrolak.
Adibide hauek zure ingurunean instalatzen ari diren laginen datuen araberakoak dira. Edo sortu probako ingurune lagin-datuak barne edo gehitu lagin-datuak lehendik dagoen ingurune batean.
Batetik zenbaitetara
Erlazionatu funtzioa
Lehenik eta behin aplikazio sinple bat sortuko duzu produktu batekin lotutako erreserbak ikusteko eta esleitzeko.
ikusi fitxan, hautatu Datu-iturburuak.
Datuak panelean, hautatu Gehitu datuak> hautatu Produktuak.
Produktuen taula goian kargatutako lagin-datuen zati bat da.Txertatu fitxan, gehitu Galeria kontrol huts bertikala.
Ziurtatu gehitu berri duzun kontrola izendatuta dagoela Gallery1 eta, ondoren, mugitu eta tamaina aldatu pantailaren ezkerraldea betetzeko.
Propietateak fitxan, ezarri Gallery1 eremuaren Elementuak propietatea Produktuak eta bere Diseinua aukeretan Irudia eta izenburua aukeran.
Gallery1 aukeran, ziurtatu Label kontrola Title1 izena duela eta, ondoren, ezarri Testua propietatea ThisItem.Name gisa.
Hautatu pantaila hurrengo elementuan sartu ez dadin Gallery1. Gehitu bigarren Galeria kontrol huts bertikala eta ziurtatu Gallery2 izena duela.
Gallery2 erabiltzaileak aukeratzen duen edozein produkturen erreserbak erakutsiko ditu Galeria1n.
Mugitu eta tamaina aldatu Gallery2 pantailaren goiko eskuineko koadrantea betetzeko.
(aukerakoa) Gehitu Label kontrol urdina Gallery2 gainetik, hurrengo grafikoak erakusten duen moduan.
Formula-barran, ezarri Elementuak propietatea Gallery2 Gallery1.Selected.Reservations gisa.
Propietateen panelean, ezarri Gallery2 aukeraren Diseinua Izenburua gisa.
Gallery2, gehitu Konbinazio-koadroa kontrola, ziurtatu ComboBox1 izena duela eta, ondoren, mugitu eta tamaina aldatu, beste kontrolak blokeatu ez daitezen Gallery2.
Propietateak fitxan, ezarri ComboBox1 aukeraren Elementuak propietatea Produktuak gisa.
Joan Propietateak fitxara eta ezarri ComboBox1 aukeraren Baimendu hainbat hautapen propietatea Desaktibatuta gisa.
Formula-barran, ezarri ComboBox1 aukeraren DefaultSelectedItems propietatea TheItem.'Product Reservation' gisa.
Gallery2 aukeran, ezarri NextArrow2 aukeraren OnSelect propietatea formula honetan:
Relate( ComboBox1.Selected.Reservations, ThisItem )
Erabiltzaileak ikono hau hautatzen duenean, uneko erreserba erabiltzaileak aukeratutako produktuan aldatuko da ComboBox1.
Sakatu F5 aplikazioa Aurrebista moduan probatzeko.
Aplikazio honen bidez, erabiltzaileak erreserba produktu batetik bestera eraman dezake. Produkturen batean erreserba egiteko, erabiltzaileak beste produktu bat aukeratu dezake ComboBox1 eta ondoren hautatu NextArrow2 erreserba hori aldatzeko.
Erlazionatu funtzioa
Puntu honetan, erlazioa erregistro batetik bestera eraman dezakezu, baina ezin duzu erlazioa guztiz kendu. Erabil dezakezu Unrelate edozein funtzio erreserba erregistro bat deskonektatzeko.
ikusi fitxan, hautatu Datu-iturburuak.
Datuak panelean, hautatu Gehitu datu-iturburua>Microsoft Dataverse>Erreserbak>Konektatu.
Gallery2 aukeran, ezarri NextArrow2 aukeraren OnSelect propietatea formula honetan:
If( IsBlank( ComboBox1.Selected ), Unrelate( Gallery1.Selected.Reservations, ThisItem ), Relate( ComboBox1.Selected.Reservations, ThisItem ) ); Refresh( Reservations )
Kopiatu Gallery2 arbelera hautatu eta gero Ktrl-C sakatuz.
Itsatsi Gallery2 kopia bat pantaila berean Ktrl-V sakatuz eta, ondoren, eraman pantailaren behe-eskuin koadrantera.
(aukerakoa) Goiko etiketa gehitu baduzu Gallery2 gainean, errepikatu etiketa horretarako aurreko bi pausoak.
Ziurtatu Gallery2 honen kopia du izena Gallery2_1 eta, ondoren, ezarri bere Elementuak propietatea formula honetan:
Filter( Reservations, IsBlank( 'Product Reservation' ) )
Delegazioen abisua agertzen da, baina ez du axola adibide honetako datu kopuru txikiarekin.
Aldaketa horien bidez, erabiltzaileek aukeraketa garbitu dezakete ComboBox1 kontakturen bat pertsona horrek produktu bat erreserbatu ez badu. Produktu bat erreserbatu ez duten kontaktuak agertzen dira Gallery2_1 erabiltzaileek kontaktu bakoitza produktu bati eslei diezaioketen.
Hainbatetik hainbatera
Sortu hainbatetik hainbatera erlazio berria
Laginaren datuek ez dute askoren arteko erlaziorik, baina bat sortuko duzu Produktuen taularen eta Kontaktuen taularen artean. Erabiltzaileek produktu bakoitza kontaktu bat baino gehiagorekin eta kontaktu bakoitza produktu bat baino gehiagorekin erlaziona dezakete.
Orrialde honetan, hautatu Datuak ezkerreko nabigazio barran eta hautatu Taulak.
Aldatu taulako iragazkia taula guztiak sartzeko.
Berez, lagin-taulak ez dira agertzen.
Joan behera, ireki Produktua taula, eta hautatu Harremanak.
Aukeratu Gehitu erlazioa>Hainbatetik hainbatera.
Aukeratu Kontaktua taula erlazio honetarako.
Hautatu Eginda>Gorde taula.
Erlazionatu eta kendu kontaktuen erlazioa produktu batekin edo gehiagorekin
Gai honetan lehen sortutakoarekin antza duen beste aplikazio bat sortuko duzu, baina aplikazio berriak Hainbatetik hainbatera erlazio bat eskainiko ditu. Kontaktu bakoitzak produktu bakarra erreserbatu ahal izango du.
Tabletetarako aplikazio huts batean, sortu Gallery1 lehen prozedura gisa gai honetan deskribatzen da.
Gehitu beste Galeria kontrol huts bertikala, ziurtatu Gallery2 izena duela eta, ondoren, eraman pantailaren goiko eskuineko izkinan.
Geroago gai honetan, gehitu egingo duzu Combo box kontrola Gallery2 aukeran.
Formula-barran, ezarri Gallery2 aukeraren Elementuak propietatea Gallery1.Selected.Contacts gisa.
Propietateak fitxan, ezarri Diseinua Irudia eta izenburua aukeran.
Gallery2 aukeran, ziurtatu Label kontrola Title2 izena duela eta, ondoren, ezarri Testua propietatea ThisItem.'Full Name' gisa.
Kontrol horretan ez da testurik agertuko prozedura amaitu eta produktu bati kontaktua esleitu arte.
Ezabatu NextArrow2 , sartu Utzi ikonoa eta ziurtatu icon1 izena duela.
Ezarri Utzi ikonoaren OnSelect propietatea formula honetan:
Unrelate( Gallery1.Selected.Contacts, ThisItem )
ikusi fitxan, hautatu Datu-iturburuak.
Datuak panelean, hautatu Gehitu datu-iturburua>Microsoft Dataverse>Kontaktuak>Konektatu.
Gallery2 aukeran, gehitu Combo box kontrola, ziurtatu ComboBox1 izena duela eta, ondoren, ezarri bere Elementuak propietatea Kontaktuak aukeran.
Propietateak fitxan, ezarri Baimendu hainbat hautapen Desaktibatuta gisa.
Txertatu Gehitu ikonoa eta ezarri OnSelect propietatea formula honetan:
Relate( Gallery1.Selected.Contacts, ComboBox1.Selected )
Aplikazio honekin, erabiltzaileek kontaktu multzo bat askatasunez erlazionatu eta erlazioa ken dezakete produktu bakoitzarekin.
Produktu bati kontaktua gehitzeko, hautatu kontaktua pantailaren behealdeko konbinazio koadroan eta, ondoren, hautatu Gehitu ikonoa.
Produktu bateko kontaktua kentzeko, hautatu kontaktu horren Utzi ikonoa.
Batetik hainbatera ez bezala, hainbatetik hainbatera erlazioak erabiltzaileek kontaktu bera produktu anitzekin lotzeko aukera ematen du.
Alderantziz: kontaktu ugariak dituzten produktuak erlazionatu eta ez lotu
Hainbatetik hainbatera erlazioak simetrikoak dira. Adibidea hedatu dezakezu kontaktuak produktuak gehitzeko eta ondoren bi pantailetara pasatu erlazioa norabide batetik nola agertzen den erakusteko.
Ezar ezazu OnVisible propietatea Screen1 aukerakoa Freskatu (Produktuak).
Bat-askoren edo askoren arteko harreman bat eguneratzen duzunean, fitxategiaren lehen argumentu taulako Erlazionatu edo Kendu erlazioa deiaren datuak freskatzen dira. Bigarrena eskuz freskatu behar da aplikazio honen pantailetan irauli nahi baduzu.
Bikoiztu Screen1.
Bikoiztua Screen1_1 izendatuko da eta harremanen ikuspegitik erlazioak aztertzeko oinarria.
Alderantzizko ikuspegia sortzeko, aldatu formula hauek kontrolen gainean Screen1_1:
- 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 )
Emaitza aurreko pantailaren oso antzekoa izango da, baina harremana izango du Kontaktuak aukeran.
- Screen1_1.OnVisible =
Sartu Geziak behera ikonoa eta ezarri OnSelect propietatea Nabigatu (Screen1, Bat ere ez) aukeran. Gauza bera egin Screen1 formularekin Nabigatu (Screen1_1, Bat ere ez).
Pantaila berri honekin, erabiltzaileek produktu bati kontaktua gehitu diezaiokete eta kontaktuen ikuspegira jo dezakete eta horrekin lotutako produktua ikusteko. Erlazioak simetrikoak dira eta bi pantailen artean partekatzen dira.