Forum Discussion

LightGS2's avatar
LightGS2
New Member
2 years ago

Suma Acumulada

Buenas Tardes. 

 

Mi problema es el siguiente. Necesito crear una medida que haga una suma acumulada en base a un mes (Categoria) Es decir si selecciono enero me sume solo enero, pero si selecciono el periodo ene-jun me sume de enero a junio, quiero aclarar que no tengo Tabla calendario y no me es funcional crear una por la naturaleza de mi tablero.

 

Teno unas etiquetas de Mes, y un codigo del 1-12 que ordena los meses.

Tengo una tabla donde estan las ventas en una columna y los meses en otra columna y el codigo en otra.

Intente con algunas soluciones que encontre investigando y si me hace la suma sin embargo cuando hago el filtro del periodo deja de hacer la suma acumulada y solo me muestra la suma de ese mes.

 

 

Aqui vemos como me muestra oslolo de Mayo, y no la suma de Enero a Mayo.

La Medida que hice es la siguiente.

Acumulado dinamico =

VAR _MES=
MAX(Meses[Codigo])

VAR _MESSELECCIOANDO=
SELECTEDVALUE(Meses[Codigo])

VAR _ACUMULADO=
CALCULATE([Ejercicio], FILTER(ALLSELECTED(Meses),Meses[Codigo]<= _MES))
RETURN

_ACUMULADO
 
El codigo es el orden numerico de los meses 
 
Quisiera que me ayudaran a ver como hago para que al seleccionar el periodo, me haga la suma
Agradezco su ayuda.
 
SAludos. 

 

2 Replies

  • Hola @Syndicate_Admin,

    ¿Desea calcular el valor acumulado desde enero hasta el mes seleccionado en el filtro? Si es así, permítame explicarle por qué podría estar enfrentando este problema.

    El punto es que la función ALLSELECTED conserva el contexto de filtro de la interfaz de usuario (como informes o segmentaciones), por lo que no puede ignorar por completo los efectos de los filtros.

    Por favor, use 'TODOS' en su lugar, he hecho una prueba para su referencia

    Dinámico Acumulativo =

    VAR _MY=

    MAX(Meses[Código])

    VAR _MESSELECCIOANDO=

    SELECTEDVALUE(Meses[Código])

    VAR _ACCUMULATED=

    CALCULAR(Suma(Meses[Ejercicio]), FILTRO(TODOS(Meses),Meses[Código]<= _MY))

    DEVOLUCIÓN

    _ACUMULADO

    Saludos

    Otro

  • Hola @Syndicate_Admin, pruebe este código y avíseme si hay algún problema.

    Dynamic Cumulative =
    VAR _MAX_MONTH =
        MAX(Months[Code])
    VAR _ACCUMULATED =
        CALCULATE(
            [Exercise],
            FILTER(
                ALLSELECTED(Months),
                Months[Code] <= _MAX_MONTH
            )
        )
    RETURN
    _ACCUMULATED