Добавяне на отчет или табло на Power BI към уеб страница в портал
Бележка
- От октомври 2022 г. порталите на Power Apps са Power Pages.
- Тази тема се отнася за наследените възможности. За актуална информация вижте документацията на Microsoft Power Pages.
Съвет
Тази статия обяснява как да добавите Power BI отчет или табло с помощта на powerbi етикет на Liquid. За да добавите Компонент на Power BI на уеб страница във вашия портал, използвайки порталите Studio, отидете на Добавете компонент на Power BI към уеб страница, използваща порталите Studio.
Можете да добавите отчет или табло на Power BI към уеб страница в портал с помощта на етикета powerbi Liquid. Използвайте етикета powerbi
в полето Копиране на уеб страница или в полето Източник на уеб шаблон.
Ако добавяте отчет или табло на Power BI, създадени в новото работно пространство в Power BI, трябва да зададете типа удостоверяване като powerbiembedded в етикета powerbi на Liquid.
Бележка
- Ако сте задали Microsoft Entra ИД като тип удостоверяване в етикета powerbi Liquid, трябва да го споделите с необходимите потребители, преди да добавите защитения Power BI отчет или таблото към уеб страница в портала. Допълнителна информация: Споделяне на работно пространство на Power BI и Споделяне на табло и отчет на Power BI.
- powerbiembedded поддържа Power BI табла за управление и отчети, които се свързват с Azure Analysis Services. Можете също да използвате свойството "customdata" в код на Liquid, за да предадете стойност за CustomData свойство.
- Странирани Power BI отчети не се поддържат.
Например:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}
За да научите как да получите пътя на таблото за управление и идентификационния номер на плочката на таблото, вижте секциите по-долу в тази статия.
Използване на табло за управление или отчет, свързващ се с Azure Analysis Services
Можете да добавите етикет powerbi Liquid с табло за управление или отчет, който се свързва с Услуги за анализ на Azure.
За да добавите табло за управление или отчет, свързващ се с Azure Analysis Services, използвайте CustomData параметър в низа на връзката.
Например:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}
По избор customdata тагът може да бъде конфигуриран като низ или да се генерира динамично въз основа на атрибута на обекта, като се използва точка (".") или квадратни скоби ("[]") за разделяне между обекта и атрибута, между две двойки къдрава скоби.
Примери:
customdata: {{ object.attribute }}
customdata: {{ object[attribute] }}
Тъй като етикетът customdata връща низ, може да се наложи да конвертирате този низ в цяло число в заявката DAX.
Важно
- Порталите не поддържат Power BI табло за управление или отчет, свързващ се с Azure Analysis Services, който използва шлюз за данни, за да се свържете с локален източник на данни.
- Вашата версия на портала трябва да бъде 9.3.4.x или по-нова, за да работи тази функция.
Услуги и роли за анализ на Azure (RLS)
Етикетът роли таг не е задължителен за отчети и табла за управление на Azure Analysis Services. Когато не се използва, ролите по подразбиране са за ролята, на която е присвоено приложението в Azure Analysis Services.
Този етикет обаче може да стане необходим, за да се укаже определена роля (или роли) сред няколко налични роли и все още може да се изисква, когато се използва защита на ниво ред.
Ролите се съдържат в базата данни на Azure Analysis Services, а не в самия отчет, за разлика от други типове отчети на Power BI.
Не предоставя никакви роли в кода на Liquid.
Ако в кода на Liquid не е предоставена никаква роля, ролята на Azure Analysis Services ще се определя от ролите, до които има достъп приложението, и ще филтрира резултатите въз основа на дадените персонализирани данни спрямо заявката DAX в ролите. Тоест, всички налични роли ще комбинират своите достъпи, но все пак ще филтрират, ако предоставените персонализирани данни са от значение. Този сценарий най-често е случаят с отчетите на Azure Analysis Services или таблата за управление с една плочка.
Предоставяне на роли в кода на Liquid.
Ролите на Azure Analysis Services могат да бъдат предоставени в Liquid кода, подобно на ролите на RLS. Използването на тези роли може да се изисква, когато са налични няколко роли, но искате да използвате конкретни роли за страницата. Когато използвате каквито и да е роли в низа на свързване, посочването на ролята на Azure Analysis Services е задължително. Например табла за управление с множество плочки, които използват плочки на Azure Analysis Services с плочки RLS.
Следните съображения се прилагат при използване на плочки на Azure Analysis Services в таблото за управление:
- Ако плочка на Azure Analysis Services се използва в таблото за управление с други плочки, които изискват роли, ролята на Azure Analysis Services трябва да бъде добавена към списъка с роли.
- Могат да се използват множество плочки от различни източници на Azure Analysis Services със собствените им роли, но персонализираните данни трябва да са еднакви за всяка и множество стойности на персонализирани данни не могат да се използват в кода на Liquid. Етикетът customdata таг и customdata параметър за EffectiveIdentity приема само низова стойност.
Получаване на път на табло или отчет
Влезте в Power BI.
Отворете таблото или отчета, които искате да вградите във вашия портал.
Копирайте URL адреса от адресната лента.
Получаване на ИД на плочка на табло
Влезте в Power BI.
Отворете таблото, от което искате да вградите плочка във вашия портал.
Посочете плочката, изберете Повече опциии след това изберете Отваряне в режим на фокус.
Копирайте ИД на плочката от URL адреса в адресната лента. ИД на плочката е стойността след /tiles/.
Как да използвам powerbi-client JavaScript библиотеката в портали
Можете да използвате powerbi-client JavaScript библиотека за отчети или табла за Power BI Embedded управление във вашия портал. За повече информация относно JavaScript библиотеката на powerbi-client вижте Уики за Power BI JavaScript.
По-долу е даден примерен JavaScript за актуализиране на настройките на отчета или за обработка на събития. Тази проба деактивира екрана на филтъра, деактивира навигацията на страницата и активира dataSelected събитие.
Важно
- Използвайте библиотеката на JavaScript на powerbi-client, за да деактивирате или активирате екрана на филтъра. Ако обаче искате да ограничите достъпа до данни или да конфигурирате защитата, използвайте Защита на ниво ред (RLS) с Power BI. Деактивирането на екрана на филтъра не ограничава достъпа до данни и може да бъде активирано отново с помощта на JavaScript библиотечен код.
- JavaScript библиотеката на powerbi-client се поддържа само за PowerBI Embedded flow.
$(document).ready(function () {
var embedContainer = $(".powerbi")[0];
if (embedContainer) {
var report = powerbi.get(embedContainer);
report.on("loaded", function () {
report.updateSettings({
panes: {
filters: {
visible: false
},
pageNavigation: {
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
})
}
});
За да добавите персонализиран JavaScript към уеб страница:
- Отворете приложението за управление на портали.
- Изберете Уеб страници от левия екран.
- Изберете уеб страницата, която съдържа отчет или табло за управление на Power BI.
- Изберете раздел Разширен редактор.
- Копирайте и поставете JavaScript в секцията Персонализиран JavaScript.
- Изберете Записване и затваряне.
Сега, нека разберем примерните операции на JavaScript и различни опции.
Получете препратка към вградения HTML отчет
Получете препратка към вградения HTML отчет.
var embedContainer = $(".powerbi")[0];
Повече информация: Получете препратка към съществуващ Power BI компонент предвид съдържащия елемент
Получете препратка към вградения отчет
var report = powerbi.get(embedContainer);
Работа с екрани на Power BI
Можете да използвате настройките за стъклата, с които да работите в екрани на Power BI на уеб страница на портали. Например можете да използвате настройката на филтрите, за да скриете или покажете прозореца или да работите с настройката за навигация на страницата.
По-долу има пример за премахване на екрана на филтрите:
report.updateSettings({
panes: {
filters :{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
По-долу има пример за работа както с навигация на страници, така и с филтри:
report.updateSettings({
panes: {
filters :{
visible: false
},
pageNavigation:{
visible: false
}
}
}).catch(function (errors) {
console.log(errors);
});
Повече информация: Актуализиране на настройките и Вграждане на конфигурация - Настройки
Управление на събития
Вграденият компонент може да излъчва събития при извикване на завършване на изпълнена команда. Например, по-долу е пример за събитие на dataSelected
.
//Report.off removes a given event listener if it exists
report.off("dataSelected");
//Report.on will add an event list
report.on('dataSelected', function(event){
console.log('Event - dataSelected:');
console.log(event.detail);
})
Повече информация: Обработка на събития
Вижте също
- Добавяне на компонент на Power BI към уеб страница, използваща Студио за портали
- Настройване на интеграция на Power BI
- Етикет powerbi Liquid
Бележка
Можете ли да ни споделите повече за езиковите си предпочитания за документацията? Попълнете кратко проучване. (имайте предвид, че това проучване е на английски език)
Проучването ще отнеме около седем минути. Не се събират лични данни (декларация за поверителност).