Compartir por


Engadir un informe ou panel de Power BI a unha páxina web dun portal

Nota

  • Desde outubro de 2022, Portais de Power Apps é Power Pages.
  • Este tema aplícase ás capacidades herdadas. Para obter a información máis recente, vaia á Documentación de Microsoft Power Pages.

Suxestión

Este artigo explica como engadir un informe ou panel de Power BI mediante a etiqueta Liquid powerbi. Para engadir o compoñente de Power BI nunha páxina web do seu portal usando Studio de portais, vaia a Engadir un compoñente de Power BI a unha páxina web usando Studio de portais.

Pode engadir un informe ou panel de Power BI a unha páxina web no portal utilizando a etiqueta de Liquid powerbi. Use a etiqueta powerbi do campo Copiar nunha páxina web ou no campo Orixe nun modelo web.

Se engade un panel ou informe de Power BI creado na nova área de traballo de Power BI, debe especificar o tipo de autenticación como powerbiembedded na etiqueta Liquid powerbi.

Nota

  • Se especificaches o Microsoft Entra ID como tipo de autenticación na etiqueta powerbi Liquid, debes compartilo cos usuarios necesarios antes de engadir o informe ou panel seguro Power BI a unha páxina web do portal. Máis información: Compartir área de traballo de Power BI e Compartir panel e informe de Power BI.
  • powerbiembedded admite paneis e informes de Power BI que se conecten a Azure Analysis Services. Tamén pode usar a propiedade "customdata" no código Liquid para pasar o valor para a propiedade CustomData.
  • Non se admiten informes de Power BI paxinados.

Por exemplo:

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

Para obter información sobre como obter o camiño dun panel e o ID do mosaico do panel, consulte as seccións posteriores deste artigo.

Usar un panel ou informe que se conecte a Azure Analysis Services

Pode engadir a etiqueta Liquid powerbi cun panel ou informe que se conecte a Azure Analysis Services.

Para engadir un panel ou informe que se conecte a Azure Analysis Services, use o parámetro CustomData na cadea de conexión.

Por exemplo:

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

A etiqueta customdata opcional pódese configurar como unha cadea ou xerarse dinamicamente en función do atributo dun obxecto, usando un punto (".") ou corchetes ("[]") para separar o obxecto e o atributo, entre dous pares de chaves.

Exemplos:

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

Como a etiqueta customdata devolve unha cadea, pode ser necesario converter esta cadea nun número enteiro na consulta DAX.

Importante

Azure Analysis Services e roles (RLS)

A etiqueta roles é opcional para os informes e paneis baseados en Azure Analysis Services. Cando non se usa, o rol que se utiliza por defecto é o rol ao que está atribuída a aplicación en Azure Analysis Services.

Non obstante, esta etiqueta pode ser necesaria para especificar un determinado rol (ou roles) entre varios roles dispoñibles, e aínda pode ser necesaria cando se utiliza a seguridade a nivel de fila.

Os roles están incluídos na base de datos de Azure Analysis Services e non no informe en si, a diferenza doutros tipos de informes de Power BI.

  • Non se fornecen roles no código Liquid.

    Se non se fornece ningún rol no código Líquid, o rol de Azure Analysis Services determinarase polos roles aos que ten acceso a aplicación e filtrará os resultados en función dos datos personalizados proporcionados contra a consulta de DAX nos roles. É dicir, todos os roles dispoñibles combinarán os seus accesos, pero seguirán filtrándose se os datos personalizados proporcionados son relevantes. Este escenario acontecerá con máis frecuencia nos informes ou paneis dun só mosaico de Azure Analysis Services.

  • Fornécense roles no código Liquid.

    Os roles de Azure Analysis Services pódense proporcionar no código Liquid, de xeito similar aos roles de RLS. Pode ser necesario usar estes roles cando hai varios roles dispoñibles, pero queres usar roles específicos para a páxina. Cando se usa calquera rol na cadea de conexión, é imprescindible especificar o rol de Azure Analysis Services. Por exemplo, os paneis de varios mosaicos que usan mosaicos de Azure Analysis Services con mosaicos de RLS.

    As seguintes consideracións aplícanse cando se utilizan mosaicos de Azure Analysis Services nun panel:

    • Se se usa un mosaico de Azure Analysis Services nun panel con outros mosaicos que requiren roles, o rol de Azure Analysis Services debe engadirse á lista de roles.
    • Pódense empregar varios mosaicos de diferentes orixes de Azure Analysis Services cos seus propios roles, pero os datos personalizados deben ser os mesmos para cada un e non se poden usar varios valores de datos personalizados no código Liquid. A etiqueta customdata e o parámetro customdata para EffectiveIdentity só levan un valor de cadea.

Obter o camiño dun panel ou informe

  1. Inicie sesión en Power BI.

  2. Abra o panel ou informe que desexa incorporar ao seu portal.

  3. Copie o URL da barra de enderezos.

    Obter o camiño dun panel Power BI.

Obter o ID dun mosaico de panel

  1. Inicie sesión en Power BI.

  2. Abra o panel desde o que desexe incorporar un mosaico ao seu portal.

  3. Vaia ao mosaico, seleccione Máis opcións e, a seguir, seleccione Abrir en modo de foco.

    Abrir un mosaico de panel Power BI en modo enfoque.

  4. Copie o Identificador de mosaico do URL na barra de enderezos. O Identificador de mosaico é o valor que está despois de /tiles/.

    ID de mosaico do panel Power BI.

Como usar a biblioteca JavaScript de powerbi-client nos portais

Podes utilizar a biblioteca de JavaScript de powerbi-client para Power BI Embedded informes ou paneis de control no teu portal. Para obter máis información sobre a biblioteca de JavaScript do cliente de powerbi, consulte a wiki de JavaScript de Power BI.

A continuación móstrase un exemplo de JavaScript para actualizar a configuración dos informes ou para xestionar eventos. Esta mostra desactiva o panel de filtros, desactiva a navegación pola páxina e activa o evento dataSelected.

Importante

  • Use a biblioteca de JavaScript do cliente de powerbi para desactivar ou habilitar o panel de filtros. Non obstante, se desexa restrinxir o acceso aos datos ou configurar a seguridade, use Seguridade de nivel de fila (RLS) con Power BI. A desactivación do panel de filtros non restrinxe o acceso aos datos e pódese volver activar usando o código da biblioteca de JavaScript.
  • A biblioteca de JavaScript de powerbi-client só é compatible con 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);
            });
        })
    }
});

Para engadir JavaScript personalizado nunha páxina web:

  1. Abrir a aplicación Xestión do portal.
  2. Seleccione Páxinas web no panel esquerdo.
  3. Seleccione a páxina web que contén o informe ou panel de Power BI.
  4. Seleccione o separador Avanzado.
  5. Copie e pegue o JavaScript dentro da sección JavaScript personalizado.
  6. Seleccione Gardar e pechar.

Agora entenderemos as diferentes opcións e operacións de JavaScript de exemplo.

Obter unha referencia ao HTML do informe incrustado

Obteña unha referencia ao HTML do informe incrustado.

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

Máis información: Obter unha referencia a un compoñente de Power BI existente dado o elemento contedor

Obter unha referencia ao informe incrustado

var report = powerbi.get(embedContainer);

Traballar con paneis de Power BI

Pode usar a configuración dos paneis para traballar con paneis de Power BI nunha páxina web de portais. Por exemplo, pode usar a configuración de filtros para ocultar ou amosar o panel ou traballar coa configuración de navegación de páxina.

A continuación móstrase un exemplo para eliminar o panel de filtros:

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

A continuación móstrase un exemplo para traballar tanto coa navegación de páxina como cos filtros:

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

Máis información: Actualizar configuración e Configuración de incrustación - Configuración

Xestionar eventos

O compoñente incrustado pode emitir eventos ao invocar a finalización dun comando executado. Por exemplo, a continuación móstrase unha mostra para o evento 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);
    })

Máis información: Xestión de eventos

Consulte tamén

Nota

Pode indicarnos as súas preferencias para o idioma da documentación? Realice unha enquisa breve. (teña en conta que esa enquisa está en inglés)

Esta enquisa durará sete minutos aproximadamente. Non se recompilarán datos persoais (declaración de privacidade).