Dataverseen on mahdollista luoda ns. virtuaalitauluja. Niiden sisältö asuu muualla, mutta tauluja voi käyttää Power Platfomin työkaluilla kuten mitä tahansa Dataversen tauluja.

Ja kas, voimme rakentaa model-driven sovelluksen, jossa osa tiedoista on tallennettuna muualle kuin Dataverseen.

Miksi ihmeessä haluaisimme tehdä näin? Tiedothan pitäisi olla Dataversessä syystä x, y ja z. Niin monasti pitäisikin, mutta eivät ne aina ole. Eikä niitä aina ole järkevää Dataverseen siirtää. Esimerkiksi jos

  • Rivejä on niin älyttömästi, että migraatio on työläs (lue kallis)
  • Tietoja käytetään jo useasta eri paikasta (sovellus, raportti, integraatio), jolloin siirto aiheuttaa muutoksia näihin kaikkiin (lue on kallista)

Aiemmin virtuaalitaulujen luominen on ollut varsin hankalaa. Nykyään se käy käden käänteessä. SQL Server, SharePoint ja Excel (älä kysy) tietolähteille.

Tällä kertaa käydään tietenkin läpi, miten tällainen virtuaalitaulu tehdään.

Virtual connectors in Dataverse -asennus

Ensimmäiseksi ympäristöön tulee asentaa AppSourcesta Virtual connectors in Dataverse App. Se mahdollistaa helpon virtuaalitaulujen luonnin.

Asennus on suoraviivaista. Seuraat vain ohjeita.

Sitten odottetaan, että asennus on valmis.

Virtuaalitaulujen lähteen määrittäminen

Luodaan harjoitusta varten ratkaisupaketti (SharePoint Virtual Tables).

Lisätään ratkaisupakettiin uusi yhteysviite (connection reference). Se käyttää SharePoint-liitintä (Connector). Asetetaan sille toimiva yhteys (Connection).

Sitten avataan asetukset (Advanced settings) rattaan takaa.

Ja avautuvasta sivusta edelleen asetukset (Settings) ja hallinta (Administration).

Huh! Täältä pääsee määrittelemään virtuaalitaulujen tietolähteitä (Virtual Entity Datas Sources). Avaataan ne.

Ja valitaan uusi (New).

Valitaan vaihtoehdoista Virtual Connector Data Provider.

Annetaan uudelle Virtual Connector Data Sourcelle nimi (Name) ja valitaan käytettäväksi yhteysviitteeksi (Connection Reference) juuri luomamme yhteysviite. Dataset Value:n arvoksi annetaan SharePoint-sivuston osoite, jonka listoja haluamme käyttää virtuaalitauluina.

Lyhyen odottamisen jälkeen ympäristöömme imestyy uusi taulu (Entity Catalog for käytetyn yhteyden nimi).

Taulun riveinä on Data Provideriin määrittellyn SharePoint-sivuston sisältä löytyvät listat.

Eli sama sisältö kuin täällä.

Nyt meillä on katalogi saatavilla olevista entiteeteistä. Vielä ei ole kuitenkaan ensimmäistäkään virtuaalitaulua luotu.

Virtuaalitaulun luominen

Helpoin tapa luoda uusi virtuaalitaulu, on luoda ensin yksinkertainen model-driven app, jolla muokataan Entity Catalog -taulun rivejä. Tehdään siis sellainen.

Haluamme luoda SharePointin Countries-listasta virtuaalitaulun. Otetaan se muokattavaksi.

Asetetaan Create or Refresh -kentän arvoksi Yes. Tämän jälkeen päästään määrittelemään loput kentät.

  • Taulun avain (Primary key of the Virtual Entity): SharePoint-listalle tämä on aina ID-kenttä.
  • Primary Name kenttä (Primary field of the Virtual Entity): Title-kenttä toimii hyvin.

Tallennetaan muutokset. Muutaman minuutin jälkeen SharePoint-lista ilmestyy taulujen joukkoon.

Kaikki SharePoint-listan sarakkeet löytyvät taulun sarakkeista. Huikeaa!

Mutta aina vain paranee. Kaikki listan rivit näkyvät virtuaalitaulun sisältönä.

Virtuaalitaulun käyttö

Luodaan model-driven sovellus, jolla ylläpidetään maatietoja. Käyttäjä voi tuttuun tapaan suodattaa ja järjestää näkymää sen kenttien avulla.

Voimme muokata maiden tietoja. Aivan kuin ne olisivat Dataversessä.

Mutta kun luomme uuden maan, se ilmestyy samantien SharePoint-listalle.

Ja kun lisäämme uuden maan SharePoint-listalle, se ilmestyy myös Power Appsiin.

Tämän lisäksi tietomallia voi laajentaa Dataversessä. Lisätään maalle kenttä, joka kuvaa sen riskitasoa (Risk level).

Mikä huikeinta, voit tehdä relaatioita virtuaalitaulujen ja tavallisten taulujen välille.

Virtuaaalitaulut ovat luonnollisesti käytettävissä myös flow’ssa.

Sekä canvas Power Appsissa.

Huomioitavaa

Eivät virtuaalitaulut vielä pelkkää onnea ole. Alla muutamia havaintoja.

  • Virtuaalitaulu ei voi olla rollup-kentän kohteena
  • Et voi käyttää Dataversen puolella SharePoint-listan choice-kenttiä. Ne näkyvät lomakkeella oikein, mutta jos ne ovat mukana lomakkeella, tallennus päättyy virheeseen. Tämä on tunnettu (mutta dokumentoimaton) ominaisuus.
  • Mikäli lisäät SharePoint-listaan uusia kenttiä, tulee sinun käynnistää päivitys entiteettikatalogista, jotta saat kentät mukaan myös virtuaalitauluun. En halua edes arvaila miten moni asia voi siinä mennä pieleen.
  • LookUp-kentät sain toimimaan ainoastaan tavallisesta taulusta virtuaalitauluun. Lisättyäni virtuaalitauluun uuden LookUp-kentän (tai ylipäätään uuden kentän, tallennus hajosi.

Lisäksi omassa testissäni model-drivenin maa-listaus suostui sivuttamaan oikein ainoastan 100 ensimmäistä riviä. Tämän jälkeen sivutus hajosi.

Veikkaan että tenantissani on jotain vikaa, joka aiheuttaa nämä ongelmat. Sitä selvitetään Microsoftin toimesta parhaillaan.

Ja tämä on vasta preview-ominaisuus. Kokeilkaa, mutta älkää tuotannossa.