Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago

Fechas continuas

Tengo dax measue que funciona, pero creo que las fechas son estáticas y tendrían que actualizarse manualmente para los próximos meses. Necesito que las fechas cambien automáticamente; Desde: FECHA(2022,05,01), FECHA(2023,04,30) Hasta FECHA(2022,06,01), FECHA(2023,05,30) para el mes siguiente. Cualquier ayuda sería muy apreciada.

Aquí está la medida completa:

2023 En vigor =
CALCULAR(
CUENTA('AISCVGP'[ACCUS#]), FILTRO('AISCVGP', AISCVGP[ACSTA] = "ACTO") ,
FECHASENTRE('Calendario'[Fecha], DATE(2022,05,01), DATE(2023,04,30)
))

5 Replies

  • @wnicholl

    Puede usar TODAY() para obtener un rango de fechas dinámico. El mes que viene debería ser
    FECHA(2022,06,01), FECHA(2023,05,30) o
    FECHA(2022,06,01), FECHA(2023,05,31) ?
    Suponiendo que quieres el primero del mes y el final del mes anterior sería así.

    2023 Inforce =
    VAR _Start = EOMONTH ( TODAY (), -1 )
    VAR _End = _Start + 1
    RETURN
        CALCULATE (
            COUNTA ( 'AISCVGP'[ACCUS#] ), 
    		AISCVGP[ACSTA] = "ACT",
            DATESBETWEEN ( 'Calendar'[Date], _End, _Start )
        )

    Tampoco necesita la parte FILTER ('AISCVGP' y es una mala idea usar FILTER en toda una tabla, así que también la actualicé.

  • @jdbuchanan71

    Probé la medida y no devuelve ningún valor. Sí, el siguiente conjunto de fechas debe ser FECHA (2022,06,01), FECHA(2023,05,31). ¿Alguna otra sugerencia? Si uso datesbetween necesitaría actualizar las fechas manualmente... ¿Es eso Corrcet? ¡Gracias!

  • Lo siento, leí mal su fecha de inicio, es en 2022, por lo que se vería así, lo que tiene más sentido.

    2023 Inforce =
    VAR _Start = EOMONTH ( TODAY(), -13 ) + 1
    VAR _End = EOMONTH ( TODAY(), -1 )
    RETURN
        CALCULATE (
            COUNTA ( 'AISCVGP'[ACCUS#] ), 
    		AISCVGP[ACSTA] = "ACT",
            DATESBETWEEN ( 'Calendar'[Date], _Start, _End )
        )

  • ¡Eso funcionó! Muchas gracias. ¡Necesito aprender a usar el código dax "VAR"! ¡Muy útil!

  • Uso el VAR solo para que sea más fácil de leer en este caso, pero también podrías escribir la medida así.

    2023 Inforce =
    CALCULATE (
        COUNTA ( 'AISCVGP'[ACCUS#] ),
        AISCVGP[ACSTA] = "ACT",
        DATESBETWEEN (
            'Calendar'[Date],
            EOMONTH ( TODAY (), -13 ) + 1,
            EOMONTH ( TODAY (), -1 )
        )
    )