- Suscribirse a un feed RSS
- Marcar como nuevo
- Marcar como leída
- Favorito
- Suscribir
- Página de impresión sencilla
- Notificar al moderador
- Suscribirse a un feed RSS
- Marcar como nuevo
- Marcar como leída
- Favorito
- Suscribir
- Página de impresión sencilla
- Notificar al moderador
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.
https://media.giphy.com/media/U7PvXnYwDhf3rbZF0n/giphy.gif
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:
- Tenemos un dataset de precios:
- Tenemos las conversiones de dólares a las distintas monedas:
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:
- En un workflow nuevo, conecta a tus dos fuentes de datos. Este será el workflow que llamará a nuestra nuevo macro.
- Ejecutamos el workflow y haremos una copia de un trocito del Dataset de Precios (dos-tres registros es suficiente)
-
Crea otro nuevo workflow y pega los registros copiados en el paso anterior. Este nuevo workflow resultará siendo nuestra Batch Macro
- Haz clic con el botón derecho sobre la tool de Entrada de Texto y selecciona la opción “Convertir a Entrada de 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 :
- Crear el campo “precio_Local” multiplicando el Precio por la tasa dólar-euro
- Crear el campo “Moneda” que será como llamaremos nuestro fichero
- Incorporar una tool Datos de Salida, indicando que queremos un fichero yxdb ( Base de Datos Alteryx) y que en el nombre como sufijo el concatene el nombre de la moneda
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:
- Incorpora una tool de tipo Parámetro de Control, ubicada en la categoría Interfaz y conecta su Ancla de Salida al Ancla de Entrada que se encuentra en la parte superior de la tool Fórmula (que tiene una Q).
- Cambia el nombre a a la tool Parámetro de Control e indica “Conversion"
- Incorpora otra tool de tipo Parámetro de Control, y conéctala a la fórmula de la misma manera. A esta tool le llamas “Moneda”
Modifica las fórmulas, indicando:
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:
- Chapters
- descriptions off, selected
- subtitles settings, opens subtitles settings dialog
- subtitles off, selected
This is a modal window.
Beginning of dialog window. Escape will cancel and close the window.
End of dialog window.
This is a modal window. This modal can be closed by pressing the Escape key or activating the close button.
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!!!!
https://media.giphy.com/media/l4JyWBdPAx9NepDUs/giphy.gif
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.