Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede usar informes de Power BI en aplicaciones controladas por modelos de Power Apps para llevar informes y análisis enriquecidos a sus formularios principales y permitir que los usuarios logren más. Esto desbloquea la capacidad de agregar datos en entre los sistemas, y adaptarlos al contexto de un solo registro.
Prerrequisitos
La inserción de contenido Power BI es una característica opcional y está deshabilitada en todos los entornos de forma predeterminada. Debe habilitarlo para poder insertar Power BI contenido. Más información: Habilitar visualizaciones de Power BI en la organización.
Esta característica requiere exportar una solución, modificarla para reemplazar el fragmento de código XML, y luego volver a importarla al entorno. Asegúrese de importar los cambios en el entorno de desarrollo mediante una solución no administrada únicamente. Vaya a Importar, actualizar y exportar soluciones para obtener instrucciones sobre instalar una actualización en una solución no administrada existente.
Insertar sin filtrado contextual
Puede usar los informes de Power BI incrustándolos y obtener exactamente el mismo informe. Esto no implica contextualizarlos en el formulario actual basado en modelos y, por tanto, obtiene el mismo informe en todos los registros de la tabla. Por ejemplo, el informe siguiente muestra la ubicación geográfica de todas las cuentas a la vez y es útil para mostrar información resumida.
Puede personalizar un nodo XML de formulario principal controls para que pueda hospedar un informe de Power BI incrustado y un icono siguiendo estos pasos:
En el entorno de desarrollo, cree una solución y agregue la tabla que contiene el formulario principal en el que desea que se muestre el informe de Power BI incrustado. Elija la opción Seleccionar componentes al agregar la tabla a la solución. Luego, agregue solo el formulario principal de la tabla.
Edite el formulario principal de la tabla en su solución y agregue un subcuadro de marcador de posición donde quiera incrustar su informe de Power BI.
- Actualice la etiqueta y el nombre de la subcuadrícula en el diseñador de formularios.
Exporte la solución como no administrada y extraiga todos los archivos del archivo zip del paquete de la solución. A continuación, edite el archivo customizations.xml y busque el nombre de la subcuadrícula. Sustituya el código XML proporcionado en el bloque
<control>en el archivo customizations.xml. Elrowspandel nodo primariocellse puede ajustar para cambiar el tamaño del informe de Power BI incrustado.<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>Importante
Asegúrese de usar el control
classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}"como se indica en el XML de ejemplo.- Realice los siguientes cambios en el formato XML que copió en el archivo customizations.xml del informe de Power BI. Esta tabla describe los valores que necesita cambiar a los elementos del ejemplo XML anterior.
Propiedad Descripción PowerBIGroupId Identificador del área de trabajo de Power BI. Si su informe está en Mi área de trabajo, entonces el id. del espacio de trabajo es 00000000-0000-0000-0000-000000000000. De lo contrario, agregue el ID del área de trabajo. Puede encontrar el identificador del área de trabajo en la dirección URL de servicio Power BI. Más información: Encuentra el área de trabajo de Power BI y los Id(s) de informe. PowerBIReportId Identificador de informe de Power BI. Reemplace esto con el informe que desea insertar. Puede encontrar el identificador del informe en la dirección URL de servicio Power BI. Más información: Buscar el espacio de trabajo de Power BI y los identificadores de informe TileUrl Dirección URL del informe Power BI que desea insertar. Asegúrese de usar el nombre del subdominio de Power BI correcto (es posible que tenga que reemplazar app.powerbi.com por el suyo propio) y el identificador de informe (reemplace reportId=544c4162-6773-4944-900c-abfd075f6081 por el suyo propio). Por ejemplo: https://app.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-abfd075f6081.- Realice los siguientes cambios en el formato XML que copió en el archivo customizations.xml del informe de Power BI. Esta tabla describe los valores que necesita cambiar a los elementos del ejemplo XML anterior.
Cree un archivo zip con todos los archivos de solución extraídos previamente. A continuación, importe la solución en el entorno de desarrollo.
Insertar con filtrado contextual
Puede hacer que los informes de Power BI sean más significativos aplicando filtros contextuales al formulario controlado por modelos actual, de modo que el informe se filtre en función de los atributos de la fila actual. Por ejemplo, el siguiente informe muestra la ubicación geográfica de una cuenta filtrando el informe de Power BI mediante el nombre de cuenta. Esto permite que un informe solo muestre información contextualizada para todas las filas de la tabla.
El filtrado se realiza agregando un elemento <PowerBIFilter> en el bloque <parameter> como se muestra aquí. Puede usar cualquier atributo de tabla del formulario para generar expresión de filtro. Más información: Construir filtros para comprender cómo crear sus propios 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>
Tenga en cuenta que se usa el mismo control que la inserción del informe sin filtrar y, por tanto, el id. de clases control se mantiene sin cambios.
Esta tabla describe las propiedades adicionales utilizadas en el ejemplo XML anterior.
| Propiedad | Descripción |
|---|---|
| PowerBIFilter | Expresión de filtro que contextualiza el informe de Power BI pasando los atributos de formulario como parámetros. Para hacer que sea más legible, el filtro se construye como se muestra aquí. La expresión de filtro no puede ser una 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"
}
}
La parte de destino de la expresión anterior identifica la tabla y la columna a la que aplicar filtros. El operador identifica la lógica, y los valores identifican los datos transferidos desde la aplicación basada en modelos de Power Apps. Para parametrizar de una forma genérica, los valores son construidos mediante alias. En la expresión anterior, se pasa el valor de firstname y lastname de una cuenta, y se busca cualquiera de ellos en la columna Account Name en el informe de Power BI. Tenga en cuenta que firstname y lastname son los nombres únicos de los atributos de la tabla de cuenta, cuyo valor será pasado aquí.
Puede crear expresiones de filtro más complejas consultando ejemplos de Construir los filtros y proporcionando los valores adecuados para $schema y filterType. Asegúrese de escapar cada literal en la parte de filtro con ", para generar JSON correctamente.
Búsqueda del área de trabajo de Power BI e identificadores de informe
- En este ejemplo, el id. de espacio de trabajo es efc85277-2bdb-47bc-9762-363f64335108.
- En este ejemplo, el id. de informe es 643ab643-7126-4a57-bd82-ca8f1fb676fc.
Limitaciones y problemas conocidos
Abrir este formulario en el diseñador de formularios Power Apps no muestra el control de forma significativa. Esto se debe a que el control se personaliza fuera del diseñador de formularios.
Los usuarios se autentican en Power BI automáticamente con su nombre de usuario y contraseña de Power Apps. Si no existe una cuenta de Power BI con credenciales coincidentes, se muestra un mensaje de inicio de sesión como se muestra aquí.
No se muestran datos si se usa una cuenta incorrecta para iniciar sesión en Power BI. Para iniciar sesión con las credenciales correctas, cierre sesión y, a continuación vuelva a iniciar sesión.
La vista de los datos del informe que se muestran dentro de Power Apps es la misma que en Power BI y los roles de seguridad y privilegios de Power Apps no afectan a los datos que se muestran. Por lo tanto, los datos son esencialmente los mismos que el creador del conjunto de datos de Power BI vería. Para aplicar restricciones de acceso a datos similares a los roles y equipos de seguridad de Power Apps, use Seguridad a nivel de filas (RLS) con Power BI.
Si el formulario no muestra el informe de Power BI después de importar la solución y publicar personalizaciones, ábralo en el diseñador de formularios basado en modelos y guárdelo, para que el formulario JSON se regenere.
La inserción de un icono de Power BI en un formulario solo se admite sin filtrado contextual.
La inserción de un informe de Power BI no admite referencias entre inquilinos. Por ejemplo, actualmente no es compatible intentar insertar un informe de Power BI que pertenece a la entidad de Contoso en una aplicación basada en modelos que pertenece a la entidad de Fabrikam, incluso si el informe que se inserta se ha compartido con los usuarios de la entidad de Fabrikam a través de Power BI.
Los informes fijados en los paneles de Power BI no están diseñados para ser interactivos. Si desea tener informes de Power BI interactivos, insáquelos directamente en lugar de anclarlos a un panel.
Problemas comunes
- El ID de grupo no se especifica en el nodo
TileUrlde los parámetros de control cuando puede ser necesario. Este ejemplo incluye un identificador 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>
- Los campos tienen tipos de datos diferentes en Power BI y Dataverse. Deben ser del mismo tipo, como cadena en Power BI y cadena en Dataverse.
- Los campos de cadena no tienen comillas de escape en el filtro Power BI. Observe que
valuesposee[\"$a\"]en vez 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 también
Insertar un panel de Power BI en un panel personal basado en modelos de Power Apps