Cómo no romper los límites, cómo crear una buena arquitectura y cómo hacer un buen mantenimiento

¿Sabes que DataFlow permite extraer y transformar datos en PowerBI?

 

DataFlow permite extraer y transformar datos en PowerBI

Muchas veces tenemos tal cantidad de información en diferentes orígenes de datos locales y tenemos que dar acceso a esos orígenes a tantos usuarios medio-avanzados para que puedan realizar sus propios informes, que desde la perspectiva de administración, se vuelve un poco ingobernable y empieza a cundir un poco el pánico… ¡Normal!…Estos son los momentos en los que te planteas un Plan de Gobierno y normalizar una metodología de trabajo 😜

Otras veces, existe una necesidad con respecto a dar acceso a determinadas columnas de determinadas tablas, y entonces surge la duda de cómo hacer para permitir un acceso restringido a determinada información de diversas tablas y BBDD. Esto en el ámbito del tratamiento de los datos, cae bajo el paraguas de desarrollar una ETL, por ejemplo, con Azure Functions que permita montar una BBDD intermedia donde exponer solo la información restringida y necesaria para esos usuarios. Pero claro esta solución, implica a veces bastante tiempo y esfuerzo en su implementación… y muchas organizaciones la descartan de inmediato.

Otras, simplemente tenemos tal cantidad de datos a los cuales aplicar transformaciones, establecer lógicas o dar formato, que resulta complicada no solo su implementación, sino también el procesado cada vez que tenemos que actualizar dichos datos ya tratados…vamos, que nos toca dejar toda la noche procesando y refrescando 😵

Y por último, y no menos importante, están esas situaciones en las que tiene que estar el informe listo con cierta inmediatez, pero los datos no están preparados, ¿Quién no ha estado en alguna situación así alguna vez? 👀 🤔

Bueno pues que no cunda el pánico….

Hay una característica que ya lleva algún tiempo en el servicio de Power BI y que cada vez está cogiendo más peso, justo para dar cobertura a algunas de estas situaciones. Esta funcionalidad se llama DataFlow y permite de forma sencilla, sin instalación previa de ningún programa, sin necesidad de conocer código de programación para hacer una Azure Function, inclusive sin necesidad de conocer sintaxis para la transformación de los datos, realizar una ETL para conseguir un Dataset ya “preparado y filtrado” para su utilización.

Suena bien ¿verdad?

Pues vamos a ver de forma sencilla cómo configurarlo y en qué consiste esta funcionalidad.

Lo primero que necesitamos para poder utilizar el servicio de DataFlow, es una suscripción de Power BI Pro o Premium. Dentro de un Workspace podremos crear uno nuevo. Al crearlo tendremos diferentes opciones, entre ellas la de conectarnos a las entidades que deseemos de la infinidad de orígenes de datos que dispone el servicio de Power BI:

Una vez conectadas las entidades, es cuando podremos preparar los datos, eliminar columnas, dar formato, etc. de forma muy sencilla. Para ello dispone del editor Power Query, y que posiblemente muchos ya conozcáis de la herramienta Power BI Desktop:

Una vez preparada la información, modeladas las transformaciones necesarias y establecidos los formatos a los campos …. ¡Et voila! Tendremos listo el Dataflow para su uso 😉

Estará disponible para todos aquellos miembros que tengan acceso al Workspace y además, podremos programar su actualización para que los datos del dataset generado estén actualizados con la recurrencia necesaria.

Como podéis ver, muy sencillito de configurar 😉

Ahora bien, aterricemos qué ventajas nos ofrece su utilización:

  • Evitamos que los usuarios que actualizan los informes de forma constante lancen dichas peticiones de consulta a la BBDD local. Es decir, estarán actualizando el informe de acuerdo a la última actualización del DataFlow, y por tanto serán los administradores de los DataFlow quienes determinen cuándo es óptimo lanzar la actualización a la BBDD. ¡Wow! ¡Estamos evitando colapsar las BBDD de consultas de los usuarios!
  • De forma sencilla podemos preparar la información que nos solicitan los usuarios, sin necesidad de darles accesos a toda la base de datos, ni a todas las columnas de todas las tablas.
  • Al disponer de un servicio que procesa los cambios, las transformaciones y los formatos de un conjunto de datos cuyo volumen va in crescendo, no estamos utilizando recursos propios para ello.

Pero entonces, si esto es tan fantástico, ¿para qué me voy siquiera a plantear un DataWarehouse, una BBDD Azure SQL intermedia, o un desarrollo ETL mediante Azure Functions?🤔

Como todo en esta vida, no es blanco o negro, y cada necesidad, cada organización y cada casuística, nos llevará hacia un camino u otro.

Dataflow está muy bien, sin embargo, hay una serie de consideraciones a tener en cuenta que lógicamente, pueden impactar en nuestra decisión y solución final:

  • Con el servicio actual de Dataflow el almacenamiento máximo que se dispone es de 10 GB/usuario. Por tanto, si tenemos inmensa cantidad de datos que exponer y tratar con Dataflow estaremos limitados a ese almacenamiento. Existe la alternativa de ampliarlo con capacidad Premium y por tanto utilizar el propio almacenamiento en Azure Data Lake Storage Gen2, pero es una característica todavía en versión preliminar y que además llevará su coste asociado al tratarse de un servicio de Azure.
  • Cuando tengamos que aplicar una lógica más compleja como por ejemplo seguridad a nivel de fila RLS o por ejemplo establecer dimensiones y hechos en un modelo más robusto, posiblemente DataFlow no sea suficiente.

Mi conclusión es que dependiendo de las necesidades que tengamos, DataFlow será una solución muy válida en los casos que necesitemos inmediatez, exponer información controlada y no toda la BBDD, existan pocos datos, o necesitemos hacer transformaciones y establecer formatos sencillos a los datos. Sin embargo, por mi experiencia, hay situaciones que requieren de una complejidad adicional, que traspasa de largo la seguridad y  la estructura del dato, para las que DataFlow se quedaría cojo para cubrirlas.

mm

Sobre Rocío Romero López

Formo parte del Equipo de Customer Services de ENCAMINA y tengo más de tres años de experiencia en Consultoría y Transformación Digital de Organizaciones. En este tiempo he ayudado a decenas de empresas a transformar su negocio y hacerlo más digital. También soy experta en Business Intelligence y estoy certificada por Microsoft en la Tecnología de Power BI y MCP SQL2012. Para resumir, soy Cloud Solutions Specialist en ENCAMINA 😉
Esta entrada ha sido publicada en Azure, PowerBI y etiquetada como , . Enlace permanente .
ENCAMINA, piensa en colores