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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

DAX Calculate filter fonction

Hola a todos,

He estado usando la siguiente función durante años y, recientemente, el resultado no devuelve el valor esperado.

Mi fórmula es bastante simple, solo estoy contando el número de filas en una tabla y agregando un filtro para excluir 2 estados diferentes (de la misma columna en la misma tabla) usando el símbolo OR (||). Funcionó como se esperaba hasta unas pocas semanas, pero ahora la función de filtro no excluye las filas especificadas.

AppReceived = 

VAR A = 
CALCULATE(
    COUNTROWS(Current_ProjectList),
    Current_ProjectList[Project Status \ État du projet] <> "Abandoned" || Current_ProjectList[Project Status \ État du projet] <> "Withdrawn",
    USERELATIONSHIP(Current_ProjectList[RegionID],'Region Table'[RegionID]
))

Return IF(A=BLANK(),0,A)

Estranguladamente, cuando cambio el operador por AND (&&) el resultado me da el valor esperado.

AppReceived = 

VAR A = 
CALCULATE(
    COUNTROWS(Current_ProjectList),
    Current_ProjectList[Project Status \ État du projet] <> "Abandoned" && Current_ProjectList[Project Status \ État du projet] <> "Withdrawn",
    USERELATIONSHIP(Current_ProjectList[RegionID],'Region Table'[RegionID]
))

Return IF(A=BLANK(),0,A)

Tengo muchos cálculos usando esta metodología que ha funcionado en el pasado y me gustaría evitar tener que modificarlos todos, así que estoy tratando de encontrar cuál podría ser el problema. ¿Quizás algún tipo de actualización en DAX?

Cualquier ayuda será muy apreciada.

¡Gracias!

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

Me parece que la lógica && es realmente correcta. Si consideras el || lógica, cuando un estado es Abandonado, entonces

Current_ProjectList[Project Status \ État du projet] <> "Withdrawn"

devolverá true, ya que el estado no es Withdrawy. Y lo mismo ocurre a la inversa, cuando el estado es Retirado, entonces no es Abandonado.

Puede hacer que la exclusión sea más específica mediante el uso de

AppReceived =
VAR A =
    CALCULATE (
        COUNTROWS ( Current_ProjectList ),
        NOT Current_ProjectList[Project Status \ État du projet]
            IN { "Abandoned", "Withdrawn" },
        USERELATIONSHIP ( Current_ProjectList[RegionID], 'Region Table'[RegionID] )
    )
RETURN
    IF ( A = BLANK (), 0, A )

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors