Forum Discussion
Recuento de registros Basado en RANKX
- 6 years ago
@Arshadjehan - Dada la forma de ese cálculo RANKX debe ser una columna calculada. Por lo tanto, esto debe ser algo como lo siguiente:
Male = COUNTROWS(FILTER('Table',[Top N] <= 3 && [Gender]="M")) Female = COUNTROWS(FILTER('Table',[Top N] <= 3 && [Gender]="F"))
@Arshadjehan - Creo que debería ser capaz de utilizar:
Measure = COUNTROWS('Table')
No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
Aquí están los datos de ejemplo: tblResults
| Identificación automática | Roll No | Nombre | Marcas | Género |
| 1 | 12324 | Abc | 515 | M |
| 2 | 2323 | Lmn | 525 | M |
| 3 | 23234 | Xyn | 535 | F |
| 4 | 65655 | Def | 525 | M |
| 5 | 345345 | Prs | 510 | F |
| ............. |
Table tiene más de un millón de registros.
Como primer paso tengo que enumerar sólo los 3 primeros, top 5 o Top 10 registros
Estoy haciendo eso aplicando la función RANKX como se indica a continuación:
| rango | Roll No | Nombre | Marcas | Género |
| 3 | 12324 | Abc | 515 | M |
| 2 | 2323 | Lmn | 525 | M |
| 1 | 23234 | Xyn | 535 | F |
| 2 | 65655 | Def | 525 | M |
A continuación quiero mostrar el número de estudiantes de Top N siendo masculino o femenino en la tarjeta visual como:
Masculino: 3
Mujer:1
Espero haber elobarado bien ahora
- Greg_Deckler6 years ago
Community Champion
@Arshadjehan - Dada la forma de ese cálculo RANKX debe ser una columna calculada. Por lo tanto, esto debe ser algo como lo siguiente:
Male = COUNTROWS(FILTER('Table',[Top N] <= 3 && [Gender]="M")) Female = COUNTROWS(FILTER('Table',[Top N] <= 3 && [Gender]="F"))- Arshadjehan6 years ago
Helper I
@Greg_Deckler ¡Funcionó como un encanto! Gracias, hombre.
Sólo una cosa necesaria: Ya que estoy usando el parámetro Dense en la función RANKX, por lo que estoy teniendo lazos en el resultado. ¿Cómo puedo añadir un número de serie secuencial en la tabla vaisual como se muestra a continuación:
Número de serie Posición Nombre Marcas 1 1 Abc 545 2 2 Def 535 3 2 Fmam 535 4 3 LMO 525 5 3 Xyz 525 - Greg_Deckler6 years ago
Community Champion
@Arshadjehan- Por lo tanto, generalmente agregar un índice en DAX se considera imposible. Sin embargo, hay un método para hacerlo.
https://community.powerbi.com/t5/Quick-Measures-Gallery/The-Mythical-DAX-Index/m-p/1093214#M528
La otra manera sería agregar un pequeño número aleatorio a su cálculo de rango / topn
Top N = RANKX(ALLSELECTED('tblResult'),[Marks],,,Dense) + RANDBETWEEN(.001,.009)y luego podría tener una columna:
Index = COUNTROWS(FILTER('Table',[Top N]<=EARLIER([Top N])))Esto, en efecto, romperá tus lazos.