Forum Discussion

alfertab's avatar
alfertab
Helper I
2 years ago
Solved

Sum values depending of one code

Hola a todos, estoy haciendo un problema en DAX y me encuentro un poco en problemas. Tengo la siguiente tabla: Mes Clave Valor enero T123 200 febrero T123 300 marzo T123 400 a...
  • AnalyticsWizard's avatar
    2 years ago

    alfertab 

     

    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.