¿Se considera verdadera o falsa la fecha del último mes?

Un usuario Pregunto ✅

rbreneman

¡Hola!

Tengo una tabla de fechas en la que he creado una columna con la línea DAX a continuación para darme un valor verdadero/falso si la fecha es el mes pasado. Estoy tomando el número de mes de la fecha de hoy y restando 1, y usando if(y para hacer coincidir el número de mes y el año de las fechas en mi tabla. Esto funciona muy bien ya que actualmente todas las fechas de septiembre de 2020 muestran True, todo lo demás muestra False . Mi problema será en enero, el DAX calculará «0» como el número del mes. ¿Qué puedo agregar a este DAX para dar cuenta de esto y hacer que devuelva «12» en lugar de «0». Estoy seguro de que hay una forma bastante simple de hacer esto, ¡simplemente no lo veo y necesito un nuevo par de ojos! ¡Gracias!

Last Month? = IF(AND(MONTH(TODAY()) -1 = DateTable[Month Num],YEAR(TODAY()) = DateTable[Year]),TRUE(),FALSE())

dedelman_clng

Hola @rbreneman

Prueba esto

Last Month? = 
var __ThisMonth = MONTH(TODAY())
var __ThisYear = YEAR(TODAY())
var __LastMonth = IF(__ThisMonth = 1, 12, __ThisMonth - 1)
var __LastMonthYear = IF(__ThisMonth = 1, __ThisYear - 1, __ThisYear)
return
IF (
    AND (
        DateTable[Month Num] = __LastMonth,
        DateTable[Year] = __LastMonthYear
    ),
    TRUE (),
    FALSE ()
)

Espero que esto ayude

David

dedelman_clng

Hola @rbreneman

Prueba esto

Last Month? = 
var __ThisMonth = MONTH(TODAY())
var __ThisYear = YEAR(TODAY())
var __LastMonth = IF(__ThisMonth = 1, 12, __ThisMonth - 1)
var __LastMonthYear = IF(__ThisMonth = 1, __ThisYear - 1, __ThisYear)
return
IF (
    AND (
        DateTable[Month Num] = __LastMonth,
        DateTable[Year] = __LastMonthYear
    ),
    TRUE (),
    FALSE ()
)

Espero que esto ayude

David

rbreneman

En respuesta a dedelman_clng

¡Muchas gracias! Eso funciona perfectamente. ¡Enorme ayuda! También agradezco que lo expongas así, tiendo a escribir en una sola línea, pero sin duda ayuda a entenderlo cuando se divide en varias líneas.

Deja un comentario

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