Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Buenas tardes. Me gustaría solicitar ayuda con un tema que estoy intentando realizar. Se trata de una tabla que tiene la siguiente estructura.
En base a estos datos, necesito poder mostrar los 10 primeros registros según la columna tipo. Es decir, en base al ejemplo anterior, debería mostrarme los 9 primeros registros porque son de tipo A y luego el siguiente que es de tipo B.
Por mi parte he intentando filtrar por medio de la opción TOP N pero no me funciona. Al palicar el filtro TOP N por la columna "Tipo" y añadiendo como valor la columna nº de registros
También he intentado utilizar una medida DAX para optener con RANX algo similar utilizando esta formula (pero tampoco me funciona bien).
Total registros = sum(Hoja1[Registros])
Top N registros por tipo = CALCULATE(Hoja1[Total registros], filter(values(Hoja1[Tipo]), if(rankx(all(Hoja1), [Total registros], ,DESC) <= 6, [Total registros], BLANK())))
Espero que alguien me pueda ayudar. Muchas gracias 🙂
Solved! Go to Solution.
Trate de crear una medida como esta:
Measure =
VAR t =
TOPN ( 10, ALLSELECTED ( 'Table' ), 'Table'[Type], ASC, 'Table'[Users], ASC )
RETURN
COUNTROWS ( INTERSECT ( t, 'Table' ) )
Saludos
Icey
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Trate de crear una medida como esta:
Measure =
VAR t =
TOPN ( 10, ALLSELECTED ( 'Table' ), 'Table'[Type], ASC, 'Table'[Users], ASC )
RETURN
COUNTROWS ( INTERSECT ( t, 'Table' ) )
Saludos
Icey
Si este post ayuda, entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @Syndicate_Admin,
Puede crear una columna personalizada y marcar la A como 1, B como 2, C como 3 y así sucesivamente.
Custom_Sort = SWITCH({Column_Name}.
"A", 1,
"B", 2,..................)
A continuación, puede ordenar toda la tabla sobre la base de column(Custom_Sort) personalizadas y, a continuación, simplemente ajustar los 10 valores principales en función de la columna personalizada.
Si esto funciona con usted, por favor hágamelo saber y marcarlo como solución!
Gracias.
Hola @Syndicate_Admin. Muchas gracias por tus comentarios. La verdad es que había llegado a crear una columna como la que indicas (de una forma más artesanal con if(....)). Sin embargo, no he encontrado la forma de hacer lo que indicas para mostrar los primeros registros.
A continuación te muestro la tabla que he llegado a conseguir con la condición que te comentaba antes.
Insisto, cual es el criterio para seleccionar las filas de la categoría B que quieres incluir?
Proud to be a Super User!
Paul on Linkedin.
La selección de "A" está clara. Cual es el criterio para la selección de las filas de "B"?
Proud to be a Super User!
Paul on Linkedin.
No puedes simplemente filtrar por el campo "Nº" en el panel de filtros, seleccionando del 1 al 10?
Proud to be a Super User!
Paul on Linkedin.
Hola @PaulDBrown
Después de revisar vuestros comentarios he podido conseguir (más o menos) lo que estaba buscando. Os comento lo que he realizado.
1. He ordenado la tabla desde el modelo de datos por la columna "Tipo"
2. He creado una columna de tipo indice.
3. Una vez adaptado el modelo, he creado una medida que me permita numerar las filas de la tabla. De esta forma, le puedo decir que me muestre las 10 primeras.
RowNum = CALCULATE(COUNT ( Hoja1[Índice] ), FILTER ( ALLSELECTED ( Hoja1 ), Hoja1[Índice] <= MAX ( Hoja1[Índice])))
4. Por último, he añadido la la medida rownum y con el filtro indicado anteriormente ya me ha mostrado los primeros 10 registros.
Con estos cambios, ya puedo obtener la tabla con la ordenación que buscaba teniendo en cuenta los 10 primeros registros.
El problela que tengo ahora, es que la medida rownum no me funciona correctamente si no añado la columna indice a la tabla. Es decir, si no añado la columna indice solo me cuenta los primeros 8 registros. Si la añado, entonces me funciona correctamente. Esto puede ser porque la medida hace referencia a esa columna?
Muchas gracias por vuestra ayuda 🙂
Hola @PaulDBrown. Esa columna la he cargado a modo de ejemplo. En la tabla origina, los tipos de registro A, B y C vienen desordenados con sus identificadores correspondientes.