usando RANKX y todo seleccionado junto con filtros visuales

Un usuario Pregunto ✅

Jlinhenley

Hola, tengo un problema que no puedo resolver.

Tengo una matriz, con dos niveles de agregación y también tiene una medida RANKX

RANKX(ALLSELECTED(ETOs[Job Number]), [Total ETOs To Date])

Está usando ALLSELECTED porque en mi tabla, tengo otra columna que quiero filtrar a través de la opción «filtros visuales» en la tabla. Esto funciona bien, pero también quiero limitar la tabla para mostrar solo los 10 rangos (donde el rango <= 10). Pero tan pronto como selecciono filtrar también visualmente la medida de rango a menos de 10, la tabla está vacía, lo que entiendo que sucede cuando ALLSELECTED se ve afectado, pero también se usa para calcular el rango.

Pero conociendo este problema, no he encontrado una manera de hacer que esta combinación funcione, ¿alguien puede ayudarme?

Además, intenté usar el filtro visual N superior, pero esto no funciona en todos los niveles de la agregación (para EG, solo mostrará las 10 filas superiores, incluso cuando expanda las categorías. Quiero tener las 10 primeras mostrar PER nivel de agregación.

Jlinhenley

En respuesta a Ashish_Mathur

Terminé resolviendo este problema. Lo que tenía que hacer era crear una tabla de dimensiones sobre las actividades (pero no crear una relación con las actividades del trabajo). Luego use esto como el filtro para solicitar el rango y use el valores opción en RANKX para borrar de forma activa las etapas no seleccionadas. Funciona bien, pero computacionalmente bastante duro en la CPU.

RANKX(
	FILTER(
		ALL(ETOs[Job Number]),
		[Job Last Stage] IN VALUES('Activities Table'[ActivityDesc])),
	[Total ETOs To Date],
	IF([Job Last Stage] IN VALUES('Activities Table'[ActivityDesc]), [Total ETOs To Date], BLANK()))

Ashish_Mathur

Hola,

¿Podría compartir un conjunto de datos y mostrar el resultado esperado?

Jlinhenley

En respuesta a Ashish_Mathur

¿Cómo comparto el pbix? ¿Puedo enviarlo a tu correo electrónico?

Ashish_Mathur

En respuesta a Jlinhenley

Hola,

Sube a Google Drive y comparte el enlace de descarga aquí.

Jlinhenley

En respuesta a Ashish_Mathur

Hola, ¿puedes descargar este enlace?

pbix

Ashish_Mathur

En respuesta a Jlinhenley

Hola,

No creo que lo haya resuelto, pero puedes probar esto. Elimina la condición del filtro de la última etapa del trabajo. Revisa tu medida para

=RANKX(CALCULATETABLE(ALL(ETOs[JobNo]),FILTER(VALUES(ETOs[JobNo]),[Job Last Stage]<>"Fixing")), [Total ETOs To Date])

Untitled.png

Jlinhenley

En respuesta a Ashish_Mathur

Gracias por echar un vistazo. Siento que debe haber una manera de generar las clasificaciones sin usar ALLSELECTED.

En cualquier caso, esto parecía que debería ser mucho más fácil …

Ashish_Mathur

En respuesta a Jlinhenley

De nada. No he utilizado ALLSELECTED (). Sin embargo, aunque le he pedido explícitamente a la fórmula que filtre las filas de corrección, aparecen en el resultado final. Lo siento, pero ahora no tengo ideas.

Jlinhenley

En respuesta a Ashish_Mathur

Terminé resolviendo este problema. Lo que tenía que hacer era crear una tabla de dimensiones sobre las actividades (pero no crear una relación con las actividades del trabajo). Luego use esto como el filtro para solicitar el rango y use el valores opción en RANKX para borrar de forma activa las etapas no seleccionadas. Funciona bien, pero computacionalmente bastante duro en la CPU.

RANKX(
	FILTER(
		ALL(ETOs[Job Number]),
		[Job Last Stage] IN VALUES('Activities Table'[ActivityDesc])),
	[Total ETOs To Date],
	IF([Job Last Stage] IN VALUES('Activities Table'[ActivityDesc]), [Total ETOs To Date], BLANK()))

Deja un comentario

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