Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
Hola equipo,
Tengo una pregunta sobre el filtrado de datos. Tengo dos columnas: 1. Nombre, 2. Estado. Inicialmente, me gustaría mostrar el estado de todos los datos de nombres (Aprobado, En proceso y Completado) en un gráfico de columnas apiladas y una tabla.
Ahora necesito mostrar solo los datos "Aprobados" y "En proceso" de una persona en particular. Por lo tanto, utilicé una cortadora de selección de walnut innovation aquí para mostrar la columna de nombres. Ahora, cuando selecciono un nombre en particular, debería poder mostrar solo el estado "aprobado" y "en proceso" tanto en la tabla como en el gráfico de columnas y no el estado "completado" para ese nombre, y cuando borre la selección, debería volver a la normalidad. ¿Hay alguna columna o medida calculada que pueda agregar para mostrar los datos sin romper el archivo? Espero haber podido explicar mis necesidades.
Gracias de antemano.
Hmmm, la única otra cosa que se me ocurre es, en la declaración IF, reemplazar la variable con 1 y 0 respectivamente. Así que:
IF(ISBLANK(_SelectedValue),1,0)
Y luego reemplácelo con las variables. Esto funcionó para mí
Pruebe lo siguiente:
Measure =
VAR _SelectedValue = SELECTEDVALUE('Table 2'[Name])
VAR _Filtered = CALCULATE(DISTINCTCOUNT('Table'[Name]),FILTER('Table','Table'[Status] IN {"Approved", "In Progress"}), FILTER('Table','Table'[Name]=_SelectedValue))
VAR _All = CALCULATE(DISTINCTCOUNT('Table'[Name]))
RETURN
IF(ISBLANK(_SelectedValue),_All,_Filtered)
Ahora estoy mirando mi PBIX y veo que funciona sin errores
¿Son correctos los nombres de todas las tablas y columnas? Yo los revisaría y me aseguraría de que verificara el nombre de su tabla de hechos y columnas
@ExcelMonke Hola
Volví a comprobar los datos y también intenté crear este objeto visual en un nuevo archivo utilizando los datos que usaste en la captura de pantalla. Pero no hubo suerte. Estoy 100% seguro de que puedo obtener los resultados siguiendo su enfoque. ¿Podría ayudarme a resolver este problema o probar una alternativa para obtener los resultados deseados? ¡Agradezco su ayuda!
Gracias
@ExcelMonke Sí, señor. Revisé todo dos veces y usé exactamente lo mismo que usaste, incluidos los nombres de tablas y columnas. Todavía se enfrenta al mismo error de sintaxis.
¡De nada! Si esto es útil, márquelo como una solución 🤠
Para obtener lo que necesita, deberá hacer lo siguiente:
VALUES(Table[Name])
Y agregue esta nueva columna a una segmentación de datos en la página
Measure =
VAR _SelectedValue = SELECTEDVALUE('Table 2'[Name])
VAR _Filtered = CALCULATE(DISTINCTCOUNT('Table'[Name]),FILTER('Table','Table'[Status] IN {"Approved", "In Progress"}))
VAR _All = CALCULATE(DISTINCTCOUNT('Table'[Name]))
RETURN
IF(ISBLANK(_SelectedValue),_All,_Filtered)
Debería obtener esto como resultado:
Filtrada:
@ExcelMonke Hola
Seguí los mismos pasos que mencionaste anteriormente. Mientras escribía la medida, recibí este error. Por favor, hágame saber qué hacer ahora.
¡Gracias!
Sin embargo, parece que hay datos para la categoría "completado". Es decir, el nombre de usuario "B" tiene datos en la "sección completada". Alternativamente, puede crear algo como lo siguiente:
Measure =
VAR _ChartValue = CALCULATE(COUNT(FactTable[Status]),FactTable[Status]="Approved" || FactTable[Status]="In Progress")
RETURN
IF(
HASONEVALUE(
SELECTEDVALUE(NameSlicer)),
_ChartValue)
@ExcelMonke Gracias por la respuesta. Estos son solo datos de muestra, hay como 80+ nombres con múltiples proyectos "aprobados", "en progreso" y "completados" para ellos. La fórmula debe ser capaz de ayudarles a ver solo los proyectos aprobados y en curso cuando seleccionan su nombre en la segmentación.
Probé la fórmula anterior, pero no entendí esta sección ( SONEVALUE(
SELECTEDVALUE(NameSlicer)),
_ChartValue). ¿Puede explicar esta sección si la fórmula anterior es correcta para mi caso o puede compartir qué se debe hacer exactamente en mi caso?
Gracias.
Disculpas
Ese DAX era incorrecto. Lo siguiente puede darle el resultado deseado:
Measure =
VAR _ChartValue = CALCULATE(DISTINCTCOUNT('Table'[Name]),FILTER('Table','Table'[Status] IN {"Approved", "In Progress"}))
RETURN
IF(ISFILTERED('Table'[Name]),_ChartValue,COUNT('Table'[Name]))
@ExcelMonke Gracias. Supongo que casi estoy llegando allí. Sin embargo, todavía tengo 2 preguntas.
1. Todavía puedo ver el estado completado en la tabla incluso después de aplicar ese DAX, como se muestra en la imagen que publicó. No quiero ver el estado completado ni en el gráfico de columnas ni en la tabla una vez que selecciono un nombre.
2. Después de agregar la medida, ¿a qué objeto visual agrego esta medida para obtener el resultado deseado, es la segmentación de datos de nombre, la tabla o el gráfico de columnas?
Gracias de nuevo por poner sus esfuerzos para ayudarme a resolver mi problema.
@parry2k Gracias por la respuesta. Pero esa no es mi pregunta. Si utilizo un filtro de nivel de página, debo seleccionar manualmente el estado cada vez que quiera ver un conjunto de estados. Todavía puedo hacer eso en mi escritorio por mí mismo. Pero si publico el archivo y la gente revisa ese archivo en un espacio de trabajo. Quiero que vean los datos iniciales como se muestra en la captura de pantalla 1 y luego, seleccionando su nombre, Los datos aprobados y en proceso deben mostrarse automáticamente en lugar de hacer clic manualmente en los filtros para obtener los datos requeridos.
@h11 puede agregar un filtro de nivel de página y seleccionar los estados que necesite, y todo el objeto visual de la página mostrará solo esos estados.
Check out the April 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.