Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Anonymous
Not applicable

¿Por qué mi expresión no devuelve NET_PROFIT?

Hola a todos

Mi expresión a continuación funciona bien sin error :-

PNL ?
SWITCH(TRUE(),
'Tabla'[CÓDIGO GL]>-20000 &&'Tabla'[CÓDIGO GL]<30000,"COGS",
'Tabla'[CÓDIGO GL]>-40000 &&'Tabla'[CÓDIGO GL]<50000,"REV",
'Tabla'[CÓDIGO GL]>-80000 && 'Tabla'[CÓDIGO GL]<100000,"EXP",
'Tabla'[CÓDIGO GL]>-10000 && 'Tabla'[CÓDIGO GL]<100000,"NET_PROFIT",

BLANK())
El problema es que no muestra NET_PROFIT .
Espero que alguien pueda aconsejarme por qué ?
Paul
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hola @Paulyeo11 ,

Porque todas estas condiciones: [20000,30000), [40000,50000), [80000,100000) están en el rango de [10000,100000).

La siguiente imagen puede ayudarle a entender.

10.21.1.1.PNG

Si la condición"NET_PROFIT" está escrita en la primera,las siguientes condiciones"cubrirán".

Y si está escrito en la última, podríamos usar la instrucción IF( ) para entender: [10000,100000) no es la condición negativa de la condición anterior, por lo que la última frase lógica no podría ejecutarse.

Column =
IF (
    'Table'[GL CODE] >= 20000
        && 'Table'[GL CODE] < 30000,
    "COGS",
    IF (
        'Table'[GL CODE] >= 40000
            && 'Table'[GL CODE] < 50000,
        "REV",
        IF (
            'Table'[GL CODE] >= 80000
                && 'Table'[GL CODE] < 100000,
            "EXP",
            IF (
                'Table'[GL CODE] >= 10000
                    && 'Table'[GL CODE] < 100000,
                "NET_PROFIT",
                BLANK ()
            )
        )
    )
)

Tal vez podría crear una columna más para "NET_PROFIT" o aplicar formato condicional para la columna PNL.

Measure =
IF (
    MAX ( 'Table'[GL CODE] ) >= 10000
        && MAX ( 'Table'[GL CODE] ) < 100000,
    "Yellow"
)

¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.

Saludos
Eyelyn Qin

View solution in original post

8 REPLIES 8
Anonymous
Not applicable

Hola @Paulyeo11 ,

Porque todas estas condiciones: [20000,30000), [40000,50000), [80000,100000) están en el rango de [10000,100000).

La siguiente imagen puede ayudarle a entender.

10.21.1.1.PNG

Si la condición"NET_PROFIT" está escrita en la primera,las siguientes condiciones"cubrirán".

Y si está escrito en la última, podríamos usar la instrucción IF( ) para entender: [10000,100000) no es la condición negativa de la condición anterior, por lo que la última frase lógica no podría ejecutarse.

Column =
IF (
    'Table'[GL CODE] >= 20000
        && 'Table'[GL CODE] < 30000,
    "COGS",
    IF (
        'Table'[GL CODE] >= 40000
            && 'Table'[GL CODE] < 50000,
        "REV",
        IF (
            'Table'[GL CODE] >= 80000
                && 'Table'[GL CODE] < 100000,
            "EXP",
            IF (
                'Table'[GL CODE] >= 10000
                    && 'Table'[GL CODE] < 100000,
                "NET_PROFIT",
                BLANK ()
            )
        )
    )
)

Tal vez podría crear una columna más para "NET_PROFIT" o aplicar formato condicional para la columna PNL.

Measure =
IF (
    MAX ( 'Table'[GL CODE] ) >= 10000
        && MAX ( 'Table'[GL CODE] ) < 100000,
    "Yellow"
)

¿He respondido a tu pregunta? Por favor, marque mi respuesta como solución. Muchas gracias.
Si no es así, cargue algunas muestras de datos insensibles y la salida esperada.

Saludos
Eyelyn Qin

Anonymous
Not applicable

Hola Eyelyn

Gracias por compartir y proporcionarme detalle explianation.

intento que ambos de la expresión es compartir.

Todavía no puedo averiguar cómo calcular el importe del beneficio neto .

es posible que comparta el archivo PBI conmigo ?

Paul Yeo

@Paulyeo11 ,

si ve que la tabla NET PROFIT cubre todos los demás 3 valores de métricas donde su código GL está entre 20000 y 89999, y está tratando de didvide los valores entre como abajo que es su DAX y también para el beneficio neto de nuevo se está refiriendo el código GL de 10000 a 100000 que ya está cubierto en las otras métricas.

Debido a lo cual puede obtener el beneficio neto como la columna total o los otros 3 valores definidos.

Tabla'[GL CODE]>-80000 && 'Table'[GL CODE]<100000,"EXP",
'Tabla'[CÓDIGO GL]>-40000 &&'Tabla'[CÓDIGO GL]<50000,"REV",
'Tabla'[CÓDIGO GL]>-20000 &&'Tabla'[CÓDIGO GL]<30000,"COGS",

manikumar34_0-1603267937007.png

saludos

Manikumar





If this helps, Appreciate your KUDOS!
Did I answer your question? Mark my post as a solution!


Proud to be a Super User!




Anonymous
Not applicable

Hola Señor

Creo que mi ejemplo de datos sin procesar no es correcto.

Debería crear un dato sin procesar correcto, para poder desarrollar una declaración de pérdidas y respuestas.

Como han sido confirmados por tantos expertos aquí.

Paul Yeo

@Paulyeo11 ,

De acuerdo con su claculación Net Pfofit está en el nivel más alto y calculando todos los valores de la columna. Así que su beneficio neto se convertirá en toda la columna vlaue otra cosa que puede tener otros valores aparte de ganancias netas.

En este caso, tenga dos columsn calculados uno con beneficio neto y la otra columna calculada con otras métricas.

saludos

Manikumar





If this helps, Appreciate your KUDOS!
Did I answer your question? Mark my post as a solution!


Proud to be a Super User!




manikumar34
Solution Sage
Solution Sage

@Paulyeo11

Veo que ya ha pasado esos valores que están entre 10000 a 100000 y de nuevo usted está tratando de pasar el mismo en el beneficio neto. Esto hace que la contradicción de valor. Debido a lo cual si usted toma Net Profi primero se puede ver todas las columnas con beneficio neto y si se takle por fin se ve el beneficio neto.





If this helps, Appreciate your KUDOS!
Did I answer your question? Mark my post as a solution!


Proud to be a Super User!




amitchandak
Super User
Super User

@Paulyeo11 , si 10000 entonces debe ser por fin si 100,000 entonces debe ser primero

PNL ?
SWITCH(TRUE(),
'Tabla'[CÓDIGO GL]>-100000 && 'Tabla'[CÓDIGO GL]<100000,"NET_PROFIT",
'Tabla'[CÓDIGO GL]>-80000 && 'Tabla'[CÓDIGO GL]<100000,"EXP",
'Tabla'[CÓDIGO GL]>-40000 &&'Tabla'[CÓDIGO GL]<50000,"REV",
'Tabla'[CÓDIGO GL]>-20000 &&'Tabla'[CÓDIGO GL]<30000,"COGS",


BLANK())

O


PNL ?
SWITCH(TRUE(),

'Tabla'[CÓDIGO GL]>-80000 && 'Tabla'[CÓDIGO GL]<100000,"EXP",
'Tabla'[CÓDIGO GL]>-40000 &&'Tabla'[CÓDIGO GL]<50000,"REV",
'Tabla'[CÓDIGO GL]>-20000 &&'Tabla'[CÓDIGO GL]<30000,"COGS",
'Tabla'[CÓDIGO GL]>-10000 && 'Tabla'[CÓDIGO GL]<100000,"NET_PROFIT",

BLANK())

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

Hola Amit

https://www.dropbox.com/s/udjf31pw0zsjegd/C0021%20GL_%20TDS%20v0003.pbix?dl=0

He probado tanto su expresión , NET PROFIT nunca aparece

Paul

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.