Поділитися через


Додавання звіту 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.

Важливо

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 має лише значення рядка.

Отримайте шлях приладної дошки або звіту

  1. Увійти до Power BI.

  2. Відкрийте приладну дошку або звіт, який потрібно включити на портал.

  3. Скопіюйте URL-адресу з рядка адреси.

    Отримайте шлях приладної дошки Power BI.

Отримайте ідентифікатор плитки приладної дошки

  1. Увійти до Power BI.

  2. Відкрийте приладну дошку, з якої потрібно включити плитку на портал.

  3. Наведіть на плитку ", виберіть Додаткові параметри, а потім виберіть Відкрито в режимі фокусування.

    Відкрийте плитку приладної дошки Power BI у режимі фокусу.

  4. Скопіювати Ідентифікатор плитки з URL-адреси в рядок адреси. Ідентифікатор плитки – це значення після /tiles/.

    Ідентифікатор плитки приладної дошки Power BI.

Як використовувати бібліотеку 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 до веб-сторінки

  1. Відкрийте програму керування порталом.
  2. Виберіть Веб сторінки в області ліворуч.
  3. Виберіть веб-сторінку, що містить звіт або приладну дошку Power BI.
  4. Виберіть вкладку Додаткові параметри.
  5. Скопіюйте та вставте JavaScript у розділ Користувацький JavaScript.
  6. Виберіть елемент Зберегти й закрити.

Тепер розглянемо зразки операцій 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);
    })

Додаткові відомості. Обробка подій

Статті за темою:

Примітка

Розкажіть нам про свої уподобання щодо мови документації? Візьміть участь в короткому опитуванні. (зверніть увагу, що це опитування англійською мовою)

Проходження опитування займе близько семи хвилин. Персональні дані не збиратимуться (декларація про конфіденційність).