Nivel: Avanzado
Prerequisitos: Para utilizarlo se requiere conocimiento previo en el formato XML y las herramientas de interface.
¿Sabía que cada Alteryx Workflow y sus bloques de construcción tienen todas las acciones documentadas en formato XML? ¿No confía en mi? Ok, entonces haga clic derecho sobre cualquier archivo .yxmd y seleccione abrir con bloc de notas.
Este es el XML detrás de un flujo de trabajo de Alteryx. Tiene toda la información sobre el proceso.
También es posible ver la sintaxis XML detrás de cada objeto dentro de un flujo de trabajo. Para hacerlo, primer es necesario habilitar esta opción.
Haga clic en Options -> User Settings -> Edit User Settings
Después, seleccione la pestaña Advanced and haga clic en la opción "Display XML in Properties Window"
Ahora si, estamos listo y podemos ver el XML de una herramienta. Haga clic sobre la herramienta deseada y seleccione la segunda opción en el cuadro de configuración a la izquierda (</>), como se muestra en la imagen de abajo:
Y la buena noticia es: ¡Sí! Podemos modificar el XML de una herramienta. Esto significa que podemos cambiar los metadatos de las partes de un flujo de trabajo, de una manera completamente dinámica, basada en parámetros y criterios de reglas de negocio.
Esto se realiza mediante la opción "Update Raw XML with Formula" dentro de una herramienta de acción de la barra de interfaz.
¡Con esta opción vamos a llevar nuestro flujo de trabajo a un nuevo nivel!
Vamos a ver un caso práctico.
Hice una macro que identifica patrones de datos y los enmascara de esta manera:
Ejemplo:
ID Cliente |
ID Cliente Enmascarado |
123-ABC/10 |
999SXXXS99 |
DF-10 Y6-B |
XXS99WX9SX |
ABC-10AB10 |
XXXS99XX99 |
¡Oh Dios! ¿Cómo lo hiciste? Es muy sencillo. Solo necesita poner una herramienta de fórmula y agregar 4 expresiones regulares (REGEX_Replace) sobre el campo que desea enmascarar como abajo:
La función REGEX_Replace devuelve la cadena resultante del patrón RegEx buscar y reemplazar cadena. Entonces, usando la primera expresión como ejemplo, la función busca todas las letras (A a Z, mayúsculas o minúsculas) y reemplaza cada una de ellas con el valor "X". Además, se aplicarán las otras 3 expresiones para reemplazar números, espacios en blanco y símbolos por un nuevo valor.
¡Funciona!
Sin embargo, quiero permitir que los usuarios elijan qué tipo de enmascarado de datos necesitan aplicar en sus datos. Desde este punto, el flujo de trabajo se volverá interesante. 🙂
Ejemplo - Presta atención solo se enmascararon letras y números:
ID Cliente |
ID Cliente Enmascarado |
123-ABC/10 |
999-XXX/99 |
DF-10 Y6-B |
XX-99 X9-X |
ABC-10AB10 |
XXX-99XX99 |
La herramienta de fórmula original aplicaría las 4 expresiones sobre los datos y enmascararía todos los componentes. Así que necesito cambiar esta herramienta dinámicamente en tiempo de ejecución para crear las expresiones específicas que necesito usar de acuerdo con las opciones definidas por el usuario.
Es en casos como ese que podemos usar la opción para cambiar los metadatos editando su sintaxis XML.
Entonces, ¡divirtámonos!
Parte I: Edición de la sintaxis XML de la herramienta
Como hemos visto anteriormente, siempre que necesitemos ver la sintaxis XML detrás de una herramienta, debemos hacer clic sobre la herramienta y seleccionar la segunda opción en el área de configuración.
La sintaxis XML nos muestra que hay 4 expresiones originales en la Herramienta de fórmulas. Necesitamos modificar estos metadatos para mantener solo las expresiones de acuerdo con la opción definida por el usuario.
Cuando ponemos una herramienta de Parámetros de control, este flujo de trabajo se convierte automáticamente en un Macro Batch. Entonces, desde este momento, esta macro espera recibir un parámetro. Este parámetro será nuestra nueva sintaxis XML que reemplazará la sintaxis actual (se explicará más adelante).
Viendo la herramienta de acción, podemos apreciar que hay 3 tipos de acción, en este caso tenemos que seleccionar "Update Raw XML with Formula". Esto nos permite cambiar la sintaxis XML de una herramienta.
Ahora, reemplazaremos el XML actual por con la nueva sintaxis XML por fórmula. Esto es como si le estuviéramos diciendo a Alteryx lo siguiente: "Por favor, no use esta Fórmula como se creó originalmente, sino que vuelva a crearla usando estos nuevos metadatos que le estoy dando ahora".
Cuando se ejecuta este flujo de trabajo, la herramienta Formula recibe este nuevo XML que reemplaza su configuración.
Parte II: Crear la nueva sintaxis XML
Hay un flujo de trabajo que llamará a la macro mostrada anteriormente. Básicamente, esto permite a los usuarios elegir qué tipo de transformación quieren hacer en sus datos (herramienta ListBox). Según esta elección del usuario, editará la sintaxis XML de la otra macro y ejecutará los datos de enmascaramiento correctos.
Paso 1: Elija el patrón de enmascarado (1 o más) y el campo:
Después de esto, solo las variables que se usarán en la función REGEX_REPLACE de la fórmula pasan por el flujo.
En una herramienta de fórmulas, habrá un código XML exactamente igual a la expresión original. Sin embargo, esta expresión se creará utilizando el parámetro "De" y "Para" del flujo.
Creará una expresión diferente para cada elección del usuario:
Para crear la sintaxis XML, es necesario concatenar en una sola línea todas las expresiones. Lo hacemos usando una herramienta de Resumir.
Una vez que se crea el nuevo código XML, este campo se pasa como parámetro al Macro Batch. Ahora, la herramienta Fórmula dentro de esta macro cambiará y solo ejecutará estas nuevas expresiones.
Y ese es el resultado final:
Este ejemplo muestra como Alteryx es versátil. Con esta opción, podemos crear dinámicamente herramientas en nuestro flujo, cambiar sus parámetros, realizar diferentes comportamientos basados en criterios de negocio. No hay limite!
Se puede encontrar esa Macro aquí
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.