En este blog mostraremos información acerca de la nueva funcionalidad de Power BI, los llamados dataflows, que ya existen en otros servicios como Office 365. Hay que recalcar que esta nueva utilidad se encuentra todavía en fase beta, por lo que a día de hoy está sujeta a cambios y actualizaciones.
Los Dataflows son una nueva funcionalidad del servicio Power BI para procesos ETL de autoservicio que permiten a los analistas y/o usuarios de negocio compartir entidades de datos reutilizables y construirlos mediante Power Query.
A diferencia de los Datasets de Power BI, que al fin y al cabo son modelos tabulares de Analysis Services, los Dataflows se almacenan como entidades en Common Data Service (CMD) en Azure Data Lake Storage Gen2 (ADLSg2). Tanto los Datasets (Analysis Services) como los Dataflows (CMD) tienen en común la característica de que la tecnología subyacente es opaca para el usuario.
Los Dataflows permiten que los mismos usuarios que están familiarizados con los conjuntos de datos, informes y consultas en Power BI también creen los bloques de construcción de datos reutilizables que luego pueden servir como fuente de datos para sus Datasets.
Limitaciones de los Dataflows
Antes de entrar de lleno en el tema, es importante saber que los Dataflows tienen algunas limitaciones en función del tipo de usuario de Power BI. Para poder usar está funcionalidad hay que ser, como mínimo, un usuario Pro. Con una licencia estándar gratuita no podremos disfrutar de los Dataflows.
Ahora, dependiendo si la licencia es Premium o Pro, dispondremos de más o menos funcionalidades dentro de los Dataflows:
Funcionalidad | Licencia Pro | Licencia Premium |
Actualización programada | 8/día | 48/día |
Almacenamiento total | 10 GB/usuario | 100 TB/nodo |
Creación de flujos de datos con Power Query Online | ||
Administración de flujo de datos en Power BI | ||
Conector de datos de flujos de datos en Power BI Desktop | ||
Integración con Azure | ||
Entidades calculadas (transformaciones en almacenamiento mediante M) | ||
Nuevos conectores | ||
Actualización incremental de flujos de datos | ||
Ejecución en capacidad Premium de Power BI/ejecución paralela de transformaciones | ||
Entidades vinculadas a flujos de datos | ||
Esquema estandarizado/soporte integrado para Common Data Service |
Tabla 1. Información obtenida de la página oficial de Microsoft (docs.microsoft.com)
Ejemplo de creación y uso de Dataflows
A continuación, se mostrará detalladamente los pasos a seguir para poder crear y utilizar los Dataflows con una licencia de Power BI Pro.
Lo primero que deberemos de hacer es dirigirnos a nuestro servicio app.powerbi.com. Allí, crearemos un Workspace sobre el que crearemos nuestro Dataflow. Para el uso de los Dataflows es necesario descargar y configurar el Data Gateway para conectar a nuestro origen de datos.
Una vez que hayamos creado nuestro Workspace y configurado el Data Gateway para que apunte al origen de datos, accederemos al nuevo Workspace y crearemos nuestro Dataflow.
Inmediatamente nos aparecerá la ventana en la que se encuentra el editor de Dataflows. En ella, lo primero que debemos hacer es añadir una nueva entidad que será nuestro origen de datos. A continuación, se nos pide seleccionar un origen de datos. En nuestro caso, SQL Server. Después, configuraremos la conexión a este origen de datos seleccionando el Gateway que debemos haber descargado, instalado y configurado previamente.
A continuación, ya tendremos la conexión creada a nuestro origen de datos y podremos extraer las tablas que queramos mediante Power Query:
En la siguiente ventana tendremos un editor de consultas muy parecido al que tenemos en Power BI Desktop donde, mediante código M o transformaciones básicas, podremos modificar nuestros datos de origen. Sobre el icono de cada tabla, en la parte izquierda, vemos un interrogante. Éste desaparecerá a medida que vayamos clickando en cada una de las tablas y se haga el primer refresco de la información. Una vez que hayamos hecho las modificaciones pertinentes en el editor, clickaremos en el botón “Done” y ya podremos guardar nuestro primer Dataflow, el cual puede ser editado siempre que el usuario lo necesite.
Para conectar al Dataflow desde Power BI, es necesario hacer un primer refresco del dato.
Además, de igual manera que ocurre con el resto de elementos del servicio de Power BI, a los Dataflows también se les puede establecer un refresco programado de los datos. Como vemos, al tratarse de una licencia Pro y como hemos comentado en el apartado previo de limitaciones, “solo“ puedo programar 8 refrescos.
Por último, desde Power BI Desktop, podremos conectar a nuestro Dataflow y tratarlo como un origen más de datos en el que podemos hacer las relaciones necesarias, crear medidas DAX, editar las queries usando código M o transformaciones básicas…
Hay que comentar que al tratarse de una versión beta, tiene sus pequeños fallos. Entre estos fallos, por ejemplo, al importar las tablas de nuestro Dataflow, Power BI nos crea unas relaciones. Estas relaciones no tienen por qué estar hechas por los campos correctos. Además, tampoco se relacionan todas las tablas entre sí. Por este motivo, es conveniente que el usuario las revise cuando vaya a empezar con el modelado.
Bibliografía
La información técnica de este blog ha sido extraída de:
5 comments
Excelente artículo. Probé los dataflow nada más salir y me encontré de bruces con un gran problema. Al crear un modelo con Dataflow y consumirlo con el conector de Power BI para realizar informes existían errores en la importación de fechas y números decimales porque el csv donde se almacenan ignoraba el formato europeo del dataflow y utilizaba el anglosajón (MM-DD-AAAA) en las fechas y “.” como separador decimal. Empleando alguna técnica que otra conseguía arreglar el problema (utilización de fecha en entero y sustitución de . por comas en los decimales), pero era engorroso e hizo que me enfriase a la hora de profundizar más en su utilización.
¿Sabéis si esos problemas están ya solucionados? No he vuelto a usar dataflows desde entonces.
Hola Francisco.
Me alegro que te haya gustado el artículo.
Acabo de hacer una prueba cargando un .csv con decimales usando “.” y otro .csv usando “,” y no he tenido ese problema que comentas, por lo que quizá se haya arreglado en las últimas semanas.
Con las fechas tampoco he tenido problemas.
En cualquier caso, puede ser también algún tema de configuración regional de tu máquina.
Un saludo! 🙂
Muy buen artículo. ¿Cómo se activa el DataFlow para que me aparezca visible?
Hola Josep
Me alegro de que te haya gustado
Para que te aparezca la opción de DataFlow (como ves en mi Figura 3) debes tener, como mínimo, una licencia Pro
Un saludo
cuando creo un conjunto de datos utilizo una conexion a mi SQL con direct query, par no tener que importar el contenido de mis tablas. Mi pregunta es en esta conexion de flujo de datos el contenido es importado si o si ? que diferencia hay entre ambos?