cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Error de filtrado basado en dos columnas

Hola

Tengo la siguiente expresión dax y estoy tratando de filtrar basado en dos filas sin embargo obtengo un error con el segundo filtro que indica
"Se ha utilizado un filtro de función en una expresión verdadera o falsa"

¿Puede alguien explicarme la lógica detrás de lo que estoy haciendo y por qué está mal.

A continuación se muestra mi medida dax

-Crew NA. • CALCULATE(COUNT(FACT_DELIVERY[CREW_QTY]),
FILTER(ALL(FACT_DELIVERY[CREW_QTY]),FACT_DELIVERY[CREW_QTY]<2)
&&
FILTER(ALL(FACT_DELIVERY[STOP_TYPE]),FACT_DELIVERY[STOP_TYPE] <> "C"))

A continuación se muestra una tabla de ejemplo:

Crew_qtystop_type
1c
1a
2a
3a

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola OsmanEmi,

¿podría cambiar el && a , e intentarlo de nuevo?

-Crew NA. = CALCULATE(COUNT(FACT_DELIVERY[CREW_QTY]),
FILTER(ALL(FACT_DELIVERY[CREW_QTY]),FACT_DELIVERY[CREW_QTY]<2)
,
FILTER(ALL(FACT_DELIVERY[STOP_TYPE]),FACT_DELIVERY[STOP_TYPE] <> "C"))

La función && devuelve un VALOR VERDADERO o FALSE en función de si se cumplen las condiciones. mediante el uso de la "," en su lugar está agregando otro filtro a la función de cálculo, en lugar de convertirlo en un TRUE/FALSE.

Saludos

Tim

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @OsmanEmi ;

Está utilizando las instrucciones "&&" entre dos instrucciones FILTER().

"&&" no funciona de la manera en que dice "Hacer esto y hacer eso".
Básicamente dice "Esto tiene que ser VERDADERO y esta otra cosa también tiene que ser VERDADERO"

Pruebe esto en su lugar:

-Crew NA. = 
CALCULATE(
COUNT(FACT_DELIVERY[CREW_QTY]) ,
FILTER(ALL(FACT_DELIVERY),FACT_DELIVERY[CREW_QTY]<2 && FACT_DELIVERY[STOP_TYPE] <> "C")
)

Syndicate_Admin
Administrator
Administrator

Hola OsmanEmi,

¿podría cambiar el && a , e intentarlo de nuevo?

-Crew NA. = CALCULATE(COUNT(FACT_DELIVERY[CREW_QTY]),
FILTER(ALL(FACT_DELIVERY[CREW_QTY]),FACT_DELIVERY[CREW_QTY]<2)
,
FILTER(ALL(FACT_DELIVERY[STOP_TYPE]),FACT_DELIVERY[STOP_TYPE] <> "C"))

La función && devuelve un VALOR VERDADERO o FALSE en función de si se cumplen las condiciones. mediante el uso de la "," en su lugar está agregando otro filtro a la función de cálculo, en lugar de convertirlo en un TRUE/FALSE.

Saludos

Tim

View solution in original post

Hola timg,

Esto funcionó muchas gracias.
¿Es posible explicar por qué esto funcionó en lugar de mi método?

Hola Osman,

Incluí una explicación como una edición en mi primera respuesta justo ahora. ¿Esto aclara suficientemente la diferencia?

Saludos

Tim

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Top Solution Authors