Adăugarea unui raport sau a unui tablou de bord Power BI la o pagină web dintr-un portal

Notă

  • Începând din octombrie 2022, portalurile Power Apps sunt Power Pages.
  • Acest subiect se aplică pentru capabilitățile vechi. Pentru cele mai recente informații, accesați Microsoft Power Pages documentația.

Sfat

Acest articol explică cum să adăugați un raport sau tablou de bord Power BI utilizând eticheta Liquid powerbi. Pentru adăugarea Power BI componentei pe o pagină web din portalul dvs. utilizând portalurile Studio, accesați Adăugare o componentă Power BI la o pagină web utilizând portalurile Studio.

Puteți adăuga un raport Power BI sau un tablou de bord la o pagină web din portal folosind eticheta powerbi Liquid. Utilizați eticheta powerbi în câmpul Copiere de pe o pagină web sau în câmpul Sursă dintr-un șablon web.

Dacă adăugați un raport Power BI sau un tablou de bord creat în spațiu de lucru nou în Power BI, trebuie să specificați tipul de autentificare ca powerbiembedded în eticheta Liquid powerbi.

Notă

  • Dacă ați specificat Microsoft Entra ID ca tip de autentificare în eticheta powerbi Liquid, trebuie să îl partajați utilizatorilor solicitați înainte de a adăuga raportul sau tabloul de bord securizat Power BI la o pagină web din portal. MAi multe informații: Partajarea spațiului de lucru Power BI și Partajarea tabloului de bord și a raportului Power BI.
  • powerbiembedded acceptă tablouri de bord Power BI și rapoarte care se conectează la Azure Analysis Services. De asemenea, puteți utiliza proprietatea „customdata” în codul Liquid pentru a transmite valoarea pentru proprietatea CustomData.
  • Rapoartele Power BI paginate nu sunt acceptate.

De exemplu:

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection01" %}

Pentru a afla mai multe despre cum să obțineți o cale la tabloul de bord și ID-ul dalei de bord, consultați secțiunile de mai jos din acest articol.

Folosind un tablou de bord sau un raport de conectare la Azure Analysis Services

Puteți adăuga etichetă powerbi Liquid cu un tablou de bord sau un raport care se conectează la Azure Analysis Services.

Pentru a adăuga un tablou de bord sau un raport de conectare la Azure Analysis Services, utilizați parametrul CustomData din șirul de conexiune.

De exemplu:

{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/<GroupID>/reports/<ReportID>" roles:"<roles associated with report>" customdata:"<customdata>" %}

Eticheta opțională customdata poate fi configurată ca un șir sau generată dinamic pe baza atributului unui obiect, folosind un punct (".") sau paranteze pătrate („[]") pentru a face separarea între obiect și atribut, între două perechi de acolade.

Exemple:

  • customdata: {{ object.attribute }}
  • customdata: {{ object[attribute] }}

Deoarece eticheta customdata returnează un șir, ar putea fi necesar să convertiți acest șir într-un număr întreg în interogarea DAX.

Important

Azure Analysis Services și Roluri (RLS)

Eticheta roluri este opțională pentru rapoartele și tablourile de bord bazate pe Azure Analysis Services. Când nu este utilizat, rolul implicit este rolul căruia i se atribuie aplicația în Azure Analysis Services.

Cu toate acestea, această etichetă poate deveni necesară pentru a specifica un anumit rol (sau roluri) dintre mai multe roluri disponibile și ar putea fi totuși necesară atunci când utilizați securitatea la nivel de rând.

Rolurile sunt conținute în baza de date Azure Analysis Services și nu în raportul în sine, spre deosebire de alte tipuri de rapoarte Power BI.

  • Nu furnizează roluri în codul Liquid.

    Dacă nu este furnizat niciun rol în codul Liquid, rolul Azure Analysis Services va fi determinat de rolurile la care are acces aplicația și va filtra rezultatele pe baza datelor personalizate date cu interogarea DAX din roluri. Adică, toate rolurile disponibile își vor combina accesurile, dar vor filtra în continuare dacă datele personalizate furnizate sunt relevante. Acest scenariu va fi cel mai adesea cazul rapoartelor Azure Analysis Services sau tablourilor de bord cu o singură dală.

  • Furnizează roluri în codul Liquid.

    Rolurile Azure Analysis Services pot fi furnizate în codul Liquid, similar rolurilor RLS. Utilizarea acestor roluri poate fi necesară atunci când sunt disponibile mai multe roluri, dar doriți să utilizați anumite roluri pentru pagină. Când utilizați orice roluri în șirul de conexiune, specificarea rolului Azure Analysis Services este o necesitate. De exemplu, tablourile de bord cu mai multe dale care folosesc dale Azure Analysis Services cu dale RLS.

    Următoarele considerații se aplică atunci când se utilizează dale Azure Analysis Services într-un tablou de bord:

    • Dacă o dală Azure Analysis Services este utilizată într-un tablou de bord cu alte dale care necesită roluri, rolul Azure Analysis Services trebuie adăugat la lista de roluri.
    • Mai multe dale din diferite surse Azure Analysis Services pot fi utilizate cu propriile roluri, dar datele personalizate trebuie să fie aceleași pentru fiecare, iar mai multe valori ale datelor personalizate nu pot fi utilizate în codul Liquid. Eticheta customdata și parametrul customdata pentru EffectiveIdentity iau doar o valoare șir.

Obțineți calea unui raport sau a unui tablou de bord

  1. Conectați-vă la Power BI.

  2. Deschideți tabloul de bord sau raportul pe care doriți să-l încorporați în portalul dvs.

  3. Copiați URL-ul din bara de adrese.

    Obțineți calea unui tablou de bord Power BI.

Obțineți ID-ul unei dale din tabloul de bord

  1. Conectați-vă la Power BI.

  2. Deschideți tabloul de bord din care doriți să încorporați o dală în portalul dvs.

  3. Indicați spre dală, selectați Mai multe opțiuni, apoi selectați Deschideți în modul de focalizare.

    Deschideți dala de tablou de bord Power BI în modul focalizare.

  4. Copiați ID-ul dalei din URL-ul din bara de adrese. ID-ul dalei este valoarea de după /tiles/.

    ID dală tablou de bord Power BI.

Cum se utilizează biblioteca powerbi-client JavaScript în portaluri

Puteți utiliza biblioteca JavaScript powerbi-client pentru Power BI Embedded rapoarte sau tablouri de bord din portalul dvs. Pentru mai multe informații despre biblioteca JavaScript powerbi-client, consultați wiki JavaScript Power BI.

Mai jos este un exemplu de JavaScript pentru a actualiza setările raportului sau pentru a gestiona evenimentele. Acest exemplu dezactivează panoul de filtrare, dezactivează navigarea în pagină și activează evenimentul dataSelected.

Important

  • Utilizați biblioteca JavaScript powerbi-client pentru a dezactiva sau activa panoul de filtrare. Cu toate acestea, dacă doriți să restricționați accesul la date sau să configurați securitatea, utilizați Securitate la nivel de rând (RLS) cu Power BI. Dezactivarea panoului de filtrare nu restricționează accesul la date și poate fi reactivat folosind codul bibliotecii JavaScript.
  • Biblioteca JavaScript powerbi-client este acceptată numai pentru fluxul 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);
            });
        })
    }
});

Pentru a adăuga JavaScript personalizat la o pagină web:

  1. Deschideți aplicația Gestionare portal.
  2. Selectați Pagini web din panoul din stânga.
  3. Selectați pagina web care conține raportul Power BI sau tabloul de bord.
  4. Selectați fila Avansat.
  5. Copiați și lipiți JavaScript în interiorul secțiunii JavaScript personalizat.
  6. Selectați Salvare și închidere.

Acum, să înțelegem exemplele de operațiuni JavaScript și diferite opțiuni.

Obțineți o referință la raportul HTML încorporat

Obțineți o referință la raportul HTML încorporat.

var embedContainer = $(".powerbi")[0];

Informații suplimentare: Obțineți o referință la o componentă existentă Power BI având în vedere elementul pe care conține

Obțineți o referință la raportul încorporat

var report = powerbi.get(embedContainer);

Lucrul cu panouri Power BI

Puteți utiliza setările pentru panouri cu care să lucrați cu panouri Power BI pe o pagină web a portalurilor. De exemplu, puteți utiliza setarea de filtre pentru a ascunde sau afișa panoul sau pentru a lucra cu setarea de navigare a paginii.

Mai jos se află un eșantion pentru eliminarea panoului filtrelor:

report.updateSettings({
            panes: {
                filters :{
                    visible: false
                }
            }
        }).catch(function (errors) {
            console.log(errors);
        });

Mai jos se află un exemplu pentru a lucra atât cu navigarea în pagină, cât și cu filtrele:

report.updateSettings({
            panes: {
                filters :{
                    visible: false
                },
                pageNavigation:{
                    visible: false
                }
            }
        }).catch(function (errors) {
            console.log(errors);
        });

Informații suplimentare: Actualizați setările și Configurare încorporare - Setări

Gestionați evenimente

Componenta încorporată poate emite evenimente la invocarea finalizării unei comenzi executate. De exemplu, mai jos este un eșantion pentru evenimentul 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);
    })

Informații suplimentare: Gestionați evenimente

Consultați și

Notă

Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)

Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).