el 04-25-2019 02:12 PM - fecha de última edición 10-13-2020 05:31 PM por mpost
Este artículo es parte de la serie de Dominio de Herramientas, una compilación de contribuciones a la Base de Conocimiento para introducir diferentes ejemplos prácticos de herramientas de Designer. Aquí profundizaremos en los usos de la herramienta Fórmula de filas múltiples con el objetivo de dominar Alteryx Designer:
La herramienta Fórmula de filas múltiples funciona de manera muy similar a la herramienta Fórmula normal, pero agrega la posibilidad de citar múltiples filas de datos en una expresión. Digamos, por ejemplo, que alguien está en el primer piso de una casa y tiene una herramienta Fórmula. Sólo podría hablar con las personas que también están en el primer piso. Si tuvieran una herramienta Fórmula de filas múltiples, podrían también hablar con las personas arriba, en el ático y en el sótano.
La herramienta Fórmula de filas múltiples permite actualizar un campo existente o crear uno nuevo. Ambas opciones pueden resultar muy útiles, y hay muchos casos prácticos para cada una. Los casos prácticos a los que nos referimos a continuación están adjuntos en el flujo de trabajo Fórmula de filas múltiples.yxmd.
Actualizar un campo existente
A menudo, los datos estan acomodados de una manera que se ve bien en Excel, pero no para trabajar en Alteryx. En estos casos, puede que quieras rellenar una columna que tiene valores ausentes.
En este caso, solo la primer persona de cada familia tiene su apellido completo. Por lo tanto, queremos modificar la columna Familia que tiene valores nulos [NULL]. Esto se puede hacer fácilmente:
Para colocar variables y funciones en la ventanda de Expresión, simplemente haz doble clic en el que quieras agregar. Se encuentran en su pestaña correspondiente en la ventana de Configuración.
Crear un campo nuevo:
Ahora que los datos están limpios, queremos agregar un identificador único
para cada persona de acuerdo con la familia a la que pertenecen. Para hacerlo, configuraremos la herramienta Fórmula de filas múltiples así:
Al crear un campo nuevo, el usuario puede seleccionar el tipo de dato. Aquí, se eligió Int 16. Ten en cuenta que está agrupando por Familia porque queremos que lel ID sea único para cada familia, pero puede volver a empezar con diferentes familias. Este nuevo campo de ID podría utilizarse más tarde como identificador con herramientas como Filtro, Resumir y otras.
La herramienta Fórmula de filas múltiples puede citar mas que las filas directamente anteriores o posteriores. Al cambiar el valor en cantidad de filas en la configuración, puedes aumentar la cantidad de filas que puedes usar en tus expresiones.
En este ejemplo, aumentamos la cantidad de filas a 2. Nota que ahora hay más variables para elegir en la configuración. Porque queremos el total acumulado por familia, nuevamente agrupamos por este campo.
Este método puede usarse para generar totales acumulados en muchos escenarios distintos, como ventas monetarias, conteos de elementos y más
Ahora queremos calcular la cantidad promedio de tiempo total en pantalla por familia. En la ventana Expresión de la herramienta Fórmula de filas múltiples, escribimos:
iif([ID]=3,average([Row-2:Tiempo en pantalla],[Row-1:Tiempo en pantalla],[Tiempo en pantalla]),iif([ID]=2,average([Row-1:Tiempo en pantalla],[Tiempo en pantalla],[Row+1:Tiempo en pantalla]),average([Row+2:Tiempo en pantalla],[Row+1:Tiempo en pantalla],[Tiempo en pantalla])))
Esto verifica el ID de cada fila y personaliza la fórmula para generar un promedio usando las filas correctas.
La última parte de la configuración de esta herramienta que todavía no ha sido cambiada es el menú desplegable, Valores para filas que no existen. Esto le dice a Alteryx qué usar cuando una fórmula debe usar el valor de una fila que no existe. Esto pasaría, por ejemplo, al calcular un valor para la primer fila de datos cuando la expresión contiene una variable Fila-1. El usuario puede elegir qué valor tiene esa fila inexistente.
En este ejemplo, la fila que no existe se define en los valores de la fila válida más cercana. De esa manera, cuando la fórmula intenta usar [Row -1: Tiempo en pantalla] en la fila 1 y vé que no existe, utiliza el valor de la fila 1 en su lugar. Esto resulta en una diferencia de 0 que ves en la salida.
Una herramienta Ordenar se colocó en el flujo de trabajo antes de esta herramienta Fórmula de filas múltiples para ordenar los valores en la columna Tiempo en pantalla en orden descendiente. La fórmula anterior creó un campo que es la diferencia entre el tiempo total en pantalla de la fila actual y el tiempo total en pantalla de la fila anterior. Esto facilita ver cuánto tiempo más de pantalla necesita cada persona para alcanzar a la persona que le sigue.
Muchas veces, la herramienta Fórmula de filas múltiples se utiliza en combinación con la herramienta Tabulación cruzada. Esto es particularmente útil si estás intentando transformar un par de columnas de datos en una tabla. Un miembro de la Comunidad Alteryx tenía este mismo problema y pudo resolverlo en esta publicación.
La herramienta Fórmula de filas múltiples solo puede actualizar un campo por instancia de herramienta. Si quieres actualizar varios campos (y te sientes cómodo con la herramienta Fórmula de filas múltiples y la herramienta Fórmula de Campos Múltiples), prueba esta macro que fue publicada en la Gallery pública de Alteryx.
¡A esta altura, ya debes tener conocimiento experto de la herramienta Fórmula de Filas Múltiples! Si ya eres un genio con otras herramientas de Designer, contribuye al Blog de la Comunidad compartiendo tus experiencias y diciéndonos cómo y para qué utilizas nuestras herramientas en tu vida diaria. Si te interesa contribuir al Blog, envía un correo electrónico a flavia.brancato@alteryx.com para acceder a la sección.
Todos los lunes publicamos sobre una herramienta. Con eso en mente, nos encantaría saber cuál es tu favorita o, quizás, qué herramienta te gustaría ver aquí en la Comunidad la próxima semana. No olvides de suscribirte al panel de la Base de Conocimiento para recibir notificaciones de las últimas novedades.
*Esta publicación fue escrita originalmente por @Kenda en la comunidad en inglés