Analisis con Tableau: Cómo crear una pirámide de población en Tableau

viernes, 23 de septiembre de 2016

Cómo crear una pirámide de población en Tableau

Una pirámide de población es un histograma horizontal que representa la distribución de la población de una región por sexo y edad. Mostrando la población más joven en la parte inferior, y la más anciana en la parte superior y cada género en un sentido (hombres hacia la derecha y mujeres hacia la izquierda o viceversa). Para además hacer el gráfico comparable entre distintos países, normalmente no se representa en cantidades absolutas (número de habitantes) sino en porcentaje respecto al total de población de la región. 


Se trata por tanto de un gráfico muy útil para analizar la estructura de la población de una región determinada. Así, una población en fase de rápido crecimiento tendrá una base muy amplia (elevado porcentaje de jóvenes) y una parte alta de la pirámide estrecha (reducido porcentaje de personas ancianas), mientras que una población envejecida o en fase de envejecimiento tendrá una mayor amplitud en la parte media y alta de la pirámide (mayor porcentaje de población en edades medias y avanzadas que jóvenes). 

¿Cómo construir una pirámide de población en Tableau?

Lo primero, como no podría ser de otra forma, es conseguir los datos. Para este ejemplo he utilizado datos de Eurostat. La ventaja de Eurostat es que permite generar una tabla con la estructura que nosotros queramos y luego descargar el fichero. Para evitar tener que modificar la estructura de los datos posteriormente, descargué el fichero con la siguiente estrucutura: La edad en la columna A, el país en la columna B, el número de mujeres en la columna C y el número de hombres en la columna D. Así tendremos un fichero con un reducido número de columnas y un amplio número de filas, formato mucho más cómodo de trabajar en Tableau ¿Por qué? Porque cuando arrastremos la dimensión "Edad" a filas, por ejemplo, nos mostrará todas las edades en filas. Mientras que si tuvieramos la edad en columnas, tendríamos que arrastrar 100 medidas diferentes, ya que cada edad sería una variable. Esto podríamos también solucionarlo "pivotando" los datos directamente en Tableau. Pero ya que Eurostat nos permite definir como queremos descargar el fichero, resulta más cómodo ahorrarnos ese paso.


Ahora tan solo tendremos que conectar Tableau a el fichero Excel y comenzar a crear nuestra pirámide de población. 

1) Incluir todas las edades en la visualización en el eje vertical. Para ello arrastramos la edad (Age) a filas y ordenamos manualmente de forma que las edades más bajas (más jóvenes) estén abajo del todo y los mayores arriba del todo.

2) Aarrastrar las medidas de mujeres y hombres a columnas y nos aseguramos de que la agregación sea una suma. Tendremos ahora una visualización similar a esta:


3) Para conseguir la forma de pirámide, las barras de la izquierda tendrían que ir en sentido contrario. En nuestro caso es la población de mujeres. Hacemos doble click en el eje de mujeres y marcamos la opción de Reversed Scale.


Esto ya se va pareciendo un poco más a una pirámide de población.


4) A continuación, ocultaremos las etiquetas de edad y ajustaremos la vista para poder ver toda la pirámide sin necesidad de hacer scroll hacia abajo. Para ello hacemos click derecho en la píldora de edad que tenemos en filas y desmarcamos Show Header. Y en el menú superior cambiamos la vista de Standard a Entire View.


5) ¡Vamos bien! No obstante, podemos ver que actualmente estamos visualizando el total de la población de nuestra base de datos por sexo y edad. En nuestro caso, la suma de la población de todos los países que tenemos en nuestra base de datos. Lo que queremos ver no es la población absoluta, sino la relativa, es decir, los porcentajes. Así que vamos a crear unos cálculos para mostrar los porcentajes en lugar de los datos absolutos. Esto lo podríamos hacer muy fácilmente con una quick table calculation y calcular el porcentaje sobre el total tanto de hombres como de mujeres. Sin embargo, si lo hacemos de este modo estaremos calculando el porcentaje sobre el total de hombres y el porcentaje sobre el total de mujeres. Es decir la suma de los porcentajes de todas las edades entre hombres dará 100% y la de mujeres otro 100% y lo que queremos es que la suma de hombres mas la suma de mujeres sea 100%. Así que primero vamos a crear un campo calculado que nos de la suma de hombres y mujeres para calcular el total.


Y a continuación un campo calculado para obtener el porcentaje de mujeres y otro para el de hombres.


¿Por qué dividimos la suma de mujeres entre el TOTAL de la suma de nuestro campo total? Básicamente porque lo queremos es el porcentaje que representan las mujeres en cada edad sobre el total de la población. Si hiciesemos SUM([Females]) / SUM([Total]) lo que calcularíamos es el porcentaje de mujeres sobre el total para cada edad, no para el total. La función total lo que hace es darnos la suma total de dicho campo de todos los valores en nuestra visualización. A continuación, crearemos un campo calculado similar pero esta vez para hombres en lugar de para mujeres y sustituimos estos nuevos campos por los que tenemos actualmente en el estante de columnas de nuestra visualización. Al cambiar de medida, tendremos además que volver a invertir la escala del eje de la izquierda.

6) Para asegurarnos además de que el TOTAL está calculándose correctamente, haremos click derecho en cada uno de estos campos en el estante de columnas y nos aseguramos de que se calculen en función de la edad, o hacia abajo de la tabla (en nuestro caso ambas opciones darán el mismo resultado, ya que en filas tenemos la dimensión de edades).  En el menú de Compute using al hacer click derecho en cada una de estas medidas tendremos que indicar Table (Down) o Age. De este modo, tendremos por ejemplo el porcentaje que representan las mujeres de 50 años sobre el total de la población (Hombres + Mujeres).

7) ¡Perfecto! Ya tenemos el porcentaje de cada edad y cada sexo sobre el total. Ahora sólo tendremos que hacer pequeñas modificaciones para que la visualización quede algo mejor. Lo primero es cambiar el tipo de marcas de barras a areas (tanto para hombres como para mujeres).  Luego ocultaremos ambos ejes. Podemos además cambiar el color de los hombres y el de las mujeres a nuestro gusto y darle algo más de formato al gráfico para eliminar las líneas de división. Y ya tenemos lista nuestra pirámide de población.


Por último, recuerda que ahora mismo estamos viendo la pirámide de población de todos los países de nuestra base de datos. Podemos utilizar el país como filtro para visualizar el país que queramos. O incluso podemos crear small multiples para visualizar todos los países a la vez. Puedes consultar mi post de la semana pasada sobre cómo crear small multiples en Tableau.

No hay comentarios: