Forum Discussion

Arshadjehan's avatar
Arshadjehan
Icon for Helper I rankHelper I
6 years ago
Solved

Recuento de registros Basado en RANKX

He filtrado dinámicamente el basado en una segmentación de opciones de:

Top 3, Top 5 y Top 10. Quiero mostrar el número de registros filtrados, por ejemplo, cuando selecciono Top 3 , los registros devueltos después de la función RANKX pueden ser 3 o más en función de los lazos (he utilizado la opción Densa en RANKX). Entonces, ¿cómo puedo mostrar el recuento de registros en una tarjeta?

  • @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"))

6 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    @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.

    • Arshadjehan's avatar
      Arshadjehan
      Icon for Helper I rankHelper I

      Aquí están los datos de ejemplo: tblResults

      Identificación automáticaRoll NoNombreMarcasGénero
      112324Abc515M
      22323Lmn525M
      323234Xyn535F
      465655Def525M
      5345345Prs510F
      .............

      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:

      Top N á RANKX(ALLSELECTED('tblResult'),[Marcas],,,Dense)
      Estoy obteniendo el resultado para Top 3 en la tabla visual como:
      rangoRoll NoNombreMarcasGénero
      312324Abc515M
      22323Lmn525M
      123234Xyn535F
      265655Def525M

      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_Deckler's avatar
        Greg_Deckler
        Icon for Community Champion rankCommunity 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"))