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

Fórmula DAX con un valor de filtro que se omite desde el nivel de informe

Hola

Estoy tratando de configurar la coloración condicional en un gráfico basado en una medida.

Puedo hacerlo con un:

AVGMost = CALCULAR(PROMEDIOX(TODOSSELECCIONADOS(mesa),table[Valor]),TODO(tabla2[Categoría]))
De esta manera, estoy ignorando el filtro en el nivel de informe
lo que estoy tratando de hacer es configurar AVGMost para que se arregle esa categoría:
AVGMost = CALCULATE(AVERAGEX(ALLSELECTED(table),table[Value]),FILTER(table2, table2[Category]="cat1"))
y luego aplicar esto ias un formato condicional para ver si alguno de los valores de cat2 está por debajo del promedio de cat1.
El resultado de este último es que cuando filtro en informe a cat2 no obtengo nada codificado por colores ya que cat1 se filtra y AVGMost = NULL
Para la coloración conditonal tengo otra medida con si condición para comprobar si un valor es mayor o no: esa parte funciona bien.
Gracias
sampak
1 ACCEPTED SOLUTION

Hay @sampak88

Su problema debe ser causado por la función ALL en la tabla de filtros '2016indx'. La función ALL hará que su código elimine el filtro de '2016indx' y, debido a la relación, su código también eliminará el filtro de'ZoneLookup'. Así que UR_NAME de ZoneLookup no pudo filtrar su medida. Pruebe allSelected finction.

Measure = CALCULATE(AVERAGEX(ALLSELECTED(BUS),BUS[Value]),FILTER(ALLSELECTED('2016indx'),'2016indx'[Category] ="cat1"))

Mi muestra:

1.png

Relación:

2.png

El resultado es el siguiente. Por defecto el resultado es (1+2+3)/3 = 2. Verá que podemos filtrar la medida promedio por UR_NAME de ZoneLookup.

(2+3)/2 = 2,5

3.png

Saludos
Rico Zhou

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

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@amitchandak: su fórmula es casi correcta, el único problema es que cuando aplico este filtro de tabla3, el AVG calculado sigue siendo el mismo, pero me gustaría que esto controlara el grupo de registros. por lo tanto, para la tabla3 cat1 el promedio es 5 y luego para cat2 es 7 y el código de colores es dinámico solo para esa selección.

¡Gracias!

Hay @sampak88

¿Puedes compartir una muestra con nosotros? Puede mostrarnos el resultado que desea mediante una captura de pantalla. Esto nos hará más fáciles de entender su requerimiento.

Saludos
Rico Zhou

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

Esta fórmula está cerca:

CALCULATE(AVERAGEX(ALLSELECTED(table),table[Value]),FILTER(all(table2) , table2[Category]="cat1"))

sin embargo tengo una tercera tabla conectada que tiene otra categoría que debería estar filtrando el AVG en su lugar esto permanece estático cuando cambio el filtro, ver situación sin filtro:

sampak88_0-1635330037400.png

y si lo selecciono (el umbral para la coloración sigue siendo el mismo que el promedio):

sampak88_1-1635330054984.png

Lo que me gustaría tener es que el AVG se calcule a lo que proporciona la tercera tabla y que la coloración se ajuste para que el promedio se calcule solo en este subconjunto.

¡Gracias!

Hay @sampak88

Creo que has creado relaciones entre Table y Table2[Cagetory]/Table3[Cagetory2] . ¿Tu relación se parece a mi muestra? En mi tabla de muestra tiene Categoría y Categoría2.

1.png

En mi muestra esta medida funciona bien.

1.png

El resultado es el siguiente.

2.png3.png

Saludos
Rico Zhou

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

Eh

mi relación se ve así, donde de hecho el 1 a muchos en mis consultas también es 1 a 1

CALCULATE(AVERAGEX(ALLSELECTED(BUS),table[Value]),FILTER(all(2016indx) , 2016indx[Category]="cat1")) y luego quiero filtrar en función de UR_NAME de ZoneLookup

sampak88_0-1635415416068.png

¡Gracias!

Hay @sampak88

Su problema debe ser causado por la función ALL en la tabla de filtros '2016indx'. La función ALL hará que su código elimine el filtro de '2016indx' y, debido a la relación, su código también eliminará el filtro de'ZoneLookup'. Así que UR_NAME de ZoneLookup no pudo filtrar su medida. Pruebe allSelected finction.

Measure = CALCULATE(AVERAGEX(ALLSELECTED(BUS),BUS[Value]),FILTER(ALLSELECTED('2016indx'),'2016indx'[Category] ="cat1"))

Mi muestra:

1.png

Relación:

2.png

El resultado es el siguiente. Por defecto el resultado es (1+2+3)/3 = 2. Verá que podemos filtrar la medida promedio por UR_NAME de ZoneLookup.

(2+3)/2 = 2,5

3.png

Saludos
Rico Zhou

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

View solution in original post

Syndicate_Admin
Administrator
Administrator

@sampak88 , si esta medida es un problema

pruebe como

CALCULATE(AVERAGEX(ALLSELECTED(table),table[Value]),FILTER(all(table2) , table2[Category]="cat1"))

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Top Solution Authors