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.
Hola, estoy tratando de crear un conjunto de gráficos como este:
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:
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í:
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:
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?
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)
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.
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.
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
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:
SELECTEDVALUE tampoco funcionó, ¿quizás me equivoqué de sintaxis?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |