Free Trial

Base de conocimiento

Cambiar una consulta dinámicamente

fvilelabr
Alteryx Alumni (Retired)
Created

Imagine el escenario en el que necesita llamar a una consulta a una base de datos, sin embargo, la condición de la consulta puede cambiar según los datos definidos por el usuario o los datos que fluyen durante la ejecucíon de su flujo de trabajo. Entonces, ¿cómo es posible llamar a una consulta de datos cambiando dinámicamente sus parámetros cuando se ejecuta el flujo?

 

La respuesta es: Herramienta de Entrada Dinámica

 

Veamos un ejemplo de caso: El usuario necesita buscar datos de historial de ventas por tienda. Sin embargo, la elección de las tiendas puede cambiar dinámicamente 

 

 

fvilelabr_0-1628863046933.png

 

Paso 1: preparar los datos que pasarán dinámicamente a la consulta

 

En la imagen de abajo podemos ver una columna llamada "StoreNumber" con valores 107 y 105, que serán las tiendas que buscaremos en la base de datos cuando se ejecute el flujo:

fvilelabr_1-1628863191597.png

 

Una lista de datos para una consulta SQL debe incluirse entre comillas simples ('), así que insertamos una herramienta de fórmula para hacer este tratamiento:

 

fvilelabr_2-1628863226948.png

 

Con los datos ya encerrados entre comillas simples, ahora es necesario concatenarlos para que estén en una sola columna, una al lado de la otra. Para esto, usaremos la herramienta de Resumir con la acción concatenar, como en la imagen a continuación:

 

fvilelabr_3-1628863262014.png

 

Compare el resultado antes y después de la herramienta. Antes teníamos una columna Store Numbers con un dato en cada fila. Así quedará  un solo registro o celda con todos los números de tienda entre comillas.

 

Bien, ahora está empezando a verse como algo que se puede insertar en una consulta, pero esa lista aún debe estar entre parentesis. (). Entonces, una herramienta de fórmula resolverá esto:

 

fvilelabr_4-1628863295040.png

 

Paso 2: llamar a la consulta

 

Una vez que la lista de datos esté lista para enviarse dinámicamente a la consulta, usemos la Herramienta de entrada dinámica para realizarla:

fvilelabr_5-1628863326086.png

En el modelo de fuente de datos de entrada:

 

1- define la consulta para extraer todas las columnas que quieras de la tabla y elige una lista de tiendas inicial.

 

2- configurar la herramienta para modificar la consulta SQL reemplazando una cadena específica. La herramienta reemplazará la lista predeterminada de la consulta con la nueva lista de Números de tienda almacenada en la columna Concat_StoreNumbers:

 

fvilelabr_6-1628863349838.png

 

fvilelabr_7-1628863363364.png

 

Una vez hecho esto y al ejecutar el flujo, la nueva consulta devolverá los datos deseados:

fvilelabr_8-1628863456855.png