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


Додавання звіту Power BI або приладної дошки на вебсторінку

Порада

У цій статті описано процедуру додавання звіту або приладної дошки 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 query.

Важливо

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 у Power Pages

Для вбудовування звітів або приладних дошок Power BI Embedded на вебсайті можна використовувати бібліотеку Powerbi-клієнта JavaScript. Додаткову інформацію про бібліотеку JavaScript powerbi-клієнта див. у Power BI JavaScript wiki.

Нижче наводиться приклад JavaScript, щоб оновити параметри звіту або обробляти події. Цей приклад вимикає область фільтрів, вимикає навігацію по сторінках і вмикає подію dataSelected.

Важливо

  • Скористайтеся бібліотекою JavaScript powerbi-client, щоб вимкнути або увімкнути область фільтрів. Проте, якщо потрібно обмежити доступ до даних або налаштувати безпеку, скористайтеся захистом на рівні рядка (RLS) у Power BI. Вимкнення панелі фільтрів не обмежує доступ до даних і її можна повторно ввімкнути за допомогою коду бібліотеки JavaScript.
  • Бібліотека JavaScript powerbi-клієнта підтримується лише для циклу PowerBI Embedded.
$(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);
    })

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

Див. також