Visualizar solamente los meses transcurridos del año actual en los años anteriores.

Estuve con un cliente que desea ver un comparativo de sus ventas año contra año, pero solo quiere comparar los meses que han transcurrido en el último año, sin que se visualicen los meses aun no transcurridos, es decir, si en tu año actual estamos en el mes de Marzo, solo puedas ver de Enero a Marzo tanto en el año actual como en anteriores.

Ejemplo:

MA01

 

Como pueden ver la grafica solo muestra hasta Febrero, ya que es el último mes del último año, a continuación los datos

MA02

¿Cómo hacemos esto en Tableau?

Cargamos la información la cual se verá así:

MA03

Creamos un campo calculado para detectar la fecha máxima con la siguiente formula:

{FIXED : MAX([Fecha])}

¿Por qué utilice FIXED? Porque con esto me aseguro de que traiga la última fecha registrada en la base de datos, sin esto me traería la fecha máxima de cada mes, a continuación el ejemplo

MA04

Ahora con la función FIXED:

MA05

Como ya tenemos la fecha máxima, extraemos el mes máximo para usarlo como filtro, con la siguiente fórmula:

DATEPART( ‘month’,[Fecha maxima] )

Con la función DATEPART, le indicamos que queremos extraer de la fecha, en este caso el mes.

MA06

Finalmente creamos un campo calculado lógico que indicara hasta que mes mostrar:

DATEPART(‘month’,[Fecha]) <= [Mes max]

Con esta formula le decimos que solo muestre aquellos meses que sean iguales o menores sin importar el año.

MA07

Arrastramos el nuevo campo a Filtros y seleccionamos True.

MA08

Obtenemos el resultado deseado.

MA09

Expresiones LOD

Hola.

Si tienes dudas que son y como utilizar las expresiones a nivel de detalle (LOD), te comparto el siguiente libro de trabajo.

Te dejo el enlaze directo:
Ejemplos LOD

 

var divElement = document.getElementById(‘viz1582833071530’); var vizElement = divElement.getElementsByTagName(‘object’)[0]; vizElement.style.width=’100%’;vizElement.style.height=divElement.offsetWidth*0.75+’px’;
var scriptElement = document.createElement(‘script’); scriptElement.src = ‘https://public.tableau.com/javascripts/api/viz_v1.js&#8217;; vizElement.parentNode.insertBefore(scriptElement, vizElement);
 

Usando LODs para ver los últimos meses

En este video se muestra como obtener en la visualización, los últimos tres meses de información de la fuente, así como, darle la opción al usuario que el determine la cantidad de meses a ver.

A continuación las formulas utilizadas.

Último mes de ventas
IF DATEDIFF(‘month’,DATETRUNC(‘month’,[Fecha del pedido]),
{MAX(DATETRUNC(‘month’,[Fecha del pedido]))})=0
THEN [Total]
END

Penúltimo Mes de ventas
IF DATEDIFF(‘month’,DATETRUNC(‘month’,[Fecha del pedido]),
{MAX(DATETRUNC(‘month’,[Fecha del pedido]))})=1
THEN [Total]
END

Antepenúltimo Mes de ventas
IF DATEDIFF(‘month’,DATETRUNC(‘month’,[Fecha del pedido]),
{MAX(DATETRUNC(‘month’,[Fecha del pedido]))})=2
THEN [Total]
END

Últimos 3 meses
DATEDIFF(‘month’,DATETRUNC(‘month’,[Fecha del pedido]),
{MAX(DATETRUNC(‘month’,[Fecha del pedido]))})<=2

Por favor si tienes dudas, preguntas o sugerencias para mas videos deja tu comentario en este canal o en youtube.