DAX: Error de función TOPN

Un usuario Pregunto ✅

jtstacruz

¡Hola a todos! Un principiante aquí y agradecería la ayuda. 🙂 Necesito ayuda para crear una medida en DAX y no sé si mi ejecución es correcta. Lo que me gustaría que sucediera es producir un gráfico de los 5 principales asignados (de mayor a menor) que tienen el mayor número de estados «En curso». Comencé con los países y luego con la función de filtro porque necesitaba filtrar «En progreso» en la columna de estado. Luego, incluí la medida topn para los 5 principales asignados. Aquí está mi medida: Alojamiento de imágenes y videos por TinyPicNo sé por qué produce una advertencia. ¿Es por una lógica o ejecución incorrecta? Cualquier sugerencia sería genial, ¡gracias!

ryan_mayu

@jtstacruz

Si no desea realizar la configuración en la visualización. Creo que necesitas crear una nueva tabla.

Tabla = TOPN (5, FILTER (Final, Final[Status]= «En progreso»), Final[Assignee], ASC)

No estoy seguro de si esta codificación puede funcionar. Puedes intentarlo.

Gracias

jtstacruz

En respuesta a ryan_mayu

¡Hola Ryan!

El código aún no funciona. Tiene un error que dice: «La expresión se refiere a varias columnas. No se pueden convertir varias columnas a un valor escalar».

v-piga-msft

Hola @jtstacruz,

¿Ha resuelto su problema con la sugerencia de AlB?

Si ha resuelto, acepte siempre las respuestas que tengan sentido como solución a su pregunta para que las personas que puedan tener la misma pregunta puedan obtener la solución directamente.

Si aún necesita ayuda, comparta alguna muestra de datos y el resultado deseado para que podamos ayudarlo más.

Atentamente,

cereza

jtstacruz

En respuesta a v-piga-msft

¡Hola Cherry!

Todavía no lo he descubierto. ¿Me pueden ayudar por favor? Aquí está el código que hice.

Alojamiento de imágenes y videos por TinyPic

Sé que sugirió RANKX como una nueva columna calculada, sin embargo, todavía no obtengo la ejecución que debería hacer. Esta es mi salida deseada:

Alojamiento de imágenes y videos por TinyPic

Con la medida que creé que se ve en la primera foto, pude filtrar el Asignatario y el estado = «En curso». Sin embargo, me gustaría incluir una medida TOPN dax para obtener los 5 principales asignados con la mayor cantidad de estados en progreso y mostrar mi resultado deseado. Sé que hay una opción en la que puedes hacerlo usando filtros de nivel visual:

Alojamiento de imágenes y videos por TinyPicAlojamiento de imágenes y videos por TinyPic

Pero me encantaría que todo se creara a modo de medida. Y no use más los filtros de nivel visual. Por favor, avíseme si puede sugerir una medida que pueda usar para esto. 🙂 ¡Gracias!

Yelsherif

En respuesta a jtstacruz

Si desea mostrar exactamente 5 resultados, deberá crear un cálculo de clasificación especial. La función de clasificación en Power BI trata los valores similares como si fueran uno. en su ejemplo, Benjamín y Concepción tienen el mismo valor y ambos se considerarán como el segundo rango, por lo que la tabla mostrará 6 elementos en lugar de 5.
Para superar esto, necesitará tener una clasificación de 2 niveles que se relacione con el valor y también el orden alfabético para que Benjamín se ubique en el segundo lugar y Concepción en el tercer lugar.

Suponiendo que su tabla es tableName, los valores son theValue y el nombre es theName
1. cree una nueva medida como: ranking = formato (tableName[theValue], «000000») & tableName[theName]

2. Cree el gráfico de barras con el nombre en el eje y el valor en los valores.

3. Agregue el nombre al filtro visual y seleccione TopN

4. Seleccione mostrar los 5 primeros

5. Arrastre la medida «ranking» en el área «por valor».

Explicación: este método crea una clasificación numérica y alfabética mediante la creación de claves como 000020May, 000013Benjamin, 000013Concepcion, 000010Julius, 000004Angli. Estas claves se pueden ordenar de forma descendente en orden alfabético sin mezclar valores similares, … 13B … viene antes … 13C …

Hice este truco muchas veces, espero que funcione para ti

v-piga-msft

En respuesta a jtstacruz

Hola @jtstacruz,

Gracias por la salida deseada.

Comparta su muestra de datos que podría reproducir su escenario para que pueda copiarlo y probarlo.

Atentamente,

cereza

jtstacruz

En respuesta a v-piga-msft

¡Hola cereza!

Muchas gracias por su respuesta. Aquí está mi muestra de datos:

Alojamiento de imágenes y videos por TinyPic

Avísame si necesitas detalles adicionales. Super agradezco la ayuda 🙂

Alba

Hola @jtstacruz

No estoy seguro de entender completamente lo que necesita, pero creo que una buena opción sería crear una columna calculada adicional en la que clasifique a los asignados según el número de «En curso». Probablemente con RANKX

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *