Делите путем


Уградња Power BI извештаја у главни образац апликације засноване на моделу

Важно

Постоји бољи начин да додате Power BI извештај у образац апликације засноване на моделу. Још информација: Коришћење контроле Power BI извештаја за додавање извештаја

Можете да користите Power BI извештаје у Power Apps апликацијама заснованим на моделу да бисте донели богато извештавање и аналитику у главне обрасце и омогућили корисницима да постигну више. Ово откључава моћ обједињавања података широм система у да их прилагођавате контексту једног записа.  

Предуслови

Уграђивање Power BI садржаја је опционална функција и подразумевано је онемогућена у свим окружењима. Морате да је омогућите пре него што можете да уграде Power BI садржај. Још информација: Омогућавање Power BI визуелизација у организацији.

Ова функција захтева извоз решења, његову измену ради додавања xml исечка, а затим њен поновни увоз у окружење. Обавезно увезите промене у циљно окружење само путем комплетног решења. Погледајте Увоз, исправка и извоз решења за смернице о инсталирању исправке постојећег комплетног решења.

Уградња без контекстуалног Филтерирања

Можете да користите Power BI извештаје тако што ћете их уградити и добити потпуно исти извештај. То не укључује њихово контекстуализовање у тренутни образац заснован на моделу, па стога добијате исти извештај у свим записима табеле. На пример, следећи извештај приказује географску локацију свих пословних контаката одједном и користан је за приказивање резимираних информација.

Уграђени Power BI извештај без контекстуалног филтрирања.

Можете прилагодити XML чвор sections главног обрасца тако да може да хостује уграђени Power BI извештај и плочицу ако следите ове кораке:

  1. У свом развојном окружењу креирајте решење и додајте табелу која садржи главни образац у који желите да буде уграђен Power BI извештај за приказ.

    • Ако табела већ постоји у циљном окружењу у које увозите решење, одаберите опцију Избор компоненти када додате табелу у решење. Затим додајте само главни образац табеле.
    • Ако табела не постоји у циљном окружењу у које увозите решење, одаберите опцију Укључи све компоненте када додате табелу у решење.
  2. Извезите решење као комплетно.

  3. Распакујте све датотеке у ZIP датотеку пакета решења. Затим уредите датотеку customizations.xml и додајте доњи XML кôд у блок <sections> који се налази унутар чвора <forms type="main"> у датотеци 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>

Важно

Обавезно користите контролу classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" као што је наведено у пробном XML-у.

  1. Направите следеће промене у XML-у обрасца који сте копирали у датотеку customizations.xml за Power BI извештај. Ова табела описује вредности које треба да промените у елементе у претходном XML узорку.
Својство Опис
PowerBIGroupId ID Power BI радног простора. Ако је извештај у мом радном простору, ** онда је ИД радног простора 00000000-0000-0000-0000-000000000000. У супротном, додајте ID радног простора. ID радног простора можете пронаћи у URL адреси Power BI услуге. Још информација: Пронађите ID-ове Power BI радног простора и извештаја.
PowerBIReportId ID Power BI извештаја. Замените ово са извештајем који желите да уградите. ID вашег извештаја можете пронаћи у URL адреси Power BI услуге. Још информација: Пронађите ID-ове Power BI радног простора и извештаја
TileUrl URL адреса Power BI извештаја које желите да уградите. Обавезно користите тачан назив Power BI поддомена (можда ћете морати да замените app.powerbi.com сопственим) и ID извештаја (замените reportId=544c4162-6773-4944-900c-abfd075f6081 сопственим). На пример, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.
solutionaction="Added" Ако табела већ постоји у циљном окружењу, оставите параметар solutionaction=Added за ћелијски елемент како је дато у XML узорку. Ако табела не постоји у циљном окружењу, уклоните параметар solutionaction=Added.
  1. Направите ZIP датотеку од свих претходно распакованих датотека решења. Затим увезите решење у циљно окружење.

Уградња са контекстуалним Филтерирањем

Можете да правите смисленије Power BI извештаје тако примењујући контекстуалне филтере на тренутни образац заснован на моделу, тако да се извештај филтрира на основу атрибута тренутног реда. На пример, следећи извештај приказује географску локацију пословног контакта, Филтерирањем Power BI извештаја коришћењем имена пословног контакта. То омогућава да један извештај приказује контекстуализоване информације за све редове табеле.

Уграђени Power BI извештај са контекстуалним филтрирањем.

Филтерирање се обавља додавањем <PowerBIFilter> елемента у <parameter> блок као што је приказано овде. Можете да користите било који атрибут из табеле обрасца да бисте направили израз филтера. Још информација: Прављење филтера да бисте разумели како да креирате сопствене филтере.

<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\":\"table_name_of_power_bi_dataset\",\"column\":\"power_bi_field\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "field_name_in_powerapps_to_filter"}}</PowerBIFilter>
    </parameters>
</control>

Имајте у виду да то користи исту контролу као уграђивање извештаја без филтера, па стога ID класе контроле остаје непромењен.

Ова табела описује сва додатна својства која су коришћена у претходном XML примеру.

Својство Опис
PowerBIFilter Израз филтера који контекстуализује Power BI извештај преношењем атрибута обрасца као параметара. Да би било читљивије, филтер је направљен као што је приказано овде. Израз за филтер не може бити листа вредности раздвојена зарезима.
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[$a, $b],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field1_name_in_powerapps_to_filter",
                    "$b":"field2_name_in_powerapps_to_filter"
            }
    }

Циљни део претходног израза идентификује табелу и колону на које се примењују филтери. Оператор идентификује логику, док вредности идентификују податке прослеђене из Power Apps апликације засноване на моделу. Да бисте задавали параметре на генерички начин, вредности су направљени давањем алијаса. У претходном изразу, прослеђује се вредност firstname и lastname за пословни контакт, а било који од њих се претражује у колони Име пословног контакта Power BI извештаја. Имајте у виду да су firstname и lastname јединствена имена атрибута табеле пословног контакта, чије вредности ће бити прослеђене овде.

Можете да креирате сложеније изразе филтера посматрањем примера из чланака Прављење филтера и обезбеђивањем одговарајућих вредности за $schema и filterType. Обавезно избегните сваки литерал у делу филтера који користи ", тако да JSON буде исправно генерисан.

Уклањање неизмењеног атрибута пре увоза

Пре него што увезете решење у циљно окружење, проверите да није модификовани атрибут укључен у одељак formXml датотеке customizations.xml. Ако је неизмењени атрибут присутан у XML-у који укључује XML Power BI контроле, уклоните атрибут прије него што увезете решење у циљно окружење. На пример, замените <systemform unmodified="1">са <systemform>.

Пронађите ID-ове Power BI радног простора и извештаја

  1. ID радног простора за овај пример је efc85277-2bdb-47bc-9762-363f64335108.
  2. ID извештаја за овај пример је 643ab643-7126-4a57-bd82-ca8f1fb676fc. ID Power BI радног простора и ID примера извештаја

Познати проблеми и ограничења

  • Ова интеграција је доступна само у клијенту обједињеног интерфејса, на подржаним веб-прегледачима и мобилним уређајима.

  • Отварање овог обрасца у Power Apps дизајнеру образаца неће приказати контролу на смислен начин. Разлог томе је зато што је контрола прилагођена изван дизајнера обрасца.

  • Идентитет корисника за Power BI ће бити потврђен аутоматски путем њиховог Power Apps корисничког имена и лозинке. Ако Power BI налог са подударним акредитивима не постоји, порука за пријављивање ће бити приказана као што је наведено овде.

    Power BI Захтев за пријаву

    Неће бити приказани никакви подаци ако се нетачни пословни контакт користи за пријаву на Power BI. Да бисте се пријавили помоћу тачних акредитива, одјавите се, а затим се поново пријавите.

    Пријавите се у услугу Power BI.

    Корисник који је пријављен нема одговарајућу дозволу.

  • Приказ података извештаја приказаних унутра Power Apps је исти као и безбедносне Power BI Power Apps улоге и привилегије не утичу на приказане податке. Стога, подаци су у основи исти као и које би аутор Power BI скупа података видео. Да бисте применили ограничења у приступу подацима сличним Power Apps безбедносним улогама и тимовима, користите Безбедност на нивоу реда (RLS) са услугом Power BI.

  • Ако образац не приказује Power BI извештај након увоза решења и објављивања прилагођавања, отворите га у уређивачу образаца заснованог на моделу и сачувајте га, тако да се JSON образац поново генерише.

  • Уграђивање Power BI плочице у образац је подржано само без контекстуалног филтрирања.

  • Уграђивање Power BI извештаја не подржава унакрсне референце закупаца. На пример, покушај да се угради Power BI извештај који припада закупцима Контоса у апликацију са моделима која припада закупца Фабрикама тренутно није подржан, чак и ако је извештај који се уграђује дељен са корисницима у закупца Фабрикама путем Power BI.

  • Закачени извештаји као део Power BI контролних табли не треба да буду интерактивни. Ако желите да имате интерактивне Power BI извештаје, угнесите их директно уместо да их прикачите на контролну таблу.

Уобичајена питања

  • ИД групе није наведен у TileUrl чмаку параметара контроле када ће можда морати да буде. Овај пример укључује ID групе.
<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&amp;groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
  • Поља имају различите типове података у услугама Power BI и Dataverse. Морају бити истог типа, као што је ниска у уалузи Power BI и ниска у услузи Dataverse.
  • Поља низа немају изостављене наводнике у Power BI филтеру. Обавештење values има [\"$a\"] пре него [$a].
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[\"$a\"],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field_name_in_powerapps_to_filter",
            }
    }

Погледајте и

Уградња Power BI контролне табле у Power Apps личну контролну таблу засновану на моделу

Коришћење услуге Power BI са Dynamics 365 апликацијама

Напомена

Можете ли нам рећи о својим жељеним поставкама језика у документацији? Испуните кратку анкету. (имајте на уму да је ова анкета на енглеском језику)

Анкета ће трајати око седам минута. Не прикупљају се лични подаци (изјава о приватности).