Power BI Dataflows: Centralized Data Preparation

Master Power BI dataflows to centralize ETL logic, eliminate duplicate data preparation across reports, and build a governed, reusable data layer for your organization.

E
ECOSIRE Research and Development Team
|19 de marzo de 202614 min de lectura3.1k Palabras|

Flujos de datos de Power BI: preparación de datos centralizados

Cada entorno de Power BI eventualmente desarrolla el mismo problema: docenas de informes, cada uno con versiones ligeramente diferentes de la "misma" lógica de preparación de datos. Los datos de los clientes se limpiaron y estandarizaron de una manera en el panel de ventas, de manera ligeramente diferente en el informe de marketing y de nuevo de manera diferente en el resumen ejecutivo. Cuando el sistema de origen cambia (se cambia el nombre de una columna, se agrega una nueva región), actualizar cada informe individualmente es una pesadilla de mantenimiento.

Los flujos de datos de Power BI resuelven esto moviendo la preparación de datos de archivos de informes individuales (Power BI Desktop .pbix) a una capa compartida y centralizada en el servicio Power BI. La lógica escrita una vez en un flujo de datos está disponible para cualquier informe, por cualquier desarrollador, con un resultado consistente. Esta guía cubre la arquitectura del flujo de datos, los patrones de implementación y las capacidades avanzadas que hacen de los flujos de datos la base de un entorno Power BI gobernado.

Conclusiones clave

  • Los flujos de datos centralizan la lógica ETL de Power Query en el servicio Power BI, eliminando la duplicación entre informes.
  • Los flujos de datos producen entidades estandarizadas (tablas) que consumen varios informes de una única fuente
  • Las entidades vinculadas permiten que los flujos de datos hagan referencia a tablas de otros flujos de datos, lo que permite una arquitectura en capas.
  • Las entidades calculadas realizan transformaciones en entidades vinculadas dentro del motor de flujo de datos Premium
  • Dataflow Gen2 en Microsoft Fabric amplía los flujos de datos con destinos de preparación y salida
  • Los conocimientos de IA (Premium) aplican modelos de aprendizaje automático a la salida del flujo de datos: detección de anomalías, análisis de opiniones, extracción de frases clave
  • La actualización incremental de los flujos de datos mantiene actualizados los resultados de grandes transformaciones sin un reprocesamiento completo
  • Controles de gobernanza del flujo de datos quién puede crear, editar y consumir flujos de datos a través de permisos del espacio de trabajo

Por qué existen los flujos de datos

Para comprender los flujos de datos, resulta útil visualizar el problema que resuelven.

Sin flujos de datos (el patrón común):

  • El desarrollador A crea el Informe 1, se conecta a Salesforce, escribe 40 pasos de Power Query para limpiar y transformar los datos.
  • El desarrollador B crea el Informe 2, también se conecta a Salesforce y escribe 38 pasos de Power Query similares (ligeramente diferentes)
  • El desarrollador C crea el Informe 3, misma fuente, 45 pasos
  • Las credenciales de la API de Salesforce se almacenan en tres archivos diferentes
  • La lógica de categorización del "segmento de clientes" se implementa de tres maneras ligeramente diferentes.
  • Cuando la API cambia, es necesario actualizar tres archivos
  • Los tres informes ejecutan sus propias actualizaciones programadas en la API de Salesforce

Con flujos de datos:

  • El ingeniero de datos crea un flujo de datos con los 40 pasos de Power Query
  • Los informes 1, 2 y 3 se conectan a la entidad de flujo de datos como fuente de datos.
  • Una credencial API, una lógica de transformación, una actualización programada
  • Cuando la API cambia, se actualiza un flujo de datos.

Esta es la propuesta de valor fundamental: los flujos de datos son la capa ETL entre los sistemas de origen y los informes consumidores.


Patrones de arquitectura de flujo de datos

Las arquitecturas de flujo de datos bien diseñadas siguen un patrón en capas análogo a una arquitectura de medallón de almacén de datos:

Capa de bronce (flujo de datos provisional): extrae datos de los sistemas de origen con una transformación mínima: cambie el nombre de las columnas, corrija los tipos y filtre registros obviamente no válidos. Esta capa captura datos sin procesar en un formato estandarizado.

Capa plateada (flujo de datos principal): aplica lógica empresarial: calcula campos derivados, aplica búsquedas de datos de referencia, deduplica registros y aplica reglas comerciales específicas de la organización. Esta capa produce la representación canónica de cada entidad comercial.

Capa dorada (flujo de datos de informes o modelo semántico): agrega y estructura datos para casos de uso analíticos específicos: agregaciones precalculadas, medidas específicas de informes, cálculos de períodos de tiempo.

En Power BI, las entidades vinculadas conectan estas capas: el flujo de datos Silver hace referencia a entidades del flujo de datos Bronze mediante entidades vinculadas. La capa Oro hace referencia a entidades Plata. Los informes se conectan a entidades de la capa Gold.

Esta arquitectura significa: si un sistema de origen cambia, solo es necesario actualizar el flujo de datos Bronze. La lógica empresarial en Silver y la estructura de informes en Gold se mantienen estables.


Creando su primer flujo de datos

Los flujos de datos se crean en el servicio Power BI (no en Power BI Desktop). Navegue a un espacio de trabajo → Nuevo → Flujo de datos.

El entorno de edición de flujo de datos es Power Query Online: esencialmente la misma interfaz de Power Query que Power BI Desktop, pero ejecutándose en el navegador y en la infraestructura de nube de Microsoft.

Paso 1: Definir una fuente de datos

Haga clic en "Agregar nuevas entidades" → Elija un conector. Todos los conectores de Power BI Desktop están disponibles en flujos de datos, además de algunos conectores nativos de la nube (integración de Azure Data Factory, etc.).

Para una fuente de SQL Server:

Server: your-server.database.windows.net
Database: YourDatabase
Authentication: Organizational account or service principal

Paso 2: escribir consultas de transformación

La interfaz de Power Query presenta algo familiar: pasos aplicados, barra de fórmulas y vista previa. Cree su lógica de transformación exactamente como en Power BI Desktop: filtre filas, cambie el nombre de las columnas, combine con tablas de referencia y aplique lógica personalizada.

Para una consulta de estandarización de datos de clientes:

let
    Source = Sql.Database("server", "db"),
    Customers = Source{[Schema="dbo", Item="Customers"]}[Data],
    FilteredActive = Table.SelectRows(Customers, each [Status] = "Active"),
    RenamedColumns = Table.RenameColumns(FilteredActive, {
        {"cust_id", "CustomerID"},
        {"cust_nm", "CustomerName"},
        {"seg_cd", "SegmentCode"}
    }),
    SegmentLookup = Table.Join(
        RenamedColumns, "SegmentCode",
        SegmentDefinitions, "Code",
        JoinKind.LeftOuter
    ),
    RemovedDuplicates = Table.Distinct(SegmentLookup, {"CustomerID"})
in
    RemovedDuplicates

Paso 3: configurar el programa de actualización

Configure el programa de actualización del flujo de datos (hasta 48 veces por día en Premium, 8 veces por día en Pro). La actualización del flujo de datos ejecuta las consultas de transformación en el origen y escribe los resultados en el almacenamiento de Azure Data Lake Gen2 administrado por Power BI.

Paso 4: conectar informes al flujo de datos

En Power BI Desktop: Obtener datos → Power Platform → Flujos de datos de Power BI → navegue hasta el espacio de trabajo → seleccione la entidad. El informe se conecta a la salida almacenada de la entidad de flujo de datos, no al sistema de origen.


Entidades Vinculadas y Computadas (Premium)

Las entidades vinculadas permiten que un flujo de datos haga referencia a entidades de otro flujo de datos. Así es como se implementa la arquitectura en capas descrita anteriormente.

Creando una entidad vinculada: En el flujo de datos Silver → Nueva entidad → Vincular entidades de otros flujos de datos → seleccione la entidad Bronze.

La entidad vinculada aparece en el flujo de datos Silver como una tabla virtual que apunta a la salida del flujo de datos Bronze. Puede agregar pasos de transformación adicionales además de la entidad vinculada; estos pasos adicionales se ejecutan en el motor de flujo de datos, no en el origen.

Entidades calculadas son entidades vinculadas a las que se aplican transformaciones adicionales de Power Query. Se ejecutan en el procesamiento en memoria del motor de flujo de datos Premium en lugar de en el origen, lo que proporciona importantes ventajas de rendimiento para transformaciones complejas en grandes conjuntos de datos.

Distinción clave:

  • Sin Premium: las entidades vinculadas hacen referencia a los datos del otro flujo de datos, pero todo el procesamiento ocurre en el momento de la consulta con respecto a la fuente.
  • Con Premium (entidades calculadas): las transformaciones en entidades vinculadas se ejecutan en el motor analítico de Power BI utilizando los datos almacenados en caché, no el origen; dramáticamente más rápido para transformaciones complejas.

Esto es particularmente valioso para transformaciones que son costosas de ejecutar en el origen (uniones entre tablas grandes, agregaciones, funciones de ventana) pero que deben realizarse antes de que los datos lleguen a los informes.


Actualización incremental para flujos de datos

Al igual que los conjuntos de datos, los flujos de datos admiten la actualización incremental para procesar solo registros nuevos y modificados en lugar de recargar todos los datos en cada ciclo.

Requisitos:

  • Espacio de trabajo premium
  • Columna de fecha y hora en la consulta de origen.
  • Parámetros RangeStart y RangeEnd definidos en la consulta de flujo de datos

La configuración es idéntica a la actualización incremental del conjunto de datos: defina parámetros, aplique el filtro de fecha en la consulta, configure la política de actualización incremental en la entidad. El motor de flujo de datos crea particiones que cubren la ventana histórica y actualiza solo la ventana reciente en cada ciclo.

La actualización incremental para flujos de datos es más valiosa cuando:

  • Las transformaciones son costosas desde el punto de vista computacional y no desea volver a ejecutarlas con datos históricos sin cambios.
  • La consulta de origen es lenta debido al gran tamaño de las tablas y limitar la ventana de consulta reduce drásticamente el tiempo de recuperación.
  • El costo de almacenamiento importa: las particiones incrementales permiten que los datos históricos permanezcan almacenados sin volver a consultarlos

Para la mayoría de los flujos de datos pequeños y medianos (menos de 10 millones de filas), la actualización completa es más sencilla y suficiente. La actualización incremental se vuelve importante cuando los tiempos de actualización superan los 30 a 60 minutos.


Información sobre IA en flujos de datos (Premium)

Los flujos de datos de Power BI Premium incluyen AI Insights: funciones de aprendizaje automático prediseñadas disponibles directamente en Power Query Online.

Funciones de IA disponibles:

FunciónDescripciónCaso de uso
Análisis de texto: puntuación de sentimientoDevuelve positivo/negativo/neutral + puntuaciónComentarios de clientes, reseñas
Análisis de texto: frases claveExtrae los temas principales del textoTickets de soporte, comentarios
Análisis de texto: detección de idiomaIdentifica el idioma del textoClasificación de contenidos multilingües
Análisis de texto: reconocimiento de entidades nombradasIdentifica personas, lugares, organizacionesProcesamiento de documentos
Visión: Imagen de etiquetaEtiqueta objetos en imágenesClasificación del catálogo de productos
Visión: Describir ImagenGenera descripción de imagenModeración de contenidos
AutoML (modelos personalizados)Aplicar modelos entrenados de Azure MLCualquier clasificación/regresión personalizada

Estas funciones se invocan como transformaciones de columnas personalizadas en el editor de Power Query. Un paso de puntuación de opiniones en una columna de comentarios de clientes:

= Table.AddColumn(Source, "Sentiment", each
    TextAnalytics.SentimentScore([CustomerComment]),
    type number
)

La función de IA llama a Azure Cognitive Services entre bastidores; el resultado (una puntuación de sentimiento de 0 a 1) aparece como una nueva columna. Esto permite conjuntos de datos enriquecidos sin necesidad de un proceso de ciencia de datos independiente.


Gobernanza y seguridad del flujo de datos

Como capa central de preparación de datos, los flujos de datos requieren controles de gobernanza para garantizar la calidad y evitar cambios no autorizados.

Permisos del espacio de trabajo controlan quién puede crear y editar flujos de datos. La creación de flujo de datos requiere acceso de colaborador o administrador al espacio de trabajo. Los consumidores (desarrolladores de informes que se conectan al flujo de datos) solo necesitan acceso de visor. Esta separación de funciones garantiza que ingenieros de datos autorizados mantengan la lógica empresarial en las capas Bronce y Plata.

La certificación marca los flujos de datos como aprobados por una autoridad central. Un flujo de datos certificado se resalta en el selector de fuentes de datos de Power BI Desktop, lo que dirige a los desarrolladores de informes a la fuente de datos autorizada y gobernada en lugar de crear la suya propia desde cero.

Las etiquetas de confidencialidad aplican etiquetas de Microsoft Purview Information Protection a los flujos de datos que contienen datos confidenciales. Un flujo de datos que contiene PII recibe una etiqueta "Confidencial", que se transmite en cascada a cualquier informe que consuma ese flujo de datos.

Linaje de datos en el portal de administración de Power BI muestra el flujo desde origen → flujo de datos → conjunto de datos → informe. Cuando cambia un sistema de origen, el linaje de datos ayuda a identificar todos los informes posteriores que pueden verse afectados.

Supervisión de la actualización del flujo de datos: el portal de administración de Power BI muestra el historial, la duración y los errores de la actualización del flujo de datos. La configuración de alertas a través de Power Automate para actualizaciones fallidas del flujo de datos garantiza que los problemas de actualización de los datos se detecten inmediatamente en lugar de descubrirse cuando un usuario informa datos obsoletos.


Flujos de datos versus almacén de datos

Los flujos de datos no reemplazan un almacén de datos dedicado: son un complemento. Comprender dónde encaja cada uno evita errores arquitectónicos.

CapacidadFlujos de datosAlmacén de datos
Transformaciones de Power QueryNativoNo nativo
Transformaciones SQLNo compatibleNativo
Uniones complejas en tablas grandesLimitadoOptimizado
Costo de almacenamientoPrecios fijos y gestionadosVariables
Control de versiones (dbt, GitHub)No compatibleExcelente
Consumidores que no utilizan Power BI (Tableau, Python)Limitado
Sirviendo múltiples herramientas de BISolo PowerBICualquier herramienta
Madurez de la gobernanza empresarialModeradoAlto

Las organizaciones con prácticas maduras de ingeniería de datos deben utilizar un almacén de datos como capa principal de transformación y almacenamiento, con flujos de datos como una transformación ligera opcional para la lógica específica de Power BI. Las organizaciones sin recursos de ingeniería de datos a menudo encuentran que los flujos de datos son suficientes para sus necesidades sin necesidad de un almacén separado.


Preguntas frecuentes

¿Cuál es la diferencia entre los flujos de datos de Power BI y los conjuntos de datos de Power BI?

Los flujos de datos son la capa de preparación de datos/ETL: extraen, transforman y almacenan datos como tablas (entidades) en Azure Data Lake. Los conjuntos de datos (modelos semánticos) son la capa analítica: definen medidas, jerarquías, relaciones y seguridad además de los datos almacenados. Un patrón común: los flujos de datos preparan y almacenan datos limpios → los conjuntos de datos se importan de los flujos de datos y agregan lógica analítica → los informes se conectan a los conjuntos de datos. Cumplen diferentes roles en la arquitectura.

¿Necesito Power BI Premium para usar flujos de datos?

Los flujos de datos básicos están disponibles con las áreas de trabajo de Power BI Pro. Premium (o Fabric) agrega entidades calculadas, conocimientos de inteligencia artificial, actualización incremental y rendimiento mejorado. Para la mayoría de las organizaciones pequeñas y medianas, los flujos de datos de nivel Pro son suficientes. Las funciones premium se vuelven importantes cuando los volúmenes de transformación son grandes, se necesita enriquecimiento de IA o se requiere una actualización incremental.

¿Puedo conectar herramientas que no sean Power BI a datos de flujo de datos?

Sí. Los flujos de datos de Power BI almacenan su salida en Azure Data Lake Gen2 en formato CDM (Common Data Model). Las organizaciones con Premium o Fabric pueden configurar el flujo de datos para usar su propia cuenta de Azure Data Lake, haciendo que los archivos parquet sean accesibles para otras herramientas (Azure Synapse Analytics, Azure Databricks, Python, Tableau). Esta configuración de "traiga su propio lago" está disponible en los espacios de trabajo Premium y Fabric.

¿Cómo manejan los flujos de datos la gestión de credenciales de origen de datos?

Las credenciales de origen de datos en los flujos de datos se almacenan en el servicio Power BI y los administradores del espacio de trabajo las administran. Esta es una mejora con respecto a las credenciales a nivel de informe: en lugar de que cada desarrollador de informes almacene las credenciales en su archivo .pbix, las credenciales se administran de forma centralizada para el flujo de datos. Se recomienda la autenticación de entidad de servicio (aplicación Azure AD) para flujos de datos de producción automatizados en lugar de credenciales de usuario personales que caducan cuando el usuario abandona la organización.

¿Pueden los flujos de datos llamar a API REST o a fuentes de datos no estándar?

Sí. Los flujos de datos utilizan el mismo ecosistema de conectores de Power Query que Power BI Desktop, incluidos conectores de API REST a través del conector web, conectores personalizados (archivos .mez) y conectores de funciones. Se pueden definir funciones M personalizadas dentro del flujo de datos para encapsular la lógica API. La paginación de API compleja, los flujos de autenticación y la limitación de velocidad se pueden manejar en Power Query dentro del entorno de flujo de datos.


Próximos pasos

Los flujos de datos son la base de un entorno de análisis de Power BI gobernado y escalable. Invertir temprano en la arquitectura de flujo de datos adecuada evita la deuda técnica de cientos de informes desconectados con una lógica de preparación de datos duplicada e inconsistente.

Los servicios de modelado de datos Power BI de ECOSIRE incluyen diseño de arquitectura de flujo de datos, implementación de patrones de preparación de datos en capas Bronce-Plata-Oro y configuración de gobernanza. Contáctenos para evaluar su entorno actual y diseñar una estrategia de flujo de datos que se adapte a su organización.

E

Escrito por

ECOSIRE Research and Development Team

Construyendo productos digitales de nivel empresarial en ECOSIRE. Compartiendo perspectivas sobre integraciones Odoo, automatización de eCommerce y soluciones empresariales impulsadas por IA.

Chatea en whatsapp