Ugradnja izvješća usluge Power BI u glavni obrazac aplikacije stvorene prema modelu
Napomena
Na snazi od studenog 2020.:
- Common Data Service preimenovan je u Microsoft Dataverse. Saznajte više
- Neka je terminologija u usluzi Microsoft Dataverse ažurirana. Na primjer, sada je entitet preimenovan u tablica, a polje u stupac. Saznajte više
Ovaj će se članak uskoro ažurirati kako bi sadržavao najnoviju terminologiju.
Izvješća usluge Power BI možete upotrebljavati u aplikacijama stvorenim prema modelu platforme Power Apps kako biste glavnim obrascima omogućili opsežna izvješća i analize što će korisnicima pružiti više mogućnosti. Tako se omogućuje prikupljanje podataka iz više sustava i njihova prilagodba kontekstu pojedinačnog zapisa.
Preduvjeti
Ugradnja sadržaja usluge Power BI dodatna je značajka koja je prema zadanim postavkama onemogućena u svim okruženjima. Kako biste ugradili sadržaj usluge Power BI, najprije je morate omogućiti. Dodatne informacije: Omogućivanje vizualnih prikaza usluge Power BI u tvrtki ili ustanovi.
Za tu je značajku potreban izvoz rješenja uz modifikaciju radi dodavanja xml isječka te ponovni uvoz u okruženje. Promjene u ciljno okruženje uvozite isključivo putem upravljanog rješenja. Smjernice o instaliranju ažuriranja za postojeće upravljano rješenje potražite u članku Uvoz, ažuriranje i izvoz rješenja.
Ugradnja bez kontekstnog filtriranja
Izvješća i pločice usluge Power BI možete koristiti tako da ih jednostavno ugradite i dobit ćete potpuno isto izvješće. To ne uključuje njihovo kontekstualiziranje u trenutni obrazac na temelju modela, pa stoga dobivate isto izvješće ili pločicu za sve zapise tablice. Tako je, primjerice, u sljedećem izvješću prikazana geografska lokacija svih kupaca odjednom, što je korisno za prikaz podataka u sažetku.

Možete prilagoditi XML sections čvor glavnog obrasca tako da može hostirati ugrađeno Power BI izvješće i pločicu slijedeći ove korake:
U svom razvojnom okruženju stvorite rješenje i dodajte tablicu koja sadrži glavni obrazac u koji želite ugraditi Power BI izvješće za prikaz.
- Ako tablica već postoji u ciljnom okruženju u koje ćete uvesti rješenje, odaberite mogućnost Odabir komponenti kada tablicu dodate rješenju. Zatim dodajte samo glavni obrazac tablice.
- Ako tablica ne postoji u ciljnom okruženju u koje ćete uvesti rješenje, odaberite mogućnost Uključivanje svih komponenti kada tablicu dodate rješenju.
Izvezite rješenje kao upravljano.
Izdvojite sve datoteke u zip datoteci paketa rješenja. Zatim uredite datoteku customizations.xml i dodajte XML kod u nastavku u
<sections>blok koji se nalazi unutar čvora<forms type="main">u datoteci customizations.xml.
<section id="{d411658c-7450-e1e3-bc80-07021a04bcc2}" locklevel="0" showlabel="true" IsUserDefined="0" name="tab_4_section_1" labelwidth="115" columns="1" layout="varwidth" showbar="false">
<labels>
<label languagecode="1033" description="Unfiltered Power BI embedding demo"/>
</labels>
<rows>
<row>
<cell id="{7d18b61c-c588-136c-aee7-03e5e74a09a1}" showlabel="true" rowspan="20" colspan="1" auto="false" solutionaction="Added">
<labels>
<label languagecode="1033" description="Accounts (Parent Account)"/>
</labels>
<control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
<parameters>
<PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
<PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
<TileUrl>https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
</parameters>
</control>
</cell>
</row>
<row/>
</rows>
</section>
Važno
Obavezno upotrijebite kontrolu classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" kao što je naznačeno u uzorku XML-a.
- Unesite sljedeće promjene u XML obrasca koji ste kopirali u datoteku customizations.xml za svoje Power BI izvješće. Ova tablica opisuje vrijednosti koje trebate promijeniti elementima u prethodnom XML uzorku.
| Svojstvo | Opis |
|---|---|
| PowerBIGroupId | ID Power BI radnog prostora. Ako je vaše izvješće u odjeljku Moj radni prostor, tada je ID radnog prostora 00000000-0000-0000-0000-000000000000. U protivnom dodajte ID radnog prostora. ID radnog prostora možete pronaći u URL-u usluge Power BI. Dodatne informacije: Pronalaženje ID-ova radnog prostora i izvješća usluge Power BI. |
| PowerBIReportId | ID izvješća usluge Power BI. To zamijenite izvješćem koje želite ugraditi. ID vašeg izvješća možete pronaći u URL-u usluge Power BI. Dodatne informacije: Pronalaženje ID-ova radnog prostora i izvješća usluge Power BI |
| TileUrl | Izvješća ili pločice URL adrese usluge Power BI koje želite ugraditi. Pripazite na upotrebu odgovarajućeg naziva poddomene usluge Power BI (možda ćete morati zamijeniti app.powerbi.com vlastitom) i ID-a izvješća (zamijenite reportId=544c4162-6773-4944-900c-abfd075f6081 vlastitim). Na primjer, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081. |
| solutionaction="Added" | Ako tablica već postoji u ciljnom okruženju, ostavite parametar solutionaction=Added za ćelijski element kako je navedeno u XML uzorku. Ako tablica ne postoji u ciljnom okruženju, uklonite parametar solutionaction=Added. |
- Izradite zip datoteku od svih prethodno izdvojenih datoteka rješenja. Potom uvezite rješenje u ciljno okruženje.
Ugradnja s kontekstnim filtriranjem
Izvješća i pločice usluge Power BI možete učiniti smislenijima tako da na postojeći obrazac stvoren prema modelu primijenite kontekstne filtre da bi se izvješće ili pločica filtrirali na temelju atributa trenutnog retka. Tako je, primjerice, filtriranjem izvješća usluge Power BI prema nazivu kupca u sljedećem izvješću prikazana geografska lokacija kupca. Tako se na pojedinačnom izvješću mogu prikazati kontekstni podaci za sve retke tablice.

Filtriranje se provodi dodavanjem elementa <PowerBIFilter> u blok <parameter> kao što je ovdje prikazano. Za izradu izraza filtra možete koristiti bilo koji atribut tablice obrasca. Dodatne informacije: u članku Izrada filtara opisan je način izrade vlastitih filtara.
<control id="filteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
<parameters>
<PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
<PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
<TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
<PowerBIFilter>{"Filter": "[{\"$schema\":\"basic\",\"target\":{\"table\":\"My Active Accounts\",\"column\":\"Account Name\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "name"}}</PowerBIFilter>
</parameters>
</control>
Primijetit ćete da je ovdje upotrijebljena ista kontrola kao i za ugradnju nefiltriranog izvješća te stoga ID klase kontrole ostaje nepromijenjen.
U ovoj su tablici opisana sva dodatna svojstva upotrijebljena u prethodnom XML uzorku.
| Svojstvo | Opis |
|---|---|
| PowerBIFilter | Izraz za filtriranje koji stavlja u kontekst izvješće usluge Power BI prosljeđivanjem atributa obrasca kao parametara. Da bi se povećala čitljivost, filtar je izrađen kao što je ovdje prikazano. Izraz filtra ne može biti popis vrijednosti odvojen zarezom. |
{
"Filter": "[{
\"$schema\":\"basic\",
\"target\":{
\"table\":\"My Active Accounts\",
\"column\":\"Account Name\"
},
\"operator\":\"In\",
\"values\":[$a, $b],
\"filterType\":1
}]",
"Alias": {
"$a": "firstname",
"$b":"lastname"
}
}
Ciljni dio prethodnog izraza identificira tablicu i stupac na koji se filtri primjenjuju. Operator identificira logiku, a vrijednosti identificiraju podatke proslijeđene iz aplikacije usmjerene modelu platforme Power Apps. Radi općenite izrade parametara vrijednosti se konstruiraju prema pseudonimu. U prethodnom se izrazu prosljeđuju vrijednosti kupčeva imena i prezimena i svaka se od njih pretražuje u stupcu Naziv kupca u izvješću usluge Power BI. Imajte na umu da su firstname i lastname jedinstveni nazivi atributa tablice računa čija se vrijednost ovdje prosljeđuje.
Da biste stvarali složenije izraze za filtriranje, pogledajte primjere u članku Izrada filtara te upotrijebite odgovarajuće vrijednosti za parametre $schema i filterType. Obavezno izbjegnite svaku doslovnu vrijednost znakom " da bi se JSON pravilno generirao.
Uklanjanje nepromijenjenog atributa prije uvoza
Prije nego što uvezete rješenje u ciljno okruženje, provjerite kako nepromijenjeni atribut ne bi bio uključen u odjeljak formXml datoteke customizations.xml. Ako je nepromijenjeni atribut prisutan u XML-u koji uključuje XML kontrolu sustava Power BI, uklonite atribut prije nego što rješenje uvezete u ciljno okruženje. Na primjer, zamijenite <systemform unmodified="1"> s <systemform>.
Pronalaženje ID-ova radnog prostora i izvješća usluge Power BI
- ID radnog prostora za ovaj primjer je efc85277-2bdb-47bc-9762-363f64335108.
- ID izvješća za ovaj primjer je 643ab643-7126-4a57-bd82-ca8f1fb676fc.
Poznati problemi i ograničenja
Ta je integracija dostupna samo u klijentu objedinjenog sučelja, na podržanim web-preglednicima i mobilnim uređajima.
Ako taj obrazac otvorite u alatu za dizajniranje obrazaca platforme Power Apps, kontrola se neće smisleno prikazati. Razlog je to što je kontrola prilagođena izvan alata za dizajniranje obrazaca.
Autentičnost korisnika automatski se provjerava u usluzi Power BI s pomoću korisničkog imena i lozinke za platformu Power Apps. Ako račun za uslugu Power BI s podudarnim vjerodajnicama ne postoji, prikazuje se upit za prijavu kao što je prikazano ovdje.

Ako se za prijavu u uslugu Power BI upotrijebi netočan račun, neće se prikazati nikakvi podaci. Da biste se prijavili s odgovarajućim vjerodajnicama, odjavite se, a zatim se ponovno prijavite.


Prikaz podataka izvješća unutar platforme Power Apps jednak je onome u usluzi Power BI, a sigurnosne uloge i ovlasti platforme Power Apps ne utječu na prikazane podatke. Stoga su podaci zapravo jednaki onima koji bi se prikazivali autoru skupa podataka u usluzi Power BI. Kako biste primijenili ograničenja pristupa podacima slična sigurnosnim ulogama i timovima platforme Power Apps, upotrijebite Sigurnost na razini retka (RLS) s pomoću usluge Power BI.
Ako se nakon uvoza rješenja i objave prilagodbi u obrascu ne prikazuje izvješće usluge Power BI, otvorite obrazac u alatu za uređivanje obrasca stvorenog prema modelu i spremite ga kako bi se obrazac JSON ponovno generirao.
Česti problemi
- ID grupe nije naveden u čvoru
TileUrlparametara kontrole kada bi to moglo biti potrebno. Ovaj primjer uključuje ID grupe.
<parameters>
<PowerBIGroupId>fd266a4c-9a02-4553-9310-80e05ee844f3</PowerBIGroupId>
<PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
<TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081&groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
- Polja imaju različite vrste podataka na usluzi PowerBI i platformi Dataverse. Moraju biti iste vrste, poput niza na usluzi Power BI i na platformi Dataverse.
- Polja nizova nemaju izbjegnute navodnike u filtru usluge Power BI. U nastavku, napomena
valuesima[\"$a\"]umjesto[$a].
{
"Filter": "[{
\"$schema\":\"basic\",
\"target\":{
\"table\":\"My Active Accounts\",
\"column\":\"Account Name\"
},
\"operator\":\"In\",
\"values\":[\"$a\"],
\"filterType\":1
}]",
"Alias": {
"$a": "name",
}
}