Gonzalo Rementeria

26 – Cómo pasar parámetros a un Dataflow de forma sencilla

Cómo pasar parámetros a un Dataflow de Power BI o Power Platform usando Power Automate y SharePoint

Una de las limitaciones más conocidas de los Dataflows en Power BI o Power Platform es que no permiten recibir parámetros directamente desde un flujo o proceso externo. Esto complica la automatización cuando necesitamos que el Dataflow lea diferentes archivos, rutas o configuraciones dinámicas sin tener que modificarlo manualmente.

Sin embargo, hay una forma de solventar esta limitación combinando Power Automate, SharePoint y algo de lógica dentro del propio Dataflow. En este artículo te explico cómo hacerlo y por qué es una alternativa práctica, estable y completamente automática.


El problema

Imagina que tienes un Dataflow que lee un archivo Excel desde una ruta de SharePoint.
El nombre de ese archivo cambia periódicamente —por ejemplo, incluye la fecha o un identificador distinto en cada ejecución—.

Como los Dataflows no aceptan parámetros externos, no puedes pasarle directamente el nombre del archivo al ejecutarlo desde Power Automate. Esto obliga a modificar manualmente la ruta o a mantener versiones duplicadas del mismo Dataflow, algo poco eficiente y difícil de mantener.


La solución: usar una lista de SharePoint como intermediario

La idea consiste en usar una lista de SharePoint como fuente de configuración dinámica.
Desde Power Automate, antes de ejecutar el Dataflow, actualizamos en esa lista el valor que el Dataflow necesita (por ejemplo, el nombre del archivo Excel que debe leer).

Luego, dentro del Dataflow, realizamos una consulta que lea ese valor de la lista y lo utilice en las siguientes transformaciones o conexiones. De este modo, conseguimos un comportamiento equivalente a pasar parámetros.


Cómo implementarlo paso a paso

1. Crear una lista de configuración en SharePoint

Primero, crea una lista en SharePoint llamada, por ejemplo, “Config Dataflows”.
Debe contener al menos las siguientes columnas:

  • Title (o cualquier otra clave identificadora)

  • Nombre Dataflow

  • Valor (el parámetro que usará el Dataflow)

Esta lista servirá para guardar dinámicamente el valor que Power Automate necesita comunicar al Dataflow.


2. Actualizar la lista desde Power Automate

En tu flujo de Power Automate, antes de lanzar el Dataflow, agrega una acción “Actualizar elemento” sobre la lista de configuración.

En esta acción, indica:

  • Dirección del sitio: el sitio de SharePoint donde está la lista.

  • Nombre de la lista: Lista Config Dataflows.

  • Identificador: el registro que corresponde al Dataflow que vas a ejecutar.

  • Valor: el dato dinámico que quieres que el Dataflow recoja (por ejemplo, el nombre del archivo Excel o la ruta de un ZIP).

De este modo, cada vez que el flujo se ejecute, el valor en la lista se actualizará con el dato correcto.


3. Consultar el valor desde el Dataflow

Dentro del Dataflow, basta con crear una consulta que lea el valor de SharePoint.
En el Editor avanzado de Power Query, se puede usar un código similar al siguiente:

 
let
Origen = Csv.Document(
Web.Contents(
"https://tu_sitio.sharepoint.com/sites/tu_sitio/" & entorno & "/ruta/del/archivo/" &
Table.First(ConfigDataflow)[Valor]
),
null,
{0, 3, 9, 15},
ExtraValues.Ignore,
1252
),
#"Tipo de columna cambiado" = Table.TransformColumnTypes(
Origen,
{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}}
),
#"Columnas con nombre cambiado" = Table.RenameColumns(
#"Tipo de columna cambiado",
{{"Column1", "COD_PROVINCIA"}, {"Column2", "COD_MUNICIPIO_INE"}, {"Column3", "COD_MUNICIPIO_AEAT"}, {"Column4", "MUNICIPIO"}}
)
in
#"Columnas con nombre cambiado"

Aquí, el Dataflow toma el valor directamente desde la lista de configuración y lo concatena a la ruta del archivo que debe leer. Así, aunque el nombre del Excel cambie en cada ejecución, el Dataflow se ajusta automáticamente sin intervención manual.


4. Ejecutar el Dataflow desde Power Automate

Finalmente, desde Power Automate puedes usar la acción “Ejecutar Dataflow” o una llamada HTTP a la API de Power BI/Power Platform para lanzarlo.

El Dataflow, al iniciarse, leerá el valor actualizado desde la lista de SharePoint y usará esa información en su consulta.

Esto permite automatizar todo el proceso de forma fluida: el flujo actualiza el valor, lanza el Dataflow y este actúa en consecuencia.


Ventajas de este enfoque

  • Evita modificar manualmente el Dataflow.

  • Permite pasar parámetros dinámicos, aunque la plataforma no lo soporte directamente.

  • Centraliza la configuración en una lista de SharePoint, accesible y editable sin entrar al Dataflow.

  • Se integra fácilmente con otros flujos de Power Automate.

Con estas imágenes creo que quedará más claro.

En esta primera imagen estoy obteniendo el excel con nombre dinámico y guardando dicho nombre en una lista de SharePoint

En esta segunda imagen llamo al DF y luego en funcion de su resultado hago una u otra acción. No estoy «pasandole» ningún parámetro porque no se puede. Sin embargo en la siguiente imagen veremos como rescato desde el DF ese nombre dinámico que guardé en la lista de SP

En el DF vemos que tengo una consulta donde rescato el nombre que guardé ne la lista de Sharepoint. Aquí es importante que no haya ningún registro más en dicha lista, cuyo nombre en el campo parámetro (en este caso nombre del fichero), esté repetido. Ya que filtraré por ese nombre y me quedaré con el primer valor

Por último vemos como la consulta que tengo depende del parámetro que rescate de la lista de SP. Todo ello orquestado con Power Automate.

Conclusión

Aunque los Dataflows no admiten parámetros externos de forma nativa, esta técnica ofrece una alternativa eficaz y elegante para hacerlo posible.
Al usar una lista de SharePoint como capa intermedia, Power Automate puede comunicar al Dataflow cualquier valor dinámico antes de su ejecución, sin necesidad de scripts ni configuraciones complejas.

El resultado es un proceso totalmente automatizado, flexible y fácil de mantener, ideal para entornos donde los orígenes de datos cambian con frecuencia o donde se requiere una configuración dinámica por cada ejecución.

Espero que os haya sido de utilidad. Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *