Procedimientos recomendados para diseñar y desarrollar flujos de datos complejos
Si el flujo de datos que está desarrollando es cada vez más grande y más complejo, estas son algunas cosas que puede hacer para mejorar el diseño original.
Dividirlo en varios flujos de datos
No haga todo en un flujo de datos. No solo hace que un flujo de datos único y complejo haga que el proceso de transformación de datos sea más largo, sino que también dificulta la comprensión y reutilización del flujo de datos. La división del flujo de datos en varios flujos de datos se puede realizar mediante la separación de entidades en distintos flujos de datos o incluso una entidad en varios flujos de datos. Puede usar el concepto de una entidad calculada o una entidad vinculada para crear parte de la transformación en un flujo de datos y reutilizarla en otros flujos de datos.
División de flujos de datos de transformación de datos a partir de flujos de datos de almacenamiento provisional o extracción
Tener algunos flujos de datos solo para extraer datos (es decir, flujos de datos de almacenamiento provisional) y otros solo para transformar datos es útil no solo para crear una arquitectura multicapa, también resulta útil para reducir la complejidad de los flujos de datos. Algunos pasos simplemente extraen datos del origen de datos, como obtener datos, navegación y cambios en el tipo de datos. Al separar los flujos de datos de almacenamiento provisional y los flujos de datos de transformación, los flujos de datos son más sencillos de desarrollar.
Imagen que muestra los datos que se extraen de un origen de datos a los flujos de datos de almacenamiento provisional, donde las densidades se almacenan en Dataverse o Azure Data Lake Storage, los datos se mueven a flujos de datos de transformación donde los datos se transforman y convierten en la estructura del almacenamiento de datos y, a continuación, los datos se mueven al conjunto de datos.
Uso de funciones personalizadas
Las funciones personalizadas son útiles en escenarios en los que se debe realizar un número determinado de pasos para una serie de consultas de diferentes orígenes. Las funciones personalizadas se pueden desarrollar a través de la interfaz gráfica en Editor de Power Query o mediante un script M. Las funciones se pueden reutilizar en un flujo de datos en tantas entidades como sea necesario.
Tener una función personalizada ayuda al tener solo una versión del código fuente, por lo que no es necesario duplicar el código. Como resultado, mantener la lógica de transformación Power Query y todo el flujo de datos será mucho más fácil. Para obtener más información, consulte la siguiente entrada de blog: Funciones personalizadas fáciles en Power BI Desktop.
Colocar consultas en carpetas
El uso de carpetas para consultas ayuda a agrupar consultas relacionadas. Al desarrollar el flujo de datos, dedique un poco más tiempo a organizar consultas en carpetas que tengan sentido. Con este enfoque, puede encontrar consultas más fácilmente en el futuro y mantener el código será mucho más fácil.
Uso de entidades calculadas
Las entidades calculadas no solo hacen que el flujo de datos sea más comprensible, sino que también proporcionan un mejor rendimiento. Cuando se usa una entidad calculada, las demás entidades a las que se hace referencia obtienen datos de una entidad "ya procesada y almacenada". La transformación será mucho más sencilla y rápida.
Aproveche las ventajas del motor de proceso mejorado.
En el caso de los flujos de datos desarrollados en el portal de administración de Power BI, asegúrese de usar el motor de proceso mejorado realizando primero combinaciones y transformaciones de filtro en una entidad calculada antes de realizar otros tipos de transformaciones.
Dividir muchos pasos en varias consultas
Es difícil realizar un seguimiento de un gran número de pasos en una entidad. En su lugar, debe dividir un gran número de pasos en varias entidades. Puede usar Habilitar carga para otras consultas y deshabilitarlas si son consultas intermedias y cargar solo la entidad final a través del flujo de datos. Cuando tiene varias consultas con pasos más pequeños en cada una, es más fácil usar el diagrama de dependencias y realizar un seguimiento de cada consulta para una investigación más detallada, en lugar de profundizar en cientos de pasos en una consulta.
Adición de propiedades para consultas y pasos
La documentación es la clave para tener código fácil de mantener. En Power Query, puede agregar propiedades a las entidades y también a los pasos. El texto que agregue en las propiedades se mostrará como información sobre herramientas al mantener el puntero sobre esa consulta o paso. Esta documentación le ayudará a mantener el modelo en el futuro. Con un vistazo a una tabla o paso, puede comprender lo que sucede allí, en lugar de replantear y recordar lo que ha hecho en ese paso.
Asegurarse de que la capacidad está en la misma región
Actualmente, los flujos de datos no admiten varios países o regiones. La capacidad Premium debe estar en la misma región que el inquilino de Power BI.
Separar orígenes locales de los orígenes de nube
Se recomienda crear un flujo de datos independiente para cada tipo de origen, como local, nube, SQL Server, Spark y Dynamics 365. La separación de flujos de datos por tipo de origen facilita la solución de problemas rápida y evita límites internos al actualizar los flujos de datos.
Separar flujos de datos en función de la actualización programada necesaria para las entidades
Si tiene una tabla de transacciones de ventas que se actualiza en el sistema de origen cada hora y tiene una tabla de asignación de productos que se actualiza cada semana, divida estas dos en dos flujos de datos con diferentes programaciones de actualización de datos.
Evitar la programación de la actualización de entidades vinculadas en la misma área de trabajo
Si periódicamente está bloqueado fuera de los flujos de datos que contienen entidades vinculadas, podría deberse a un flujo de datos dependiente correspondiente en la misma área de trabajo bloqueada durante la actualización del flujo de datos. Este bloqueo proporciona precisión transaccional y garantiza que ambos flujos de datos se actualicen correctamente, pero puede impedir que se edite.
Si configura una programación independiente para el flujo de datos vinculado, los flujos de datos se pueden actualizar innecesariamente y impedir que edite el flujo de datos. Hay dos recomendaciones para evitar esto:
- No establezca una programación de actualización para un flujo de datos vinculado en la misma área de trabajo que el flujo de datos de origen.
- Si desea configurar una programación de actualización por separado y desea evitar el comportamiento de bloqueo, mueva el flujo de datos a un área de trabajo independiente.