Додавання звіту Power BI або приладної дошки на веб-сторінку на порталі
Примітка
- З жовтня 2022 року портали Power Apps перейменовано на Power Pages.
- Цей розділ стосується застарілих можливостей. Актуальні відомості див. в документації до Microsoft Power Pages.
Підказка
У цій статті описано процедуру додавання звіту або приладної дошки Power BI з використанням тегу powerbi liquid. Щоб додати компонент Power BI на веб-сторінці порталу за допомогою студії порталів, виберіть Додати компонент Power BI до веб-сторінки за допомогою студії порталів.
Можна додати звіт Power BI або приладну дошку на веб-сторінку у на порталі за допомогою тегу powerbi Liquid. Використовуйте powerbi
-тег у полі Копія на вебсторінці або в полі Джерело у вебшаблоні.
Якщо додавати звіт Power BI або приладну дошку, створену у новій робочій області в Power BI, потрібно вказати тип автентифікації powerbiembedded у тезі powerbi Liquid.
Примітка
- Якщо ви вказали Microsoft Entra ідентифікатор як тип автентифікації в тегу powerbi Liquid, ви повинні поділитися ним із потрібними користувачами, перш ніж додавати захищений Power BI звіт або інформаційну панель на веб-сторінку порталу. Додаткові відомості: Спільний доступ до робочої області Power BI і Спільний доступ до робочої області Power BI та звіт.
- powerbiembeded підтримує приладні дошки та звіти Power BI, які підключаються до служб аналізу Azure. Також можна використати властивість "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
Можна додати позначку powerbi Liquid з приладною дошкою, або звіт, що підключається до Azure Analysis Services.
Щоб додати приладну дошку або звіт, що підключається до 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 Analysis Services і ролі (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 можна використовувати з власними ролями, але настроювані дані мають бути однаковими для кожного, а також кілька настроюваних значень даних не можна використовувати в коді настроювання. Позначка customdata і параметр customdata для EffectiveIdentity має лише значення рядка.
Отримайте шлях приладної дошки або звіту
Увійти до Power BI.
Відкрийте приладну дошку або звіт, який потрібно включити на портал.
Скопіюйте URL-адресу з рядка адреси.
Отримайте ідентифікатор плитки приладної дошки
Увійти до Power BI.
Відкрийте приладну дошку, з якої потрібно включити плитку на портал.
Наведіть на плитку ", виберіть Додаткові параметри, а потім виберіть Відкрито в режимі фокусування.
Скопіювати Ідентифікатор плитки з URL-адреси в рядок адреси. Ідентифікатор плитки – це значення після /tiles/.
Як використовувати бібліотеку JavaScript powerbi-client на порталах
Ви можете використовувати бібліотеку powerbi-client JavaScript для Power BI Embedded звітів або інформаційних панелей на вашому порталі. Додаткову інформацію про бібліотеку JavaScript powerbi-клієнта див. у Power BI JavaScript wiki.
Нижче наводиться приклад 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 з урахуванням елемента, що міститься в ньому
Отримання посилання на вбудований HTML-звіт
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 до веб-сторінки за допомогою порталів Studio
- Налаштування інтеграції Power BI
- тег powerbi Liquid
Примітка
Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)
Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).