Incorporar un informe de Power BI nun formulario de aplicación principal xerado por modelos
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
Podes usar Power BI informes simplemente integrándoos e obtén exactamente o mesmo informe. Isto non implica contextualizalos ao formulario actual dirixido por modelos 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.

Pode personalizar un nó sections XML de formulario principal para que poida aloxar un informe Power BI e un mosaico seguindo estes pasos:
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 importará a solución, escolla a opción Seleccionar compoñentes cando engade 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 importará a solución, escolla a opción Incluír todos os compoñentes cando engade a táboa á solución.
Exporte a solución como xestionada.
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.
- 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 | O ID do espazo de traballo de Power BI. Se o seu informe está dentro de O meu espazo de traballo, entón o ID do espazo de traballo é 00000000-0000-0000-0000-000000000000. Do contrario, engada o ID do espazo de traballo. Pode atopar o ID do espazo de traballo no URL de servizo de Power BI. Máis información: Atope o espazo de traballo de Power BI e os ID de informe. |
| PowerBIReportId | ID do 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 | O Power BI URL do informe que quere inserir. 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. |
- 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
Podes facer Power BI informes máis significativos aplicando filtros contextuais ao formulario baseado no modelo actual, para que o informe se filtre en función dos 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.

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\":\"My Active Accounts\",\"column\":\"Account Name\"},\"operator\":\"In\",\"values\":[$a],\"filterType\":1}]", "Alias": {"$a": "name"}}</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\":\"My Active Accounts\",
\"column\":\"Account Name\"
},
\"operator\":\"In\",
\"values\":[$a, $b],
\"filterType\":1
}]",
"Alias": {
"$a": "firstname",
"$b":"lastname"
}
}
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
- O ID do espazo de traballo para este exemplo é efc85277-2bdb-47bc-9762-363f64335108.
- O ID do informe para este exemplo é 643ab643-7126-4a57-bd82-ca8f1fb676fc.
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í.

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.


A visualización dos datos do informe mostrados en Power Apps é o mesmo que en Power BI e os roles de seguranza e privilexios de Power Apps non afectan os datos que se mostran. 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.
Incorporación a Power BI O mosaico dun formulario só se admite sen filtrado contextual.
Problemas comúns
- O ID do grupo non se especifica no nó
TileUrldos parámetros de control cando poida que sexa 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&groupId=fd266a4c-9a02-4553-9310-80e05ee844f3</TileUrl>
</parameters>
- Os campos teñen diferentes tipos de datos en PowerBI 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. A continuación, pode ver que
valuesten[\"$a\"]en lugar de[$a].
{
"Filter": "[{
\"$schema\":\"basic\",
\"target\":{
\"table\":\"My Active Accounts\",
\"column\":\"Account Name\"
},
\"operator\":\"In\",
\"values\":[\"$a\"],
\"filterType\":1
}]",
"Alias": {
"$a": "name",
}
}
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).
Comentarios
Enviar e ver os comentarios