Forum Discussion
Sum values depending of one code
- 2 years ago
Para lograr la suma acumulada de los valores en DAX de acuerdo a la clave y el mes, puedes utilizar la función `CALCULATE` junto con la función `FILTER` y `ALL` para iterar sobre la tabla y sumar los valores condicionales al orden de los meses y la clave. Aquí te dejo un ejemplo de cómo podrías hacerlo:
```dax
Suma Acumulada =
CALCULATE(
SUM('Tabla'[Valor]),
FILTER(
ALL('Tabla'),
'Tabla'[Clave] = EARLIER('Tabla'[Clave])
&& 'Tabla'[Mes] <= EARLIER('Tabla'[Mes])
)
)
```En este cálculo:
- `SUM('Tabla'[Valor])` es la expresión que queremos calcular, en este caso, la suma de 'Valor'.
- `FILTER` recorre todas las filas de 'Tabla'.
- `ALL('Tabla')` elimina los filtros que pudieran existir sobre 'Tabla', de manera que podemos evaluar todos sus registros.
- `EARLIER('Tabla'[Clave])` y `EARLIER('Tabla'[Mes])` son utilizados para comparar el valor de la fila actual con cada una de las otras filas de la tabla. `EARLIER` es una función que ayuda a mantener el valor de referencia de la fila actual mientras se evalúan las otras filas en el contexto del `FILTER`.Debes asegurarte de que el 'Mes' sea tratado como una columna que pueda ser ordenada correctamente, tal vez necesites convertirlo a fecha o a un número que represente el orden cronológico para que la comparación `'Tabla'[Mes] <= EARLIER('Tabla'[Mes])` funcione correctamente.
Coloca este nuevo cálculo en una medida y úsala en tus visualizaciones para ver la suma acumulada por clave y mes.
Para lograr la suma acumulada de los valores en DAX de acuerdo a la clave y el mes, puedes utilizar la función `CALCULATE` junto con la función `FILTER` y `ALL` para iterar sobre la tabla y sumar los valores condicionales al orden de los meses y la clave. Aquí te dejo un ejemplo de cómo podrías hacerlo:
```dax
Suma Acumulada =
CALCULATE(
SUM('Tabla'[Valor]),
FILTER(
ALL('Tabla'),
'Tabla'[Clave] = EARLIER('Tabla'[Clave])
&& 'Tabla'[Mes] <= EARLIER('Tabla'[Mes])
)
)
```
En este cálculo:
- `SUM('Tabla'[Valor])` es la expresión que queremos calcular, en este caso, la suma de 'Valor'.
- `FILTER` recorre todas las filas de 'Tabla'.
- `ALL('Tabla')` elimina los filtros que pudieran existir sobre 'Tabla', de manera que podemos evaluar todos sus registros.
- `EARLIER('Tabla'[Clave])` y `EARLIER('Tabla'[Mes])` son utilizados para comparar el valor de la fila actual con cada una de las otras filas de la tabla. `EARLIER` es una función que ayuda a mantener el valor de referencia de la fila actual mientras se evalúan las otras filas en el contexto del `FILTER`.
Debes asegurarte de que el 'Mes' sea tratado como una columna que pueda ser ordenada correctamente, tal vez necesites convertirlo a fecha o a un número que represente el orden cronológico para que la comparación `'Tabla'[Mes] <= EARLIER('Tabla'[Mes])` funcione correctamente.
Coloca este nuevo cálculo en una medida y úsala en tus visualizaciones para ver la suma acumulada por clave y mes.