Cómo calcular la diferencia de un valor entre la última fecha disponible y una fecha elegida

El pasado fin de semana me consultaron por email como podría hacerse en Tableau para mostrar un primer valor en la última fecha disponible en, el valor en una segunda fecha concreta que elija el usuario y un tercer valor con la diferencia entre ambos. Así que a continuación voy a detallar tres posibles formas de hacerlo.

Método 1: Un parámetro, varios cálculos y una sola hoja

Tal vez sea el método menos cómodo porque implica tener una hoja con el valor en las dos fechas y una segunda hoja con la diferencia, pero tal vez sea el que método que primero se le ocurre a mucha gente.

Lo primero vamos a crear un parámetro de tipo fecha con la fecha mínima y máxima que nosotros queramos. Por ejemplo:

A continuación vamos a crear dos campos calculados, uno que nos devuelva el valor (por ejemplo la suma de las ventas) en la fecha máxima de nuestra base de datos y en caso contrario que no nos devuelva ningún valor (o valor nulo tal como lo diríamos en Tableau):

Y otro campo calculado que nos devolverá el valor de la suma de ventas pero esta vez sólo cuando la fecha sea igual a la que escojamos en el parámetro que hemos creado anteriormente:

Por último creamos un valor con la diferencia de la suma de ambos cálculos:

Ahora tendríamos que utilizar Nombres de medida y Valores de medida (measure names y measure values) y crear una tabla:

y por último añadir dicha tabla a un dahsboard y asegurarnos de que incluimos el parámetro para poder modificar la fecha seleccionada para la comparación:

La desventaja de este método es que no podemos ver en la tabla el valor concreto de las dos fechas sin utilizar una segunda hoja en la que incluir las mismas. Veamos entonces un segundo método.

Método 2: Incluyendo las fechas concretas y una segunda hoja

Para este segundo método vamos a utiizar buena parte de los campos que hemos calculado en el método 1. Pero antes de nada, vamos a crear un nuevo campo calculado que nos devuelva la fecha de las ventas (o de los pedidos) solo para nuestras dos fechas de interés, y evitar así que Tableau nos muestre todas las hojas de nuestra base de datos. Para ello nos hará falta el parámetro que hemos creado en el método 1:

Vamos a utilizar este nuevo campo calculado como filtro y seleccionaremos Verdadero (True). De este modo, cuando utilicemos Order Date en nuestra visualización, Tableau sólo mostrará las fechas que cumplen dicha condición. Es decir es la fecha más reciente en nuestra base de datos o la fecha que coincide con la seleccionada en el parámetro. A continuación utilizaremos la fecha del pedido y la suma de ventas para crear una tabla:

Y a continuación, utilizaremos esos cálculos que hemos utilizado en el método 1 para crear una segunda tabla con la diferencia entre los valores para ambas fechas:

 Podríamos entonces crear un dashboard con ambas hojas. De este modo tendremos más libertad para situar el cálculo con la diferencia donde prefiramos, aunque tenemos la desventaja de utilizar varias hojas en el dashboard en lugar de una única hoja:

Método 3: Fechas y valores en una misma hoja

Un tercer método, y estoy seguro de que podríamos mostrar varios métodos más, sería utilizar un cálculo que incluya un cálculo de tabla. De esta forma podremos crear una tabla idéntica a la utilizada en el método 2, pero con una segunda columna que muestre la diferencia entre ambos valores. Dicho campo calculado sería así:

Es decir, cuando tengamos nuestra tabla con las ventas en ambas fechas, Tableau realizará la resta de las ventas una fila menos las ventas de la fila anterior de la tabla:

 

Ahora solo faltaría incluir la hoja en un dashboard junto al parámetro creado al inicio del método 1.

Como he dicho en muchas otras ocasiones. Una de las grandes ventajas de Tableau es que siempre hay varias formas de obtener el mismo resultado. Por lo que solo tenemos que buscar la forma que mejor se adapte a nosotros o nos sea más fácil de entender.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *