Uno de estos días, navegando por nuestra comunidad de Alteryx encontré una analogía perfecta para definir las Batchs Macro: Imagina que tú y tu familia queréis haceros el mismo traje para tomaros la típica foto de navidad familiar.
Para eso, dependiendo de cada miembro de la familia vas a necesitar mas o menos cantidad de tela y de hilo pero al final vas a seguir el mismo proceso para construir el traje. Pues…. eso mismo es una batch macro o macro por lotes!!!!
Una macro por lotes es un proceso analítico que se repite en función a un set de datos. Por cada fila se ejecutará la macro y ésta generará una salida. Utilizando la analogía del traje: por cada combinación de medidas obtengo como salida UN traje.
Vamos a crear una batch macro con un ejemplo:
Digamos que tenemos un dataset muy sencillo de precios de nuestros productos en una moneda, por ejemplo Dolares, y otro dataset donde se indican las conversiones entre dolares y otras diez diferentes monedas. Como resultado queremos generar un fichero de precios diferente para cada diferente moneda local.
Por tanto:
El resultado final es generar un fichero con precios y moneda local para distribuir a cada uno de los paises.
Para crear una batch macro deberemos seguir los siguientes pasos:
Crea otro nuevo workflow y pega los registros copiados en el paso anterior. Este nuevo workflow resultará siendo nuestra Batch Macro
Y así, oficialmente, estamos en el desarrollo de una MACRO!
Incorporamos todas las transformaciones que necesitamos pensando en un caso muestra, por ejemplo “ Vamos a crear un fichero de precios Euros” , esto es:
Incorporar una tool Formula para :
Tal como lo tenemos ahora, hemos construido una Macro Estándar que toma una lista de precios en dólares y genera una lista de precios en euros.
Ahora vamos a transformar nuestra macro Estándar en una Macro por Lotes o Batch Macro, de modo que varíe los cálculos para los distintos tipos de moneda, es decir, que si entra Yenes, en el campo precio_local lo multiplique por la tasa Dolar-Yenes y que en el campo Moneda indique “Japanese Yen”, que luego lo haga para otra moneda y así sucesivamente. Para eso:
En precio_local: Deberás reemplazar “0.94” y tendrás que incorporar el campo #1 ( Parámetro de control) Conversion
En Moneda: Deberás reemplazar la palabra “Euros” por “#2 (Parámetro de control) Moneda”
A continuación te presento un video donde puedes ver cómo llevar a cabo los pasos anteriores:
Una vez hecho esto y guardado tu macro, ya no tienes más que utilizar tu macro en el workflow original.
Para eso, localiza el workflow donde tienes los datasets de Precio y Moneda, haz clic con el botón derecho, selecciona la opción Insertar > Macros y busca la que recién has construido:
Al insertarlo, verás que hay un nuevo tipo de ancla de entrada que está indicado con un signo de interrogación abierto. Este ancla indica que es ahí donde debes conectar el dataset por el que vas a ir iterando, es decir, para cada línea de este dataset se ejecutará toda la macro. Para nuestro ejemplo, serán las monedas:
Luego, haciendo clic en la macro, en la ventana de configuración y pestaña Preguntas deberás indicar a qué campos se corresponden los parámetros que espera la macro:
Ahora tendrás que configurar el otro ancla, que será el dataset que corresponde a la Entrada de Macro. En nuestro caso ejemplo, la lista de precios.
A continuación en la siguiente imagen te muestro la correspondencia de las entradas entre la macro y el workflow que le llama
Cuando hagamos clic sobre el botón RUN, la macro se ejecutará tantas veces como tipos de monedas diferentes vengan en el dataset de monedas, para aplicar la conversión a todo el dataset de precios y generar tantos ficheros como líneas de moneda tengamos:
Y así ya tienes tu Macro por lotes preparada!!!!
Este es otro de los tipos de Macro del que os quería hablar. Si tienes un conjunto de procesos analíticos recurrentes que queráis dinamizar y ejecutar según un conjunto de parámetros, piensa en una macro por lotes y así das un paso más en la automatización de tu analítica.
Este será el último tip del año 2022 por lo que no quiero despedirme sin desearos unas Felices Fiestas!!!!
¡¡¡¡Os deseo un magnífico 2023!!!!
Hasta el próximo tip!
Andreina Toledo Men
Sales Engineer
Alteryx
Debe ser un usuario registrado para añadir un comentario aquí. Si ya está registrado, inicie sesión. Si todavía no está registrado, hágalo e inicie sesión.