Fecha actual, mes corriente, día de hoy

Cuando abrimos un informe en cualquier sistema de BI es habitual querer ver la información actual o al menos el último dato disponible y en Power BI no es posible hacerlo de una forma automática y elegante. Este requerimiento es muy habitual y dependiendo de cada conjunto de datos y su tipo de conexión puede resolverse de formas distintas.

La manera más secilla para encontrar una solución es la de añadir una columna calculada a la tabla fechas que nos diga si es la fecha actual, también podemos añadir fechas relativas como la del mes anterior por ejemplo. Muchos tendrán la duda si hacerlo mediante Power Query o bien delegarlo a DAX.

Vamos a seguir un ejemplo como forma de explicación. partimos de un conjunto de datos que ya dispone de una tabla “Fechas” y tres columnas: Fecha, Mes, Año, además de una tabla “Venta”. Queremos disponer de un filtro en los informes que nos indique el mes actual, independiente de la fecha, esto quiere decir que no hablamos de la fecha de hoy, hablamos de la última fecha con datos en el conjunto de datos. En este caso la tabla fecha se realizó a partir de los hechos por lo que solo tiene fechas en las que existan datos relacionados, pero el ejemplo sirve exactamente igual en caso que no sea así.

DAX

En Power BI Desktop añadimos una columna a la tabla “Fechas”: seleccionamos la tabla y pulsamos sobre “Nueva columna” dentro de las opciones de la cinta de “Inicio” o bien hacemos un click con el botón secundario del ratón y pulsamos sobre la misma opción “Nueva columna”.

La intención es crear una columna que contenga la diferencia de meses entre la columna fecha y el último mes con datos de venta, para ello en la barra de fórmulas escribimos

Meses de diferencia = ((12 * YEAR([Fecha])) + MONTH([Fecha])) 
- ((12 * YEAR(max(Venta[Fecha])) + MONTH(max(Venta[Fecha]))))

Creamos otra columna, que mediante una expresión condicional evaluará la fecha y los meses de diferencia para decirnos si es el actual o es anterior, le llamaremos “Mes relativo”.

Mes relativo = IF([Meses de diferencia]=0
; "Mes actual"
; "Mes actual " & IF([Meses de diferencia]>0; "+ "; "") & [Meses de diferencia])

Si ponemos las tres columnas en una tabla debería aparecer algo como en la siguiente imagen:

Esto nos indica que el cálculo es correcto y podemos poner un filtro en cualquier informe con el valor “Mes actual” seleccionado de manera que cuando tengamos nuevos datos, se actualice el informe, aparezca por defecto seleccionado siempre el último mes con datos.

Si en vez de un desplegable ponemos la lista de valores tendremos

Puede que expresiones del tipo “Mes actual -1” no sean muy inteligibles para muchos usuarios. Podemos hacer un pequeño cambio a la fórmula de la columna “Mes relativo” para simplificarla y en los informes poner los dos filtros: Mes relativo y fechas.

Mes relativo 2 = IF([Meses de diferencia]=0
; "Mes actual"
; "Mes anterior")

 

2 comentarios sobre “Fecha actual, mes corriente, día de hoy

  1. David Ramirez Contestar

    Buen dia, felicidades por su página, muy ilustrativa.
    Disculpando por atreverme a preguntar lo siguiente, respecto a tabla de fechas:
    Quisiera crear una columna de trimestre pero que el primero de cada año inicie en marzo, abril y mayo, y así en adelante hasta terminar en el cuarto trimestre con diciembre, enero y febrero, estos dos del siguiente año.
    Gracias anticipadas.

  2. Roger Torné Autor del artículoContestar

    Pues no te queda otra que hacerlo con un “if”, bien sea con DAX o con Power Query. La mejor solución es hacerlo con Power Query, para ello vas a “Editar consultas”. Primero es necesario disponer del mes en formato numérico, para ello vamos al apartado “Agregar columna”, allí verás la opción “Columna personalizada”, pones por nombre por ejemplo por nombre “Mes” y en la fórmula escribes

    Date.Month([ColFecha])

    Donde “ColFecha” debe corresponder con el nombre del campo fecha de tu tabla

    Luego en el mismo menú pulsas “Columna condicional”, allí pones las 12 condiciones, si el nombre de la columna es “Mes” es igual a “3” salida es “Trimestre fiscal 4”, si el “Mes” es igual a “4”, “Trimestre fiscal 1”, etc.

Deja un comentario

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