Posiblemente si trabajas en el mundo del dato y utilizas la tecnología de Microsoft, concretamente Power BI como herramienta para la creación de los informes de tu organización, te haya surgido esta duda en alguna ocasión… ¿Debería utilizar el servicio de Datasets compartidos con los usuarios para que generen sus propios informes? 🤔🙄 ¿Será mejor que utilice Dataflow en este caso? Veamos con detalle que nos ofrece cada uno 👀
Dataflow (Flujo de Datos)
Esta funcionalidad que nos ofrece el servicio de Power BI permite de forma sencilla realizar una ETL directamente en el servicio de Power BI, de forma que con ella podemos conectarnos al origen del dato y utilizar esta funcionalidad para tratar y preparar la información que posteriormente utilizaran los usuarios como origen en sus informes de Power BI Desktop.…sería algo así como el sustituto online del editor de consultas Power Query 💡
Si quieres conocer esta funcionalidad un poquito más de detalle…en este post encontrarás más información al respecto de Dataflow.
La funcionalidad de Flujo de datos puede solucionar uno de los hándicaps 😵 de cualquier organización, como es el caso de tener múltiples versiones de una misma tabla (o de varias), ya que la preparación del dato la ofreces a los usuarios directamente ya habiendo preparado tú la información en el Dataflow, y no son los usuarios los que finalmente tienen que personalizar cada tabla, generando así múltiples versiones de la misma en diferentes informes 😉. Por tanto, esta solución puede resultar muy buena desde el punto de vista:
-
De evitar que los usuarios tengan que personalizar ellos mismos la información de origen, generando así múltiples tablas de un mismo origen, y minimizando el ruido que todo esto pueda generar en la organización.
-
A los usuarios que no tengan conocimiento en Power Query, les estás brindando la solución para que directamente hagan sus informes sin preocuparse de eliminar columnas, corregir errores o modificar tipos de datos (cosa que ya has preparado con Dataflow de acuerdo a las necesidades analíticas de los usuarios).
Dataset ( conjunto de datos)
Esta funcionalidad que nos ofrece el servicio de Power BI permite disponer de un modelo de datos preparado y listo para utilizarse directamente en un informe, mediante un conector dinámico al servicio, de forma que un usuario no tenga que preocuparse en establecer las relaciones entre las diferentes tablas que conformen el modelo e incluso, tampoco tenga la necesidad de crear medidas o columnas con DAX, que ya estén implementadas en el Dataset 💡
El procedimiento habitual de generación de un dataset, suele ser, partiendo de Power BI Desktop, donde un desarrollador del dato, prepare la información, estableciendo las relaciones entre las tablas y desarrollando las medidas o columnas calculadas DAX, necesarias para el análisis de la información posterior.
Una vez generado el conjunto de datos, este es publicado en el servicio, en el workspace correspondiente, para que, una vez disponible desde allí….¡Et voila! 🤩 cualquier usuario que tenga acceso al mismo conjunto de datos( dataset) pueda conectar de forma dinámica para generar sus propios informes, en función de su necesidad analítica.
El conjunto de datos( dataset) puede solucionar otro de los hándicaps 😵 de cualquier organización, como es el caso de disponer de múltiples versiones de una misma medida o columna, ya que la generación de esa columna la puedes ofrecer habiéndola calculado previamente en el dataset. Al facilitar el dataset a los usuarios, ellos podrán utilizar dichas medidas y columnas, que serán 100% pertenecientes al modelo conectado, evitando que ellos mismos tengan que crear esas medidas y columnas 😉. Por tanto, esta solución puede resultar óptima desde varios puntos de vista:
-
Evitas que los usuarios que no tienen mucho control con las relaciones y las tablas, tengan que implementar el modelo, ya que, al conectarse de forma dinámica al conjunto de datos, les vendrá importado el modelo y las relaciones, minimizando así los problemas que puedan verse derivados de los cross-filterings o relaciones erróneas entre tablas.
-
A los usuarios que no tengan conocimiento en DAX, les estás brindando la solución para que dispongan de las medidas y columnas necesarias en el modelo, sin tener que preocuparse de tener que generarlas ellos mismos.
Conclusión
A modo de resumen, ninguna de las dos es sustituta de la otra, al contrario, pueden resultar incluso complementarias. Por ejemplo, puedes utilizar Dataflow para preparar el modelo (tratamiento de los datos, formatos, eliminación de columnas o datos innecesarios, tratamiento de errores, etc.) y utilizar este Dataflow como origen para construir el Dataset que compartirás con los usuarios finales.Peroooo entonces 🤔 ¿Qué debería utilizar? ¿Cuál sería mejor? Como todo en esta vida, no todo es blanco o negro… ¡🎨Hay una gran paleta de grises🎨! Por tanto, la respuesta a estas preguntas sería que dependiendo de qué quieras ofrecer a tus usuarios, del conocimiento que dispongan con respecto al modelado de relaciones y DAX y del control y autonomía que tengan con el tratamiento de datos de Power Query, deberías plantear una, otra, o incluso, como has podido comprobar, plantear ambas 🙂🙃