Share via


Incorporar un informe de Power BI nun formulario de aplicación principal xerado por modelos

Importante

Hai unha mellor forma de engadir un informe de Power BI a un formulario de aplicación baseada en modelos. Máis información: Use o control de informes de Power BI para engadir o informe

Pode utilizar os informes de Power BI en aplicacións controladas por modelos de Power Apps para traer informes e análises enriquecidos para os formularios principais e facer que os usuarios logren máis cousas. Isto desbloquea o poder para agregar datos nos sistemas e adaptalo ao contexto dun rexistro individual.  

Requisitos previos

A incorporación de contido de Power BI é unha función opcional e está desactivada en todos os ambientes por defecto. Debe activalo antes de poder incorporar contido de Power BI. Máis información: Activar visualizacións de Power BI na organización.

Esta funcionalidade require exportar unha solución, modificándoa para engadir o fragmento de código xml e importándoa de novo ao ambiente. Asegúrese de importar os cambios no seu ambiente de destino mediante só unha solución xestionada. Consulte Importar, actualizar e exportar solucións para saber como instalar unha actualización nunha solución xestionada existente.

Incorporar sen filtraxe contextual

Pode utilizar informes de Power BI incorporándoos e obter exactamente o mesmo informe. Isto non implica contextualizalos co formulario baseado en modelos actual e, polo tanto, obtén o mesmo informe en todos os rexistros da táboa. Por exemplo, o seguinte informe mostra a localización xeográfica de todas as contas dunha vez, e é útil para mostrar información de resumo.

Informe Power BI incorporado sen filtraxe contextual.

Pode personalizar un nó sections XML de formulario principal para que poida aloxar un informe Power BI e un mosaico seguindo estes pasos:

  1. No seu contorno de desenvolvemento, cree unha solución e engada a táboa que contén o formulario principal onde desexa que se amose o informe de Power BI incrustado.

    • Se a táboa xa existe no ambiente de destino onde importas a solución, escolla a opción Seleccionar compoñentes cando engadas a táboa á solución. A continuación, engada só o formulario principal da táboa.
    • Se a táboa non existe no ambiente de destino onde importas a solución, escolla Incluír todos os compoñentes cando engadas a táboa á solución.
  2. Exporte a solución como xestionada.

  3. Extraia todos os ficheiros do ficheiro zip do paquete de solucións. A continuación, edite o ficheiro customisations.xml e engada o código XML indicado a continuación dentro do bloque <sections> que está dentro do nó <forms type="main"> no ficheiro customisations.xml.

<section id="{d411658c-7450-e1e3-bc80-07021a04bcc2}" locklevel="0" showlabel="true" IsUserDefined="0" name="tab_4_section_1" labelwidth="115" columns="1" layout="varwidth" showbar="false">
    <labels>
        <label languagecode="1033" description="Unfiltered Power BI embedding demo"/>
    </labels>
    <rows>
        <row>
            <cell id="{7d18b61c-c588-136c-aee7-03e5e74a09a1}" showlabel="true" rowspan="20" colspan="1" auto="false" solutionaction="Added">
                <labels>
                    <label languagecode="1033" description="Accounts (Parent Account)"/>
                </labels>
                <control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
                    <parameters>
                        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
                        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
                        <TileUrl>https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
                    </parameters>
                </control>
            </cell>
        </row>
        <row/>
    </rows>
</section>

Importante

Asegúrese de utilizar o control classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" como se indica no exemplo de XML.

  1. Realice os seguintes cambios no formulario XML que copiou no ficheiro customisations.xml para o seu informe de Power BI. Esta táboa describe os valores que cómpre cambiar aos elementos da mostra XML anterior.
Propiedade Descripción
PowerBIGroupId ID da área de traballo de Power BI. Se o teu informe está en O meu espazo de traballo,** o ID do espazo de traballo é 00000000-0000-0000-0000-000000000000. En caso contrario, engada o ID do espazo de traballo. Pode atopar o ID do espazo de traballo no URL do servizo de Power BI. Máis información: Atope o espazo de traballo de Power BI e os ID de informe.
PowerBIReportId ID de informe de Power BI. Substitúa isto co informe que desexa incorporar. Pode atopar o ID do seu informe no URL do servizo de Power BI. Máis información: Atope o espazo de traballo de Power BI e os ID de informe
TileUrl URL do informe de Power BI que desexa incorporar. Asegúrese de utilizar o nome do subdominio de Power BI correcto (é posible que teña que substituír app.powerbi.com co seu) e o ID de informe (substitúa reportId=544c4162-6773-4944-900c-abfd075f6081 polo seu). Por exemplo, https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.
solutionaction="Added" Se a táboa xa existe no ambiente de destino, deixe o parámetro solutionaction=Added para o elemento de cela como se proporciona na mostra XML. Se a táboa non existe no ambiente de destino, elimine o parámetro solutionaction=Added.
  1. Cree un ficheiro zip de todos os ficheiros de solución extraídos anteriormente. A seguir, importe a solución no ambiente de destino.

Incorporar con filtraxe contextual

Pode facer que os informes de Power BI sexan máis significativos aplicándolles filtros contextuais ao formulario actual xerado por modelos para que o informe sexa filtrado segundo os atributos da fila actual. Por exemplo, os seguintes informes mostran a localización xeográfica dunha conta, filtrando o informe de Power BI que usa o nome da conta. Isto permite que un único informe mostre información contextualizada para todas as filas da táboa.

Informe Power BI incorporado con filtraxe contextual.

A filtraxe faise engadindo un elemento de <PowerBIFilter> no bloque <parameter> como se mostra aquí. Pode utilizar calquera atributo da táboa do formulario para crear a expresión do filtro. Máis información: Creación de Filtros para comprender como crear o seu propio filtros.

<control id="filteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
    <parameters>
        <PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
        <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
        <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081</TileUrl>
        <PowerBIFilter>{"Filter": "[{\"$schema\":\"basic\",\"target\":{\"table\":\"table_name_of_power_bi_dataset\",\"column\":\"power_bi_field\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "field_name_in_powerapps_to_filter"}}</PowerBIFilter>
    </parameters>
</control>

Teña en conta que isto utiliza o mesmo control que a incorporación do informe sen filtrar, polo que o identificador de clase de control non cambia.

Nesta táboa descríbense as propiedades adicionais usadas na mostra de XML anterior.

Propiedade Descripción
PowerBIFilter A expresión de filtro que contextualiza o informe de Power BI pasando os atributos de formulario como parámetros. Para que se máis lexible, o filtro está creado como se mostra aquí. A expresión de filtro non pode ser unha lista de valores separados por comas.
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[$a, $b],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field1_name_in_powerapps_to_filter",
                    "$b":"field2_name_in_powerapps_to_filter"
            }
    }

A parte de destino da expresión anterior identifica a táboa e a columna nas que aplicar os filtros. O operador identifica a lóxica e os valores identifican os datos pasados desde a aplicación controlada por modelos de Power Apps. Para crear parámetros dunha forma xenérica, os valores créanse mediante alias. Na expresión anterior, o valor de firstname e lastname dunha conta pásanse e calquera deles búscase na columna Nome de conta no informe de Power BI. Teña en conta que firstname e apelido son os nomes únicos de atributos da táboa da conta, cuxo valor pasará aquí.

Pode crear expresións de filtro máis complexas mirando os exemplos de Creación de filtros e fornecendo os valores apropiados para $schema e filterType. Asegúrese de escapar cada literal na parte de filtro mediante ", de xeito que o JSON se xere correctamente.

Eliminar o atributo non modificado antes da importación

Antes de importar a solución ao contorno de destino, asegúrese de que o atributo non modificado non está incluído na sección formXml do ficheiro customifications.xml. Se o atributo non modificado está presente no XML que inclúe o XML de control de Power BI, elimine o atributo antes de importar a solución ao contorno de destino. Por exemplo, substitúa <systemform unmodified="1"> por <systemform>.

Atope o espazo de traballo de Power BI e os ID de informe

  1. O ID do espazo de traballo para este exemplo é efc85277-2bdb-47bc-9762-363f64335108.
  2. O ID do informe para este exemplo é 643ab643-7126-4a57-bd82-ca8f1fb676fc. ID do espazo de traballo de Power BI e exemplo de ID de informe

Limitacións e problemas coñecidos

  • Esta integración só está dispoñible no cliente de Interface unificada, en exploradores web compatibles e dispositivos móbiles.

  • Abrir este formulario no deseñador de formularios de Power Apps non mostrará o control dunha forma significativa. Isto ocorre porque o control está personalizado fóra do deseñador de formularios.

  • Os usuarios autenticaranse en Power BI automaticamente co nome de usuario e contrasinal de Power Apps. Se non existe unha conta de Power BI con credenciais coincidentes, mostrarase un aviso de inicio de sesión como se mostra aquí.

    Pregunta de inicio de sesión en Power BI.

    Non se mostrarán datos se se usa unha conta incorrecta para iniciar sesión en Power BI. Para iniciar sesión coas credenciais correctas, peche sesión e inicie sesión de novo.

    Inicie sesión no servizo Power BI.

    O usuario que iniciou sesión non ten o permiso adecuado.

  • A vista dos datos do informe que se mostran dentro de Power Apps é a mesma que Power BI, e Power Apps os roles e privilexios de seguranza non afectan aos datos que se amosan. Por tanto, os datos son basicamente os mesmo que o vería o creador do conxunto de datos de Power BI. Para aplicar as restricións de acceso aos datos semellantes aos equipos e roles de seguranza de Power Apps, use Seguranza por fila (RLS) con Power BI.

  • Se o formulario non mostra o informe de Power BI despois de importar a solución e publicar personalizacións, ábrao no editor de formularios controlado por modelos e gárdeo, para que se volva xerar o JSON do formulario.

  • A incorporación dun mosaico de Power BI nun formulario só se admite sen filtraxe contextual.

  • A inserción dun Power BI informe non admite referencias entre inquilinos. Por exemplo, tentar inserir un Power BI informe pertencente ao arrendatario de Contoso nunha aplicación baseada en modelos que pertence ao arrendatario de Fabrikam non se admite actualmente, aínda que o informe que se está a inserir se compartiu cos usuarios da Inquilino de Fabrikam a través de Power BI.

Problemas comúns

  • O ID do grupo non se especifica no TileUrl nodo dos parámetros de control cando pode ser necesario. Este exemplo inclúe un ID de grupo.
<parameters>
    <PowerBIGroupId>fd266a4c-9a02-4553-9310-80e05ee844f3</PowerBIGroupId>
    <PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
    <TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081&amp;groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
  • Os campos teñen diferentes tipos de datos en Power BI e Dataverse. Deben ser do mesmo tipo, como cadea en Power BI e cadea en Dataverse.
  • Os campos de cadea non teñen comiñas escapadas no filtro de Power BI. Aviso values ten [\"$a\"] en lugar de [$a].
    {
            "Filter": "[{
                    \"$schema\":\"basic\",
                    \"target\":{
                            \"table\":\"table_name_of_power_bi_dataset\",
                            \"column\":\"power_bi_field\"
                    },
                    \"operator\":\"In\",
                    \"values\":[\"$a\"],
                    \"filterType\":1
            }]",
            "Alias": {
                    "$a": "field_name_in_powerapps_to_filter",
            }
    }

Consulte tamén

Incorporar un panel de Power BI nun panel persoal controlado por modelos de Power Apps

Usar Power BI con aplicacións de Dynamics 365

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).