Respuesta a: Generar Curva S con Dax

dlom
Participante

    Qué tal Juan! El tema aquí es que la función DATESYTD reinicia el acumulado al iniciar un nuevo año. Por eso se ve que se van acumulando durante el año y en enero regresa a cero, donde empieza a acumular de nuevo.

     

    El resultado final con DATESYTD se queda igual a lo del año 2025 porque es el año para la última fecha del contexto de filtro.

     

    Ahora, para acumular a lo largo de los años vas a tener que hacer algo parecido como en la medida [TotalActividades] donde modificas el filtro usando CALCULATE con ALL y el acumulado lo tendrás que hacer sin la función DATESYTD.

     

    Para ir acumulando el resultado conforme se avanza en el tiempo vas a usar una medida parecida a esta:

     

    ActividadesProyectadasAcumuladas =
    CALCULATE (
        [ActividadesProyectadas],
        FILTER (
            ALL ( ‘TablaCalendario’ ),
            ‘TablaCalendario'[Fecha] <= MAX ( ‘TablaCalendario'[Fecha] )
        )
    )

     

    Esta medida está usando CALCULATE para modificar el filtro de la TablaCalendario con la función FILTER. Luego quitas los filtros que esté aplicando la TablaCalendario con ALL. Pero lo interesante es lo que viene después.

     

    La parte de la medida “‘TablaCalendario'[Fecha] <= MAX ( ‘TablaCalendario'[Fecha] )” vuelve a filtrar las fechas para solo sumar lo que está previo a cada fecha de la TablaCalendario. Y cuando lo grafiques te debe de quedar como una curva S.

     

    Un abrazo,
    – Diego