Editar

Compartir a través de


Escritura diferida de datos de Power BI con Power Apps y Power Automate

Power BI
Power Apps
Power Automate
Microsoft Power Platform

Esta solución implementa una aplicación de lienzo de Power Apps a través del objeto visual de Power Apps nativo en Power BI. Power Automate proporciona automatización en segundo plano para el procesamiento y la actualización de forma masiva.

Arquitectura

Diagrama que muestra una arquitectura para la escritura diferida de datos de Power BI.

Descargue un archivo Visio de esta arquitectura.

Flujo de datos

Los componentes principales de esta solución incorporan la capacidad de pasar datos filtrados previamente de Power BI a un embudo de Power Apps o Power Automate para las actualizaciones de un back-end compatible. Es importante actualizar el conjunto de datos de Power BI (o flujo de datos) para asegurarse de que las actualizaciones sean visibles para todos los usuarios.

Implementación

(Para más información, consulte Implementación de este escenario más adelante en este artículo).

A. Implemente Dataverse y una aplicación basada en modelos compatible con tablas personalizadas pertinentes.

B. Importe todas las tablas y vistas de back-end en un conjunto de datos de Power BI (PBIX).

C. Inicie la integración entre Power BI y Power Apps a través de la visualización de Power Apps en la aplicación de escritorio.

D. Use Power Apps para crear una aplicación de lienzo para proporcionar la posibilidad de interactuar con todos los datos necesarios y actualizarlos.

Flujo del proceso

  1. Recopilar datos. Para realizar un filtrado cruzado de una fila o de un conjunto de datos seleccionados, seleccione parte de una visualización en un informe de Power BI. Esta interacción pasa los datos subyacentes necesarios de la interfaz del informe de Power BI a la aplicación de lienzo insertada.
  2. Actualice los datos o insértelos en Dataverse mediante la interfaz de usuario de la aplicación de lienzo. Puede hacerlo mediante controles enlazados, como formularios y galerías que son nativos de Power Apps y que están directamente vinculados a los datos de back-end. Como alternativa, puede implementar una funcionalidad más personalizada mediante controles sin enlazar. Estos controles requieren código de Power Fx adicional. En escenarios de una única actualización, puede crear código de la aplicación para confirmar directamente los datos en el back-end a través de las funciones SubmitForm, Patch y UpdateIf. En escenarios de actualización masiva, puede establecer una colección (una tabla virtual) mediante la función Collect (Recopilar). Luego, puede pasar la recopilación para procesar todas las actualizaciones de datos a la vez. Consulte Interfaz de usuario de Power App para ver capturas de pantalla de la aplicación de lienzo.
  3. Inserte las actualizaciones en el origen. Un flujo de Power Automate proporciona automatización en segundo plano cuando es necesaria por la situación. En escenarios de una sola actualización en los que solo se actualiza una fila de la tabla seleccionada, se ejecuta un flujo sencillo para actualizar el conjunto de datos PBIX. De esta forna, se garantiza que los datos actualizados se reflejen en el back-end de Dataverse y en la capa de informes. En escenarios de actualización masiva, se ejecuta un flujo más complejo. Se consume una recopilación JSON de objetos anidados que se pasa desde la recopilación de Power Apps descrita en el paso anterior. Luego, el flujo recorre en iteración cada objeto anidado, actualizando individualmente los datos en Dataverse según sea necesario. Una vez completado el paso de actualización, el flujo actualiza el archivo PBIX. Si el informe de Power BI usa DirectQuery, no se necesitan los pasos automatizados asociados a la actualización de PBIX.
  4. Visualice las actualizaciones. Todos los datos se actualizan. El usuario final actualiza la ventana del explorador para ver la actualización.

Componentes

  • dataverse. Una solución de base de datos back-end que puede usar para almacenar datos en un entorno muy seguro, personalizable y escalable. Este entorno se conecta sin problemas a Dynamics 365, Azure, Visual Studio y Power Query. Dataverse proporciona un procesamiento de datos eficaz y un modelo de datos compartido de código abierto que proporciona coherencia semántica.
  • power BI. Colección de servicios de software, aplicaciones y conectores que funcionan conjuntamente para convertir orígenes de datos sin relación entre sí en información coherente, interactiva y atractiva visualmente.
  • power Apps. Conjunto de aplicaciones, servicios y conectores, todos disponibles en una plataforma de datos completa. Puede usar este servicio para crear rápidamente aplicaciones para satisfacer necesidades empresariales personalizadas. En esta solución, Power Apps se usa para las actualizaciones e inserciones de datos en una interfaz de usuario intuitiva. También funciona como desencadenador para la automatización.
  • Power Automate. Un servicio que puede usar para crear flujos de trabajo automatizados entre una variedad de aplicaciones conectadas y servicios externos. Puede configurarlo para transferir datos, enviar notificaciones, recopilar artefactos, etc. En esta solución, Power Automate se usa para el procesamiento masivo de datos actualizados y para la actualización de datos en la capa PBIX o Flujo de datos para insertar los datos actualizados en un informe de Power BI.

Alternativas

  • Entre las alternativas a Dataverse se incluyen las siguientes soluciones:
  • Puede usar flujos de datos de Power Query por separado o junto con conjuntos de datos de Power BI con esta solución, en función de la escala y eficiencia de los datos en su entorno. Si usa flujos de datos en la solución, debe administrar la extensión de Power Automate para actualizar cada flujo de datos o conjunto de datos en consecuencia.
  • Puede compilar aplicaciones personalizadas mediante JavaScript, HTML, C# u otros lenguajes que se puedan insertar en un informe de Power BI para actualizar los datos seleccionados. Sin embargo, estas aplicaciones deben implementarse de forma diferente en la capa de informes de Power BI, ya que no existe una visualización nativa como en el caso de Power Apps. Si implementa escalabilidad para estas aplicaciones, debe supervisarla. Para información sobre cómo implementar mejor los componentes personalizados en Power BI, visite el Centro para desarrolladores de Power BI.
  • También puede usar el objeto visual de Power Automate para Power BI en escenarios de escritura diferida. Este objeto visual está optimizado para controlar grandes conjuntos de datos y Power Apps gestiona la delegación. Puede usar los objetos visuales de Power Automate y Power Apps juntos para proporcionar una eficacia escalable. Si usa el objeto visual de Power Automate, la actualización de datos se produce en segundo plano sin la presencia de una interfaz de usuario.

Detalles del escenario

Esta solución para la funcionalidad de escritura diferida de datos en Power BI proporciona una manera interactiva y eficaz de cambiar los datos directamente desde Power BI. Power BI no tiene actualmente una solución nativa que pueda usar para actualizaciones de datos insertadas o masivas mientras interactúa con un informe o panel. Para insertar cambios en los datos, debe realizar las actualizaciones directamente en los almacenes de datos y, luego, si no usa DirectQuery, actualice un conjunto de datos para completar el flujo de proceso. Este proceso puede ser ineficaz y puede suponer problemas para los usuarios que no tienen acceso a un back-end específico o a los datos subyacentes.

Posibles casos de uso

Esta arquitectura es muy iterativa. Puede usarla con varios almacenes de datos back-end diferentes y adaptarla a varios casos de uso. Los usos prácticos de esta arquitectura incluyen:

  • Edición directa. La solución se puede usar con los datos que deben actualizarse sobre la marcha sin acceso aprovisionado a una base de datos de back-end.
  • Flujos de trabajo de aprobación. La ampliación de las funcionalidades de Power BI con Power Apps y Power Automate permite a los usuarios finales recopilar datos que requieren revisión directamente desde un panel y enviarlos a aprobadores posteriores.
  • Alertas controladas por datos. La solución puede proporcionar personalización para las notificaciones automatizadas sobre información específica mediante el envío de registros o el paso de paquetes de datos a un flujo de Power Automate.

Interfaz de usuario de Power Apps

En las capturas de pantalla siguientes se muestra el proceso para pasar datos de Power BI a la base de datos subyacente.

Esta es la pantalla principal de la aplicación de lienzo:

Captura de pantalla que muestra la pantalla principal de la aplicación de lienzo.

En esta captura de pantalla se muestra el proceso para una sola actualización:

Captura de pantalla que muestra el proceso para una sola actualización.

En esta captura de pantalla se muestra el proceso para una actualización masiva:

Captura de pantalla que muestra el proceso para una actualización masiva.

Consideraciones

Estas consideraciones constituyen los pilares del Marco de buena arquitectura de Azure, un conjunto de principios rectores que puede usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Escalabilidad

Para establecer correctamente la integración entre Power BI y la aplicación de lienzo para la compatibilidad con la escritura diferida, debe configurarla creando la aplicación de lienzo directamente desde la visualización de Power Apps en el informe de Power BI. Si esta integración no está configurada correctamente, no habrá forma de pasar datos filtrados cruzados de la capa de informe de Power BI a la interfaz de usuario de Power Apps.

Debe abordar la delegación cuando considere la escalabilidad. La delegación es un concepto único de Power Apps (aplicaciones de lienzo) que limita el ámbito del procesamiento de datos a través de la nube mientras se ejecuta la lógica de una aplicación. Las aplicaciones de lienzo implementadas en esta solución deben aprovisionarse correctamente para gestionar grandes conjuntos de datos que usan bucles o instrucciones de filtro complejas a fin de garantizar que se incluyen todos los datos al ejecutar una actualización en la base de datos back-end y, luego, en el conjunto de datos de Power BI. Puede usar Power Automate en este escenario para aumentar la eficacia al gestionar actualizaciones masivas a gran escala de más de 2000 filas.

Disponibilidad

Todos los componentes descritos en esta arquitectura son servicios administrados que se escalan automáticamente en función de la disponibilidad regional. Actualmente, Power Apps está disponible en seis regiones principales y 42 idiomas. Para obtener más información, consulte Disponibilidad de servicios.

Dataverse está diseñado para satisfacer las necesidades de escalabilidad de nivel empresarial mediante el uso de límites de protección de servicios para mitigar el comportamiento malintencionado que podría interrumpir el servicio.

Para obtener información sobre los acuerdos de nivel de servicio (SLA), consulte Contratos de nivel de servicio.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de sus valiosos datos y sistemas. Para obtener más información, vea Lista de comprobación de revisión de diseño para security.

La seguridad de nivel de fila (RLS) es la mejor manera de restringir el acceso a datos para usuarios individuales o grupos en Power BI. Los modelos de RLS persisten en esta solución. Si los permisos de un usuario en Power BI se establecen para ver solo un subconjunto del modelo de datos general, solo ese subconjunto se puede pasar a la capa de Power Apps. Sin embargo, debe configurar la capa de Power Apps para que los usuarios finales puedan acceder solo a determinados datos.

La seguridad de los datos se configura para Power Apps mediante la seguridad basada en roles en el back-end de Dataverse. Puede aplicar roles a equipos, grupos o usuarios individuales para especificar qué registros están disponibles para la manipulación en esta solución. Esta funcionalidad le permite usar una sola aplicación de lienzo para los usuarios que tienen diferentes niveles de acceso al back-end. Para garantizar la coherencia en toda la solución, asegúrese de que las configuraciones de seguridad basadas en roles coincidan con los permisos descritos en el modelo de seguridad de nivel de fila de Power BI para cada equipo, grupo o usuario.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Power Apps y Power Automate son aplicaciones de software como servicio (SaaS) que tienen modelos de precios flexibles. Puede conceder licencias de Power Apps con planes por aplicación o por usuario que se ajusten a sus necesidades empresariales. Del mismo modo, puede conceder licencias de Power Automate con planes por usuario o por flujo (automatización única).

Hay varias versiones de Power BI disponibles. Su elección depende del volumen de datos ingeridos. Para Power BI Pro, solo hay disponible un plan por usuario. Power BI Premium proporciona planes por usuario y por capacidad.

Implementación de este escenario

Debe tener las licencias de Microsoft Power Platform pertinentes para ejecutar esta solución en producción. Los administradores o personalizadores de la solución también necesitan los roles de seguridad adecuados para habilitar el acceso a Power Apps y Power Automate. Si aún no tiene acceso a estas licencias o roles, puede usar el plan para desarrolladores de Power Apps para iniciar el desarrollo mientras tanto.

Para implementar esta solución:

  1. Cree un archivo PBIX en Power BI Desktop como componente base de la capa de informes. Importe todos los datos necesarios de Dataverse o de cualquier back-end que use.
  2. Agregue el objeto visual de Power Apps para Power BI directamente desde el panel Visualización. La creación de una aplicación directamente desde el objeto visual de Power Apps para Power BI es la única manera de implementar la integración entre Power BI y Power Apps.
  3. Después de implementar la integración, debe desarrollar y diseñar la aplicación de lienzo, así como crear el código, para realizar los procesos empresariales que quiere simplificar.
  4. Si se requiere procesamiento masivo, el desarrollador debe crear un flujo de Power Automate para controlar el consumo de datos de Power Apps y su propagación a Dataverse. Puede configurar este flujo para proporcionar notificaciones o flujos de trabajo de aprobación que quiera incorporar en la automatización.
  5. Una vez completada la aplicación, debe incorporarla en el informe de Power BI. Puede hacerlo directamente en la pantalla del informe de Power BI o configurando una página de obtención de detalles.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Creadores de entidad de seguridad:

Otro colaborador:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Documentación del producto:

Módulos de entrenamiento de Microsoft Learn: