Compartir a través de


Agregar un informe o panel de Power BI a una página web en un portal

Nota

  • A partir de octubre de 2022, los portales de Power Apps son Power Pages.
  • Este tema se aplica a las funcionalidades heredadas. Vaya a la documentación de Microsoft Power Pages para consultar la información más reciente.

Sugerencia

En este artículo se explica cómo agregar un informe o panel de Power BI mediante la etiqueta powerbi de Liquid. Para agregar un Componente de Power BI a una página web en el portal mediante la instancia de Studio para portales, vaya a Agregar un componente de Power BI a una página web mediante la instancia de Studio para portales.

Puede agregar un informe o un panel de Power BI a una página web en un portal usando la etiqueta de Liquid powerbi. Use la etiqueta powerbi en el campo Copiar en una página web o en el campo Origen en una plantilla web.

Si agrega un informe o un panel de Power BI creado en el nuevo espacio de trabajo de Power BI, deberá especificar el tipo de autenticación como powerbiembedded en la etiqueta powerbi de Liquid.

Nota

  • Si ha especificado Microsoft Entra ID como tipo de autenticación en la etiqueta powerbi Liquid, debe compartirla con los usuarios requeridos antes de agregar el informe o el panel seguro de Power BI a una página web en portal. Más información: Compartir área de trabajo de Power BI y Compartir el panel y el informe de Power BI.
  • powerbiembedded admite paneles e informes de Power BI que se conectan a Azure Analysis Services. También puede utilizar la propiedad "customdata" en el código de Liquid para pasar el valor para la propiedad CustomData.
  • Los informes paginados de Power BI no se admiten.

Por ejemplo:

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

Para obtener información acerca de cómo obtener una ruta del panel y el id. del icono del panel, consulte las secciones más adelante en este artículo.

Usar un panel o informe que se conecta a Azure Analysis Services

Puedes agregar la etiqueta de Liquid de powerbi con un panel o un informe que se conecta a Azure Analysis Services.

Para agregar un panel o informe que se conecte a Azure Analysis Services, use el parámetro CustomData en la cadena de conexión.

Por ejemplo:

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

La etiqueta opcional customdata se puede configurar como una cadena o generarse dinámicamente en función del atributo de un objeto, utilizando un punto (".") o corchetes ("[]") para separar entre el objeto y el atributo, entre dos pares de llaves.

Ejemplos:

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

Como la etiqueta customdata devuelve una cadena, podría ser necesario convertir esta cadena en un entero en la consulta de DAX.

Importante

Azure Analysis Services y roles (RLS)

La etiqueta roles es opcional para los paneles e informes basados en Azure Analysis Services. Cuando no se usa, el rol predeterminado es el rol al que está asignada la aplicación en Azure Analysis Services.

Sin embargo, esta etiqueta podría ser necesaria para especificar un determinado rol (o roles) entre varios roles disponibles, y aún puede ser necesaria cuando se usa la seguridad de nivel de fila.

Los roles se incluyen en la base de datos de Azure Analysis Services y no en el informe en sí, a diferencia de otros tipos de informes de Power BI.

  • No proporcionar roles en el código de Liquid.

    Si no se proporciona ningún rol en el código de Liquid, el rol de Azure Analysis Services estará determinado por los roles a los que la aplicación tiene acceso y filtrará los resultados en función de los datos personalizados proporcionados contra la consulta de DAX en los roles. Es decir, todos los roles disponibles combinarán sus accesos, pero seguirán filtrando si los datos personalizados proporcionados son relevantes. Este escenario suele ser el caso de los informes de Azure Analysis Services o los paneles de control de un solo icono.

  • Proporcionar roles en el código de Liquid.

    Los roles Azure Analysis Services se pueden proporcionar en el código de Liquid, de manera similar a los roles de RLS. El uso de estos roles podría ser necesario cuando hay varios roles disponibles, pero desea usar roles específicos para la página. Cuando se utilizan roles en la cadena de conexión, es imprescindible especificar el rol de Azure Analysis Services. Por ejemplo, paneles de varios iconos que utilizan iconos de Azure Analysis Services con iconos de RLS.

    Las siguientes consideraciones se aplican al usar los iconos de Azure Analysis Services en un panel:

    • Si se utiliza un icono de Azure Analysis Services en un panel con otros iconos que requieren roles, se debe agregar el rol de Azure Analysis Services a la lista de roles.
    • Se pueden usar varios iconos ¡de diferentes orígenes de Azure Analysis Services con sus propios roles, pero los datos personalizados deben ser los mismos para cada uno, y no se pueden usar varios valores de datos personalizados en el código de Liquid. La etiqueta customdata y customdata para la EffectiveIdentity solo toma un valor de cadena.

Obtenga la ruta de un panel o informe

  1. Inicie sesión en Power BI.

  2. Abra el panel o informe que desea insertar en el portal.

  3. Copie la dirección URL de la barra de direcciones.

    Obtenga la ruta de un panel de Power BI.

Obtener el identificador de una ventana de panel

  1. Inicie sesión en Power BI.

  2. Abra el panel desde el que desea insertar una ventana en el portal.

  3. Apunte al mosaico, seleccione Más opcionesy, a continuación seleccione Abrir en modo de enfoque.

    Abrir ventana del panel de Power BI en modo de enfoque.

  4. Copie el identificador del mosaico de la dirección URL en la barra de direcciones. El identificador del mosaico es el valor que está después de /tiles/.

    Id. de ventana del panel de Power BI.

Cómo usar la biblioteca de JavaScript de powerbi-client en portales

Puede usar la biblioteca de JavaScript powerbi-client para informes o paneles de Power BI Embedded en su portal. Para obtener más información sobre la biblioteca de JavaScript de powerbi-client, consulte la wiki de JavaScript de Power BI.

A continuación, se muestra un código JavaScript de muestra para actualizar la configuración del informe o para manejar eventos. Este ejemplo deshabilita el panel de filtro, deshabilita la navegación de página y habilita el evento dataSelected.

Importante

  • Utilice la biblioteca JavaScript de powerbi-client para deshabilitar o habilitar el panel de filtro. Sin embargo, si desea restringir el acceso a los datos o configurar la seguridad, utilice Seguridad de nivel de fila (RLS) con Power BI. La desactivación del panel de filtro no restringe el acceso a los datos y se puede volver a activar mediante el código de biblioteca de JavaScript.
  • La biblioteca JavaScript powerbi-client solo es compatible con el flujo de 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);
            });
        })
    }
});

Para agregar JavaScript personalizado a una página web:

  1. Abra la aplicación Administración del portal.
  2. Seleccione Páginas web en el panel izquierdo.
  3. Seleccione la página web que contiene el informe o el panel de Power BI.
  4. Seleccione la pestaña Avanzada.
  5. Copie y pegue el JavaScript dentro de la selección JavaScript personalizado.
  6. Seleccione Guardar y cerrar.

Ahora, comprendamos las operaciones de JavaScript de ejemplo y las diferentes opciones.

Obtener una referencia al HTML de informe incrustado

Obtener una referencia al HTML de informe incrustado.

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

Más información: Obtener una referencia a un Power BI componente existente dado el elemento contenedor

Obtener una referencia al informe incrustado

var report = powerbi.get(embedContainer);

Trabajar con paneles de Power BI

Puede utilizar la configuración de los paneles para trabajar con los paneles de Power BI en una página web de portales. Por ejemplo, puede utilizar la configuración de filtros para ocultar o mostrar el panel, o trabajar con la configuración de navegación de la página.

A continuación se muestra un ejemplo para eliminar el panel de filtros:

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

A continuación se muestra una ejemplo para trabajar tanto con la navegación de página como con los filtros:

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

Más información: Actualizar configuración e Insertar configuración - Configuración

Controlar eventos

El componente integrado puede emitir eventos al invocar la finalización de un comando ejecutado. Por ejemplo, a continuación se muestra un ejemplo del 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ás información: Gestionar eventos

Consultar también

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).