Etiqueta: preparación

Transponer de columnas a filas en Alteryx

Muchos ficheros de datos disponibles en internet están estructurados en múltiples columnas. No obstante, si llevas ya un tiempo trabajando con Tableau, sabrás que en muchas ocasiones es preferible trabajar con menos columnas y más filas por la forma en la que Tableau agrega los datos.

Un buen ejemplo de webs con datos en esta forma son el INE o Eurostat. Donde es muy habitual encontrarnos con archivos que podemos descargar con esta estructura:

Pero como comentaba, muchas veces no es la forma idónea de trabajar con Tableau. Probablemente no queremos tener los distintos grupos de edad en distintas columnas, y preferimos tener una única columna con el número de habitantes y otra columna con el grupo de edad. Además por la forma en la que Tableau agrega los datos, posiblemente ni siquiera necesitemos la columna de Total. Esto podríamos hacerlo en Tableau fácilmente con la función «Pivot» (pivotar). Pero veamos como podemos hacerlo de forma muy sencilla en Alteryx.

Preparación inicial

Tras descargar el fichero en formato Excel, vemos que necesitamos cierta preparación inicial ya que las primeras filas no contienen datos que necesitamos:

Así que primero utilizará la herramienta Sample como en su día expliqué para filtrar las primeras filas con la ventaja habitual de Alteryx, que es la de no modificar nuestro fichero inicial. A continuación utilizaré también la herramienta Dynamic Rename para tomar la primera fila de datos restante como la cabecera de las columnas. Con estas dos herramientas ya tendríamos nuestro fichero de datos listo para el siguiente paso.

Por último utilizaremos la herramienta select para no incluir de aquí en adelante la columna del Total. Ya que para calcularlo no tendremos luego que agregar nuestra medida de población en Tableau.

Transpose

¿Cuál es a nuestro objetivo? Que en lugar de tener una columna para cada grupo de edad, podamos tener una sola columna en la que se indique el grupo de edad concreto, y otra columna con el valor de la población. Es decir, que nuestro fichero tenga solo 3 columnas: Región, Grupo de Edad y Población. Esa es precisamente la función de Transpose: Cambiar la orientación de los datos de vertical a horizontal.

La herramienta Transpose tiene 2 aspecto a configurar. Uno el de «Key Fields» en el cual marcamos los campos o columnas que queramos mantener con la misma orientación. El segundo «Data Fields» donde marcamos las columnas que queremos pivotar. Es decir aquellas que queremos cambiar la orientación. Lo que Alteryx hará será multiplicar el número de filas de nuestra base de datos por el número de columnas que tengamos, reduciendo el número de columnas. En nuestro caso, para cada valor de la variable GEO/AGE tendremos no una fila, sino seis, una para grupo de edad (recordad que hemos filtrado la columna con el Total).

Esa es toda la configuración necesaria en la herramienta. Y este es el resultado una vez ejecutamos el workflow:

Ahora tenemos tan solo 3 columnas en nuestro fichero de datos. Y como vemos en el workflow, hemos pasado de 1.884 filas iniciales a 11.304 filas. 6 veces más ya que teníamos 6 columnas que hemos cambiado la orientación (cada columna de edad salvo el Total) con una única variable a mantener con su orientación original (la región).

Preparar y visualizar datos de encuestas con Tableau y Alteryx

Tras 9 años trabajando en institutos de investigación de mercados, una de las primeras ideas que me vino a la cabeza cuando descubrí Tableau fue sus posibilidades a la hora de visualizar datos de encuestas. Es cierto que por la forma que tiene Tableau de tratar los datos, la estructura de los ficheros de encuestas con los que habitualmente se trabaja no es la más idónea. Los ficheros de encuestas normalmente cuentan con un registro (una fila) para cada encuestado y una dimensión (columna) para cada una de las variables o preguntas del cuestionario. Es decir, se trabaja con ficheros que habitualmente tienen muchas columnas, mientras que en Tableau es más conveniente tener ficheros con un gran número de registros (filas) y menor número columnas. Esto hace que de primeras, trabajar con archivos de encuestas en Tableau no sea tan intuitivo como podríamos esperar.
No obstante, preparar dichos ficheros y que sea más sencillo visualizar encuestas en Tableau es algo que podemos hacer fácilmente utilizando Alteryx. Para el siguiente ejemplo he utilizado datos de la European Social Survey que cuenta con acaba de actualizar la encuesta realizada en 2014 incluyendo varios países adicionales, entre ellos España, Portugal y Reino Unido y he creado el siguiente workflow en Alteryx:
El proceso es bastante sencillo, se trata a modo de resumen de:
  1. Descargar el archivo .sav (SPSS) de la web y cargarlo en Alteryx con una herramienta Input.
  2. Elegir las variables que queremos mantener en el fichero (podríamos elegir todas) y crear un Identificador para cada entrevista con las herramientas Select y Record ID.
  3. Transponer todas las variables que corresponden a preguntas y respuestas de cada registro con la herramienta Transpose. Así ya no tenemos una columna para cada pregunta de la encuesta, sino una única columna con todas las preguntas y otra columna con todas las respuestas. Ahora por tanto en vez de tener una sola fila para cada entrevistado tenemos multitud de filas para cada entrevistado (1 fila para cada respuesta a cada pregunta).
  4. Como los nombres de los países vienen abreviados, he utilizado la herramienta Summarize para obtener un listado de todos los países en el fichero y con la herramienta Formula he creado un campo adicional que he adjuntado a cada registro con la herramienta Find Replace.
  5. Crear en excel un fichero que incluye cada código de respuesta y verbatim. Lo he cargado en Alteryx y lo he unido con el archivo original con la herramienta Join. De este modo ahora tenemos tanto el código como el texto de la respuesta asociado a cada registro.
  6. Crear otro fichero en excel con el texto de cada pregunta, Cargarlo en Alteryx y utilizar la herramienta Find Replace (también podríamos utilizar la herramienta Join) para adjuntar el texto de la pregunta a cada respuesta.
  7. Finalmente he renombrado las varibales de sexo y edad con otra herramienta Formula y he exportado la base de datos a un archivo .tde para abrirlo directamente en Tableau.

En definitiva, se trata de transformar el archivo original que tenía esta estructura:

Para que tenga esta otra:

 

Donde tenemos tantas filas para cada entrevistado como variables tenemos en la encuesta. De esta forma, aunque tengamos multitud de registros para cada individuo, se trata de filtrar en Tableau posteriormente por número de pregunta, de forma que en cada visualización que creemos analicemos una única pregunta, pero utilizando la misma medida para nuestros cálculos (el número de registros o la suma de una ponderación por ejemplo, que al filtrar por pregunta en la visualización dicha suma será la correcta).
Ahora ya podemos abrir nuestro archivo en Tableau, podemos también crear un campo calculado que utilice una de las ponderaciones de la encuesta para crear un porcentaje de respuesta calculado para cada país:

 

Utilizar a continuación el número o texto de la pregunta como filtro, e ir creando visualizaciones en distintas hojas, modificando dicho filtro para ir visualizando cada una de las preguntas de forma bastante sencilla. Aquí tenéis un ejemplo visualizando 3 de las preguntas del cuestionario, y añadiendo filtros de edad y género para darle mayor dinamismo al dashboard, de forma que podamos elegir los datos que queremos visualizar (haz click en la imagen para ver el dashboard interactivo):

Ya no hay excusas si quieres utilizar Tableau para analizar encuestas.