Free Trial

Blog

Visiones e ideas de las mentes más brillantes en el campo del análisis.
fvilelabr
Alteryx
Alteryx

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.

Image1.png

 

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

Image2.png

 

Después, seleccione la pestaña Advanced and haga clic en la opción "Display XML in Properties Window"

Image3.png

 

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:

Image3.1.png

 

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.

 

giphy

 

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:

 

  • Letras para "X"
  • Números para "9"
  • Espacio en blanco para "W"
  • Símbolos para "S"

 

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:

Image4.png

 

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. 🙂

image5.png

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.

image9.pngimage7.png

 

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).

image8.png

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.

image9.png

 

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".

image10.png

 

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.

image11.png

Paso 1: Elija el patrón de enmascarado (1 o más) y el campo:

image12.pngimage5.png

 

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.

image14.png

 

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.

image15.png

Creará una expresión diferente para cada elección del usuario:

image16.png

 

Para crear la sintaxis XML, es necesario concatenar en una sola línea todas las expresiones. Lo hacemos usando una herramienta de Resumir.

image17.png

 

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.

image18.png

 

Y ese es el resultado final:

image19.png

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!

 

giphy

 

Se puede encontrar esa Macro aquí 

 

Etiquetas