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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

ayuda para comprender el uso de FILTER dentro de CALCULATE

Hola

Estoy buscando entender por qué una fórmula dax que he usado ha devuelto la respuesta correcta por mí usando la función FILTER dentro de CALCULATE y por qué la respuesta es incorrecta cuando uso el argumento dentro de la expresión CALCULAR.

Esta fue la fórmula original que se utiliza:

CALCULAR(Countrows(Consulta1),
Consulta1[Servicio] = "construir",
Consulta1[Nombre] = Consulta1[Ganador])
Esto no me dio el resultado correcto.
Sin embargo, cuando envolví FILTER alrededor del segundo argumento filter en la función CALCULATE, funcionó:
CALCULAR(Countrows(Consulta1),
Consulta1[Servicio] = "construir",
FILTRO(Consulta1,Consulta1[Nombre] = Consulta1[Ganador])).
Entiendo que la función FILTER finalmente devuelve una tabla, sin embargo, no puedo entender por qué no ha funcionado dentro del argumento dentro de la función CALCULAR.
Cualquier ayuda para ayudarme a entender esto sería muy apreciada.
TIA.
3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@FreemanZ

Básicamente, en mi conjunto de datos hay una columna que tiene el mismo valor repetido para cada fila (para el jugador que me interesa, y también hay otra columna con el nombre del oponente en cada fila)

He estado leyendo en línea y parece que el problema que estaba encontrando se debía a la parte de la fórmula donde un valor de columna era igual a otro valor de columna:

Consulta1[Nombre] = Consulta1[Ganador]
When used like this any slicers applied would not work. However, when I changed this to FILTRO(Consulta1,Consulta1[Nombre] = Consulta1[Ganador] it did work.
Syndicate_Admin
Administrator
Administrator

@mkins

¿Podría explicar esto?

Cada valor es jugador 1 columna sería el mismo valor

?

Syndicate_Admin
Administrator
Administrator

@mkins

CALCULATE(Countrows(Query1),
Query1[Service] = "build")
es la sintaxis azúcar de
CALCULATE(Countrows(Query1),
FILTER(ALL(Query1[Service]), Query1[Service] = "build"))
el azúcar de sintaxis para CALCULATE+FILTER solo funciona cuando una columna se compara con valores constantes, como "build". En caso de comparar con otra columna o una medida, se necesita una expresión completa envuelta con filtro.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.