Вграждане отчет на Power BI в основен формуляр на приложение, управлявано от модел
Можете да използвате отчети на Power BI в приложения, управлявани от модели, на Power Apps, за да внесете обогатени отчети и анализи в овните си формуляри и да дадете възможност на потребителите си да постигнат повече. Това отключва силата да събирате данни между системи и да ги приспособявате към контекста на единичен запис.
Предварителни изисквания
Вграждането на съдържание на Power BI е опционална функция и по подразбиране е забранена във всички среди. Трябва да я активирате, преди да можете да вградите съдържание на Power BI. Повече информация: Разрешаване Power BI на визуализации в организацията.
Тази функция изисква експортиране на решение, модифицирането му, за да замени XML фрагмента, и след това импортиране обратно в средата. Не забравяйте да импортирате промените във вашата среда за разработка само чрез незавършено решение. Отидете на Импортиране, актуализиране и експортиране на решения за указания относно инсталирането на актуализация на съществуващо незавършено решение.
Вграждане без контекстуално филтриране
Можете да използвате отчетите на Power BI, като ги вградите, и да получите същия отчет. Това не включва тяхното контекстуализиране към текущата формулирана от модела и следователно получавате същия отчет или плочка за всички записи на таблицата. Следният отчет например показва географското местоположение на всички клиенти наведнъж и е полезен да показва обобщена информация.
Можете да персонализирате XML controls
възел на основен формуляр, така че да може да хоства вграден Power BI отчет и плочка, като изпълните следните стъпки:
Във вашата среда за разработка създайте решение и добавете таблицата, която съдържа основната форма, където искате да вградите Power BI доклад за показване. Изберете опцията Избор на компоненти , когато добавяте таблицата към решението. След това добавете само основния формуляр на таблицата.
Редактирайте основния формуляр на таблицата във вашето решение и добавете подмрежа в контейнер, където искате да вградите отчета Power BI си.
- Актуализирайте етикета и името на вашата подмрежа в разработчика на формуляри.
Експортирайте решението като неуправлявано и извлечете всички файлове в zip файла на пакета на решението. След това редактирайте файла customizations.xml и намерете името на вашата подмрежа. Заменете XML кода, предоставен в блока
<control>
във файла customizations.xml. Вrowspan
родителскияcell
възел може да се коригира, за да се промени размерът на вградения Power BI отчет.<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>
Важно
Не забравяйте да използвате контролата
classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}"
, както е посочено в XML примера.- Направете следните промени във XML на формуляра, който сте копирали във файла customizations.xml за вашия Power BI доклад. Тази таблица описва стойностите, които трябва да промените към елементите в предишната XML извадка.
Свойство Описание PowerBIGroupId ИД на работна област на Power BI. Ако отчетът ви е в Моята работна област, тогава ИД на работната област е 00000000-0000-0000-0000-000000000000. В противен случай добавете ID на работното пространство. Можете да намерите идентификатора на работното пространство в URL адреса на услугата Power BI. Повече информация: Намерете Power BI работното пространство и отчетете идентификаторите. PowerBIReportId ИД на отчета на Power BI. Заместете това с отчета, който искате да вградите. Можете да намерите идентификационния номер на вашия отчет в URL адрес на услугата Power BI. Повече информация: Намиране на Power BI работното пространство и отчет за идентификаторите TileUrl адрес URL адресът на отчет на Power BI, които искате да вградите. Уверете се, че използвате правилното Power BI име на поддомейн (може да се наложи да замените app.powerbi.com със своето) и идентификационния номер на отчета (заменете reportId=544c4162-6773-4944-900c-abfd075f6081 с вашия). Например, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081
.- Направете следните промени във XML на формуляра, който сте копирали във файла customizations.xml за вашия Power BI доклад. Тази таблица описва стойностите, които трябва да промените към елементите в предишната XML извадка.
Създайте zip файл от всички предварително извлечени файлове с решение. След това импортирайте решението в средата за разработка.
Вграждане с контекстуално филтриране
Можете да създавате отчети на 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>
Обърнете внимание, че това използва същата контрола като вграждането на нефилтрирани отчети и следователно ИД на клас на контрола остава непроменен.
Тази таблица описва всички допълнителни свойства, използвани в предишния 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. За да бъдат параметризирани по генеричен начин, стойностите са изградени чрез псевдоними. В предишния израз се предават стойността на собственото и фамилното име на акаунта и всяка от тях се търси в колоната Имена акаунт в отчета Power BI . Имайте предвид, че собственото и фамилното име са уникалните имена на атрибутите на таблицата на акаунта, чиято стойност ще бъде предадена тук.
Можете да създадете по-сложни изрази за филтриране, като разгледате примери от Конструиране на филтри и предоставите подходящите стойности за $schema и filterType. Уверете се, че сте избягали от всеки литерал в частта на филтъра с помощта на ", така че JSON да се генерира правилно.
Намерете работно пространство на Power BI и идентификатори на отчети
- Идентификаторът на работното пространство за този пример е efc85277-2bdb-47bc-9762-363f64335108.
- Идентификаторът на отчет за този пример е 643ab643-7126-4a57-bd82-ca8f1fb676fc.
Известни проблеми и ограничения
Тази интеграция е достъпна само в клиента на Унифициран интерфейс, на поддържаните браузъри и мобилни устройства.
Отваряне на този формуляр в разработчика за формуляри на Power Apps няма да показва контролата по уместен начин. Това е, защото контролата е персонализирана извън разработчика за формуляри.
Потребителите ще бъдат удостоверени за Power BI автоматично с тяхното потребителско име и парола за Power Apps. Ако даден акаунт в 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 отчет, принадлежащ на клиента на Contoso, в приложение, управлявано от модел, принадлежащо на клиента на Fabrikam, в момента не се поддържа, дори ако вграденият отчет е споделен с потребители в клиента на Fabrikam чрез Power BI.
Фиксираните отчети като част от Power BI таблата за управление не са предназначени да бъдат интерактивни. Ако искате да имате интерактивни Power BI отчети, вградете ги директно, вместо да ги закачате на табло за управление.
Обичайни проблеми
- ИД на групата не е посочен
TileUrl
във възела на контролните параметри, когато може да се наложи. Този пример включва ИД на група.
<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>
- Полетата имат различни типове данни в 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 от модел