Mover consultas de Power BI Desktop a Dataflows

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

Contenidos

Hace unas semanas escribí un artículo en el que presentaba los flujos de datos en Power BI y discutí por qué debería preocuparse por ellos. Hay algunas preguntas que han estado dando vueltas en mi cabeza desde entonces, de manera significativa:

  1. ¿Qué implicación tiene el Power BI Golden Dataset como resultado de los nuevos flujos de datos?
  2. ¿Debo extraer mis consultas de mis libros de trabajo de Power BI y crear flujos de datos en su lugar?

Volveré a la pregunta 1 en otro momento. Hoy voy a explicar cómo y por qué es posible que desee trasladar sus consultas a flujos de datos.

¿Por qué querría mover consultas a flujos de datos?

Power Query es una herramienta ETL fácil de usar (Extraer, Transformar y Cargar). Tradicionalmente, ETL se ha realizado utilizando herramientas más complicadas (como SQL Server Integration Services – SSIS) y los datos resultantes se almacenan en un data mart o data warehouse para que los consuma cualquier persona que necesite una vista estándar de los datos. Power BI Desktop puede consumir tablas directamente desde un almacén de datos y simplemente cargar la tabla en Power BI, muy fácil. Pero Power Query también es una poderosa herramienta ETL por derecho propio, y se puede usar para transformar y remodelar los datos de origen directamente dentro de Power BI Desktop (y luego en PowerBI.com). Esto es muy útil si:

  1. No tiene un almacén de datos y / o
  2. Necesita alguna variación de lo que hay en su almacén de datos.
  3. Tiene otras fuentes de datos que no se encuentran en un almacén de datos pero que siguen siendo importantes para usted.

Adoptar este enfoque (manipular en Power Query) está perfectamente bien si tiene un solo workbook, pero ¿Qué pasa si tiene 10 libros de trabajo similares que necesitan la misma transformación? Peor aún, ¿y si estás ¿Una de las muchas personas de una empresa que hacen lo mismo con varios libros de trabajo? Es posible que termine con cientos de consultas de Power Query incrustadas en libros de trabajo que sean idénticas o, lo que posiblemente sea peor, tal vez incluso ligeramente diferentes. Una de las cosas que los flujos de datos le permiten hacer es eliminar el código de Power Query del workbook de Power BI y ponerlo a disposición para su consumo muchas veces en varios libros de trabajo de la misma fuente. Vea la imagen a continuación.

dataflows-before-and-after-2-1555898

Cómo mover sus consultas a flujos de datos

Me propuse trasladar mis consultas de un workbook de muestra a flujos de datos. Primero creé un nuevo espacio de trabajo para almacenar mis flujos de datos (lo llamé myData). Me di cuenta de que cuando tiene un espacio de trabajo en blanco (sin libros de trabajo cargados), verá la pantalla de bienvenida como se muestra a continuación. No me quedó claro cómo crear un flujo de datos y no es intuitivo. Todo lo que tiene que hacer es hacer clic en «omitir» para poder crear un flujo de datos.

image_thumb-14-3486517

Desde allí, hice clic en «Flujos de datos» en el menú en la parte superior de la página y, luego, en el botón Crear.

image_thumb-15-2814625

Copié las consultas de mi archivo PBIX actual de una en una. Para hacer esto, simplemente entré en el editor de consultas en Power BI Desktop, hice clic con el botón derecho en una consulta (1 a continuación) y seleccioné la copia (2).

image_thumb-16-5643045

Luego volví a PowerBI.com y agregué una nueva fuente de datos de consulta en blanco dentro de los flujos de datos

image_thumb-17-2164796

Luego pegué el código del portapapeles directamente sobre el código de consulta de energía inicial en el flujo de datos como se muestra a continuación.

image_thumb-18-5242967

En mi caso estoy usando una consulta muy simple. Dado este caso, probablemente sea más fácil crear las nuevas consultas conectadas directamente a mi base de datos SQL directamente dentro del flujo de datos en lugar de usar copiar y pegar. Si tenía una consulta más compleja, entonces copiar y pegar es definitivamente la forma correcta de hacerlo.

Cuando pegué el código, se me pidió que seleccionara una puerta de enlace. Ya tenía una puerta de enlace empresarial configurada para mi PC / servidor, así que la seleccioné de la lista. Nota: los flujos de datos no funcionarán con una puerta de enlace personal. Si tiene una puerta de enlace personal, puede considerar desinstalarla e instalar la versión empresarial en su lugar. No se asuste, no es nada difícil de hacer y no es muy diferente del Personal Gateway.

image_thumb-19-7988711

Luego tuve que ingresar mis credenciales para la PC / Servidor para asegurarme de que el flujo de datos pudiera acceder a la puerta de enlace.

A partir de ahí, solo fue cuestión de repetir el proceso para todas las demás tablas en mi archivo PBIX. En mi caso, solo me estaba conectando a mi base de datos de SQL Server, por lo que fue más rápido crear una nueva Entidad para cada una de mis tablas SQL directamente como una nueva fuente de base de datos SQL, así que eso es lo que hice.

Crea una nueva conexión SQL

Para hacer esto, simplemente fui a una nueva fuente de datos, SQL Server.

img_5bf714e5bbcda-9152680

Luego ingresé los detalles de la base de datos Y las credenciales de la puerta de enlace.

img_5bf71562ca27d-2051480

Siga los pasos normales de Power Query para completar la importación de las otras tablas.

Los nuevos flujos de datos están listos

En este punto, tenía mis 5 tablas configuradas como flujos de datos como se muestra a continuación. Técnicamente, cada una de estas «tablas» se denomina «entidad» dentro de los flujos de datos. Esta es una pista de que los flujos de datos pueden hacer mucho más que ofrecer una tabla a un usuario (como un almacén de datos).

image_thumb-20-4691980

Actualizar las tablas

Luego guardé el flujo de datos (lo llamé AdventureWorks) y luego ejecuté la actualización cuando se me solicitó. Solo un recordatorio para aquellos de ustedes que no se encuentran en los EE. UU., Deberán cambiar el Lugar de sus conexiones para que cosas como las fechas se traten correctamente. El valor predeterminado es inglés de EE. UU. Y necesito inglés AUS.

image_thumb-21-3398071

Este cambio solo tiene que hacerse (debería hacerse) una vez para cada fuente de datos, pero actualmente hay un error que impide que se guarde este cambio. Sé que MS está trabajando en esto. Dado que esto no funciona correctamente en este momento, tuve que cambiar las columnas de fecha al tipo de datos «texto», de lo contrario, las consultas siempre fallaron cuando encontraron una fecha como 28/1/2004. Una vez que los datos se cargaron como texto en Power BI Desktop, pude cambiar el tipo de datos hasta la fecha nuevamente, obteniendo la información de configuración regional correcta de mi PC. Difícilmente ideal, pero es una solución alternativa hasta que se solucione este error.

Vuelva a apuntar las tablas en el PBIX

Hay algunas formas de hacer esto, pero la forma más fácil es meterse bajo el capó en el código en Power Query. El proceso consiste en:

  • Cree una nueva conexión a una de las entidades en el nuevo flujo de datos desde Power BI Desktop (obtenga datos Power BI Dataflows). Repita para todas las demás tablas.
  • Luego vaya a Power Query (editar consultas) y seleccione el Editor avanzado para la primera consulta nueva, y copie el código M.

img_5bf49ad6713a0-6981031

  • Luego, ingrese a la consulta de la tabla de coincidencias original, ingrese al Editor avanzado y reemplace el código actual que existe con el nuevo código.
  • Repita el proceso de cortar y pegar para las otras tablas.
  • eliminar las consultas duplicadas (las nuevas, no las originales).

Las ventajas de utilizar este enfoque incluyen:

  • Cualquier columna calculada que tenga en la tabla seguirá funcionando
  • No es necesario mover ninguna medida de las tablas.

Nota: No puede simplemente eliminar las tablas originales y cambiar el nombre de las nuevas tablas en Power Query y esperar que funcione. Debe cortar y pegar el nuevo código en la tabla original que desea conservar.

Publique el workbook en PowerBI.com

Una característica REALMENTE interesante de los flujos de datos es que ahora puedo publicar mi archivo PBIX en PowerBI.com, pero no es necesario que se publique en el mismo espacio de trabajo que contiene mis flujos de datos. Para esta demostración, publiqué mi versión actualizada de mi workbook en «Mi espacio de trabajo», no en el espacio de trabajo de myData que creé anteriormente.

Actualizar flujos de datos y libros de trabajo

Lo último que hice fue configurar actualizaciones programadas para los flujos de datos y los libros de trabajo. Por supuesto, primero necesito configurar la actualización programada para que el flujo de datos se ejecute y se complete, seguido de una actualización del workbook.

Actualización de flujos de datos

Volví al espacio de trabajo de flujos de datos y seleccioné la actualización del programa.

image_thumb-25-8894609

Configuré el horario para actualizar cada día a las 8:00 a. M.

image_thumb-26-9722126

Luego volví a Mi espacio de trabajo e hice lo mismo con el conjunto de datos del workbook

image_thumb-27-1979159

Antes de continuar, tuve que configurar mis credenciales.

image_thumb-28-1460474

Hice clic en «editar credenciales». Apareció la siguiente ventana. Primero estaba confundido acerca de esto porque estaba tratando de editar los datos en los primeros 2 cuadros de texto, pero eso no es lo que se necesita. Simplemente haga clic en «iniciar sesión» y luego inicie sesión en su cuenta.

image_thumb-29-6878031

Después de iniciar sesión, pude programar la actualización del conjunto de datos. Lo configuré a las 8:30 am, dando tiempo suficiente al flujo de datos para que se actualice primero.

image_thumb-30-9387684

Beneficios

Los beneficios de hacerlo de esta manera incluyen.

  1. Tiene 1 consulta maestra para cada tabla.
  2. Puede cargar estas tablas en varios libros de trabajo reutilizando una fuente común.
  3. Si necesita editar la consulta, edítela en un solo lugar y fluirá a todos los libros de trabajo.
  4. Otras personas pueden utilizar las mismas consultas (siempre que tengan acceso al espacio de trabajo que contiene los flujos de datos.
  5. Hay una versión de la verdad.
  6. Los flujos de datos pueden usar almacenes de datos tradicionales como fuente, pero también pueden usar hojas de cálculo de Excel y archivos CSV. En este sentido, los flujos de datos pueden extender el concepto de un almacén de datos empresarial a un conjunto más amplio de datos, incluidos los datos no administrados por TI.
  7. Existen beneficios de rendimiento frente a la puerta de enlace, ya que la puerta de enlace solo se usa una vez por consulta en lugar de potencialmente muchas veces.

¿Qué piensas?

Me encantaría saber qué piensa acerca de configurar sus consultas de esta manera. ¿Está de acuerdo en que es un buen enfoque? ¿Qué otros beneficios ves?

!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,’script’,
‘https://connect.facebook.net/en_US/fbevents.js’);
fbq(‘init’, ‘639916389503636’);
fbq(‘track’, ‘PageView’);

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.