YTD, QTD

Un usuario Pregunto ✅

Anónimo

Hola a todos,

Tengo una pregunta que probablemente sea simple, pero durante dos días he intentado muchas cosas diferentes y no puedo encontrar una solución. Entiendo el concepto de totales MTD/YTD/QTD. Sin embargo, en mi trabajo les gusta ver cada uno de esos valores en función del último mes completado o del último trimestre completado para el total de QTD. Es diciembre, así que se vería así.

MTD – Total del mes de noviembre

Hasta la fecha – 1 de enero – 30 de noviembre

QTD – Total del último trimestre completado.

A continuación se muestran las medidas que he basado en verdaderos MTD, YTD, QTD y funcionan perfectamente:

MTD Units Actual = CALCULATE([Total Units Actual],DATESMTD(CalendarTable[Date]))

YTD Units Actual = CALCULATE([Total Units Actual],DATESYTD(CalendarTable[Date]))

QTD Units Actual = CALCULATE([Total Units Actual],DATESQTD(CalendarTable[Date])) 

Tengo una CalendarTable. Entonces, mi pregunta es cómo puedo usar estas u otras expresiones DAX para lograr lo que describí anteriormente. ¡Gracias por adelantado!

Hola @Anonimo,

Lo siento por mi mala interpretación. ¿Podría probar las fórmulas a continuación para ver si funciona? carita feliz

Previous Month Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL(CalendarTable),
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) = MONTH ( TODAY () ) -1
    )
)
YTD Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL(CalendarTable),
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) <= MONTH ( TODAY () ) -1
    )
)
QTD Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL ( CalendarTable ),
        ENDOFQUARTER ( CalendarTable[Date] )
            = STARTOFQUARTER ( TODAY () ) - 1
    )
)

Saludos

Hola @Anonimo,

Lo siento por mi mala interpretación. ¿Podría probar las fórmulas a continuación para ver si funciona? carita feliz

Previous Month Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL(CalendarTable),
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) = MONTH ( TODAY () ) -1
    )
)
YTD Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL(CalendarTable),
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) <= MONTH ( TODAY () ) -1
    )
)
QTD Units =
CALCULATE (
    [Total Units Actual],
    FILTER (
        ALL ( CalendarTable ),
        ENDOFQUARTER ( CalendarTable[Date] )
            = STARTOFQUARTER ( TODAY () ) - 1
    )
)

Saludos

Anónimo

En respuesta a v-ljerr-msft

Gracias de nuevo por sus respuestas. Funcionó perfectamente. ¿Alguna idea de cómo podría refinar esto un poco, de modo que si es enero, muestre el último mes como diciembre del año anterior?

Anónimo

En respuesta a Anónimo

MTD Units - Actual Prior Month = 
IF (
    MONTH ( TODAY () ) = 1,
    CALCULATE (
        [Total Units - Actual],
        FILTER (
            DateTable,
            YEAR ( DateTable[Date] )
                = YEAR ( TODAY () ) - 1
                && MONTH ( DateTable[Date] )
                    = MONTH ( TODAY () ) -1
        )
    ),
    CALCULATE (
        [Total Units - Actual],
        FILTER (
            DateTable,
            YEAR ( DateTable[Date] ) = YEAR ( TODAY () )
                && MONTH ( DateTable[Date] )
                    = MONTH ( TODAY () ) - 1
        )
    )
)

¡No importa, lo descubrí! ¡Acabo de usar la función IF dentro de la medida!

Hola @Anonimo,

Pruebe las fórmulas a continuación, que deberían dar el resultado esperado. carita feliz

MTD Units Actual =
CALCULATE (
    [Total Units Actual],
    FILTER (
        CalendarTable,
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) = MONTH ( TODAY () )
            && CalendarTable[Date] <= TODAY ()
    )
)
YTD Units Actual =
CALCULATE (
    [Total Units Actual],
    FILTER (
        CalendarTable,
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && CalendarTable[Date] <= TODAY ()
    )
)
QTD Units Actual =
CALCULATE (
    [Total Units Actual],
    FILTER (
        CalendarTable,
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && CalendarTable[Date] >= STARTOFQUARTER ( TODAY () )
            && CalendarTable[Date] <= TODAY ()
    )
)

Saludos

Anónimo

En respuesta a v-ljerr-msft

Estas medidas funcionan muy bien, excepto que todavía muestran el verdadero MTD, YTD y QTD. ¿Alguna idea sobre lo que debo hacer para los totales del mes anterior? Intenté lo siguiente y todavía no funcionó

¡Gracias por adelantado!

MTD Units Actual =
CALCULATE (
    [Total Units Actual],
    FILTER (
        CalendarTable,
        YEAR ( CalendarTable[Date] ) = YEAR ( TODAY () )
            && MONTH ( CalendarTable[Date] ) = MONTH ( TODAY ()-1)
            && CalendarTable[Date] <= TODAY ()
    )
)

Ashish_Mathur

Hola,

Todo lo que necesita hacer es arrastrar Año al filtro/segmentador y seleccionar 2017. Del mismo modo, arrastre Mes al filtro/segmentador y seleccione Noviembre.

sgsukumaran

Primero debe calcular si el mes está completo y luego hacer MTD

ValueCalc = if(HOY()>=EOMES(VALORES(Tabla1[DateRef]);0);EXPTRUE;EXPRFALSE)

Deja un comentario

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