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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
mbidelski
Helper I
Helper I

Clasificar los valores filtrados

Hola, estoy tratando de crear un conjunto de gráficos como este:

Adnotacja 2020-04-09 070352.png

La segmentación de año filtra los datos del gráfico izquierdo. El gráfico derecho utiliza una copia de la columna years y la medida ignorando el filtro de año de la segmentación de datos:

ValForChart = CALCULATE(SUM(IPBI[Value]);ALL('Period Map'[FY]))

Estoy usando el filtro Top N para mostrar solo las empresas que tenían los valores más altos en el año dado.

Pero lo que realmente quiero es mostrar 5 primeras y inferior 5 empresas por valor en el año filtrado - alguna idea de cómo lograr esto?

INFORMACIÓN ADICIONAL:

aquí está el RankX que @amitchandak sugerido

Rank = RANKX(ALL(IPBI);[ValForChart#];;DESC;Dense)

Y esto es lo que sucede:
Adnotacja 2020-04-09 180635.png

Cada valor obtiene un rango, por cada año. Quiero mostrar 5 empresas, que fueron más altas (y más bajas) por valor en un año determinado. No solo los valores superiores cada año y cada empresa.

Creo que una solución se vería así:

Adnotacja 2020-04-09 185507.png

Así que ahora se puede ver que las filas son la forma en que los necesito, pero sólo puedo hacer la medida SOLUTION con una expresión estática:

SOLUTION = CALCULATE(SUM(IPBI[Value]);IPBI[FY2]="2017")

Espero que esté claro ahora. Pasé una cantidad impío de tiempo tratando de resolver esto, y parece que debería ser factible, pero soy muy nuevo en DAX y bases de datos en general. Gracias por cualquier sugerencia!

UPDATE2

Por qué RANKX con ALLSELECTED no funciona:

Adnotacja 2020-04-10 202742.png

Solo clasifica los valores del año filtrado, todo lo demás se clasifica como el último valor. No funciona será TODO tampoco, captura de pantalla está arriba.

UPDATE3

No funciona con SELECTEDVALUE, Perdio Map[FY] es el nombre de la columna filtrada por la segmentación de datos. ¿Debo hacer referencia a él de manera diferente?

Adnotacja 2020-04-13 154401.png

9 REPLIES 9
Vera_33
Resident Rockstar
Resident Rockstar

Lo siento... puedeprobarlo si solo hace una sola selección en el slcier:

SOLUCIÓN ?
VAR CurYear - SELECTEDVALUE('Mapa de período'[FY])
devolución
CALCULATE(SUM(IPBI[Value]);IPBI[FY2]-CurYear)

Anonymous
Not applicable

En general, todas las celdas, incluidos los valores filtrados y los valores sin filtrar, se clasificarán mediante la función Rank.
En la fórmula, A2 es la primera celda que desea clasificar, A2: A8 es el rango que desea clasificar.
A continuación, al filtrar datos, los valores visibles se volverán a clasificar automáticamente.

Vera_33
Resident Rockstar
Resident Rockstar

Hola @mbidelski sólo un poco de pensamiento, si utiliza RANKX para clasificar todos los valores, tiene los números de índice de clasificación para que pueda utilizar IF para borrar los valores medios y dejar sólo los 5 superiores y la parte inferior 5.

amitchandak
Super User
Super User

@mbidelski

Si quieres tanto top como Botton juntos, entonces es un poco complicado. De lo contrario, tener rango (Asc y desc dos medidas) y usarlo tiene un filtro de nivel visual

En caso de que quieras que ambos tengan así

 ValForChart = CALCULATE(SUM(IPBI[Value]);ALL('Period Map'[FY]))

 rank asc = ranks(all(IPBI),[ValForChart],,asc,dense)
 rank desc = ranks(all(IPBI),[ValForChart],,desc,dense)
  ValForChart Ranked = calculate([ValForChart],filter(all(IPBI),[rank asc]<=5 || [rank desc ]<=5))

ejemplo de rango en el filtro de nivel visual

https://community.powerbi.com/t5/Community-Blog/Winner-Topper-on-Map-How-to-Color-States-on-a-Map-wi...

Para el rango Refiera estos links
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale

Aprecia tus Felicitaciones. En caso de que esta sea la solución que está buscando, márquela como la solución.
En caso de que no ayude, por favor proporcione información adicional y marque con @

Gracias. Mis blogs recientes -Consulta directa de decodificación - Inteligenciade tiempo , Colorear ganadores en MAP, Análisis de RECURSOS Humanos, Power BI Trabajar con tiempo no estándary comparar datos entre rangos de fechas
Orgulloso de ser un Datanaut Connect en Linkedin

Hola, he añadido una respuesta en el post original - soy capaz de subir imágenes sólo a la publicación original que parece, y hace las cosas mucho más fáciles de explicar.

Hola @mbidelski es porque ALL elimina todos los filtros, puedes usar ALLSELECTED

Con ALLSELECTED solo se clasifican los valores del año filtrado. El resto se clasifica en la parte inferior (última posición en el ranking). El gráfico solo muestra un año. Pantalla: https://imgur.com/koOUhiF

Hola @mbidelski, no puede ver su imagen, utilizar ALL o ALLSELECTED depende de cómo desea RANK, RANKX puede comparar diferentes valores con el 3er argumento también. Puede sordor en su medida, por lo que es dinamtico.

SOLUCION: CALCULATE(SUM(IPBI[Value]);IPBI[FY2]-SELECTEDVALUE(yourSlicerYear))

Rango: RANKX(ALL(IPBI);[ SOLUCION];;D ESC;Dense)

@Vera_33 gracias por su ayuda. Esto es lo que sucede con ALLSELECTED, la función Rank ignora todo lo que se filtra, necesito todos los años para obtener el mismo rango:

Adnotacja 2020-04-10 202742.png

SELECTEDVALUE tampoco funcionó, ¿quizás me equivoqué de sintaxis?

Adnotacja 2020-04-13 154401.png

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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