Medir para ignorar valores negativos

Un usuario Pregunto ✅

comandante

Tengo la siguiente medida:

Casos para el objetivo real = (objetivo de DOS – MIN DOS) * pronóstico diario máximo

DOS Target es un parámetro

MIN DOS es una medida

El pronóstico diario máximo es una medida

En la tabla superior, que mira la combinación de elemento / DC, quiero los resultados esperados como se muestra, incluidos los números negativos (tenga en cuenta que los números están un poco desviados debido al redondeo). Sin embargo, en la tabla inferior, que solo analiza el elemento, quiero ignorar los negativos y ver solo un total de los números positivos.

En este ejemplo, me gustaría que la parte inferior mostrara solo 4.81 (3.62 + 1.19).

Probé la siguiente declaración IF:

IF ((‘Destino DOS'[DOS Target Value] – [MIN DOS]) * [MAX Daily Forecast (Cases)] <0, 0, ('Destino DOS'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)])
Sin embargo, cuando utilizo esa fórmula en la tabla inferior (solo elemento), si el total sumado es un número negativo, devuelve 0 en lugar de sumar solo los valores positivos.

¿Alguien puede ayudarme con una medida que calcule esto correctamente? ¡Gracias!

PBICapture.PNG

Hola @maj,

Puede intentar medir como:

Measure 2 = 
IF(
    HASONEVALUE('DOS Target'[DOS Target Value] ),
    IF(('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)] < 0, 0, ('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)]),
    IF(
        ('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)]>0,
        SUM(TOTAL),
        0
        )

Puedes referir esto:

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

Atentamente,

Enlace

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Hola @maj,

Puede intentar medir como:

Measure 2 = 
IF(
    HASONEVALUE('DOS Target'[DOS Target Value] ),
    IF(('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)] < 0, 0, ('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)]),
    IF(
        ('DOS Target'[DOS Target Value] - [MIN DOS]) * [MAX Daily Forecast (Cases)]>0,
        SUM(TOTAL),
        0
        )

Puedes referir esto:

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

Atentamente,

Enlace

Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los demás miembros a encontrarla más rápidamente.

Greg_Deckler

@maj ¿No puedes usar el panel Filtro y especificar «Casos a objetivo real «es mayor que 0?

comandante

En respuesta a Greg_Deckler

No, porque si el El total sumado es un número negativo, se filtraría. Considere el siguiente ejemplo:

Estos serían los resultados en la tabla superior (combinación de artículo / DC):
5

-10

2

-3

En la segunda tabla (solo elemento), la opción que sugirió filtraría este elemento. Realmente quiero que devuelva un valor de 7.

Deja un comentario

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