Valor total al final del mes

Un usuario Pregunto ✅

nannimora

Hola,

Necesito tu ayuda para resolver mi problema

Tengo una tabla que contiene fechas, valores y estado.

TEl objetivo es tener la tendencia por mes. La suma debe pagarse al final de cada mes. Esos son todos los valores desde el principio hasta el final del mes.

Necesito sumar todo el valor que tiene el estado «FALSO» antes de fin de mes y el valor que tiene el estado «VERDADERO» después de la misma fecha.

Por ejemplo:

fecha Valor Estado

22/01/2019 100 falso

25/01/2019 40 falso

15/02/2019 60 falso

24/02/2019 80 verdadero

me gustaría tener el resultado:

31/01/2019 220

(220 = 100 + 40 + 80)

28/02/2019 200

(200 = 100 + 40 + 60)

Sumo 80 en enero porque es cierto después del 31/01/2019, y no lo sumo en febrero porque el 28/02/2019 es VERDADERO.

Espero poder explicarme a pesar de mi inglés.

Gracias

Giovanni

hola @nannimora

Puede intentarlo de esta manera como se muestra a continuación:

Paso 1:

Agregue una tabla de fechas y agregue una columna de fin de mes en ella

Date = CALENDAR(MIN('Table'[Date]),MAX('Table'[Date]))
end of the month = ENDOFMONTH('Date'[Date])

Paso 2:

Cree una relación entre la tabla de fechas y la tabla de datos por columna de fecha.

Paso 3:

Crea una medida como esta:

Measure =
CALCULATE (
    SUM ( 'Table'[Value] ),
    FILTER (
        ALL ( 'Table' ),
        OR (
            'Table'[Date] <= MAX ( 'Date'[end of the month] )
                && 'Table'[Status] = FALSE (),
            'Table'[Date] > MAX ( 'Date'[end of the month] )
                && 'Table'[Status] = TRUE ()
        )
    )
)

Resultado:

3.JPG

aquí está el archivo pbix, inténtelo.

Atentamente,

Lin

En respuesta a nannimora

hola @nannimora

Sí, es por el Filtrar TODO.

Puede intentar utilizar ALLSELECTED en lugar de ALL

https://docs.microsoft.com/en-us/dax/all-function-dax

https://docs.microsoft.com/en-us/dax/allselected-function-dax

Si aún tiene el problema, simplemente comparta un archivo pbix de muestra simple y el resultado esperado.

Atentamente,

Lin

hola @nannimora

Puede intentarlo de esta manera como se muestra a continuación:

Paso 1:

Agregue una tabla de fechas y agregue una columna de fin de mes en ella

Date = CALENDAR(MIN('Table'[Date]),MAX('Table'[Date]))
end of the month = ENDOFMONTH('Date'[Date])

Paso 2:

Cree una relación entre la tabla de fechas y la tabla de datos por columna de fecha.

Paso 3:

Crea una medida como esta:

Measure =
CALCULATE (
    SUM ( 'Table'[Value] ),
    FILTER (
        ALL ( 'Table' ),
        OR (
            'Table'[Date] <= MAX ( 'Date'[end of the month] )
                && 'Table'[Status] = FALSE (),
            'Table'[Date] > MAX ( 'Date'[end of the month] )
                && 'Table'[Status] = TRUE ()
        )
    )
)

Resultado:

3.JPG

aquí está el archivo pbix, inténtelo.

Atentamente,

Lin

nannimora

En respuesta a v-lili6-msft

Muchas gracias @ v-lili6-msft,

ahora, con ALLSELECTED, debería ser perfecto.

Smiley feliz

nannimora

En respuesta a v-lili6-msft

Perfecto y muchas gracias.

Modifiqué su medida porque tengo que agregar los valores «falsos» en una columna [Value 1] y los valores verdaderos en otro [Value 2].
Simplemente no entiendo por qué la tabla, si quisiera filtrarla por cliente o agente de ventas, no cambia. tal vez para el Filtro TODO?
HAsí es como lo modifiqué:
Trend = 
CALCULATE (
    SUM ( 'Table' [Value 1]  );
    FILTER (
        ALL ( 'Table' ); 
            AND('Table' [Data] <= MAX ( 'Time'[Fine Mese] );'Table' [Status] = FALSE ()
            )
    )
)
+
CALCULATE (
    SUM ( 'Table' [Value 2]  );
    FILTER (
        ALL ( 'Table' ); 
            AND('Table' [Data] > MAX ( 'Time'[Fine Mese] ); 'Table' [Status]  = TRUE ()
            )
        
    )
)

En respuesta a nannimora

hola @nannimora

Sí, es por el Filtrar TODO.

Puede intentar utilizar ALLSELECTED en lugar de ALL

https://docs.microsoft.com/en-us/dax/all-function-dax

https://docs.microsoft.com/en-us/dax/allselected-function-dax

Si aún tiene el problema, simplemente comparta un archivo pbix de muestra simple y el resultado esperado.

Atentamente,

Lin

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *