es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

No se puede filtrar la tabla en Power BI.

Estoy aprendiendo Power BI, para uno de mis requisitos quiero filtrar una tabla basada en el valor seleccionado del filtro y mostrarlo en un filtro diferente.

Entonces, aquí hay 4 filtros y según la selección de uno, tengo que mostrar los datos en el segundo.

Mi tabla se ve así:

id Nombre ParentId
1 A null
2 A.1 1
3 A.1.B.1 2

Así que solo tengo una tabla donde tengo que buscar el elemento por id -> parentId y luego mostrarlo en el siguiente filtro.

Por ejemplo, si seleccionamos A, luego en el siguiente filtro deberíamos mostrar A.1 ya que, id -> 1(A) = parentId -> 1(A.1).

Intenté crear una tabla separada y luego vincular el id con el parentId en la sección de mapeo, este concepto funciona pero el problema es que si seleccionamos A en el segundo filtro, A.1 y A.2 se muestran en el primer filtro, pero si hacemos clic en A.1 en el segundo filtro y luego intentamos hacer clic en los elementos en el primer filtro, en este caso, A, el filtro no funciona correctamente.

Si agregamos los elementos de la selección anterior + Nueva selección:

Slicer 1 Slicer 2
A — (1,2,3)
B — (4,5,6)

Ahora, después de hacer clic en A [primer filtro], mostrará (1,2,3) [segundo filtro]
Después de hacer clic en 2 [segundo filtro] –> muestra algunos elementos en el [tercer filtro]
Pero, ahora volvemos a hacer clic en B [primer filtro] –> [4,5,6,2] (valor incorrecto)
Ya que seleccionamos 2, se agrega junto con la nueva selección solo si hacemos clic en el segundo filtro.

Entonces, como solución alternativa, intenté filtrar el valor seleccionado que es una medida de la tabla y luego mostrarlo en la lista.

Mi expresión:
Table = FILTER(TableA, TableA[id] == Tableb[selectedId] )

Tableb[selectedId] –> es una medida
Table = FILTER(TableA, TableA[id] == “8DE04141-E5B6-49E1-814A-ADB4C6FF5DCF”) –> id seleccionado

La primera declaración no muestra ningún valor pero la segunda me da el resultado cuando estoy codificando el valor, por favor sugiérame qué puedo hacer aquí.

Tags:  

Answer

  1. Avatar for davy.ai

    Basándonos en el escenario dado, aquí hay algunas posibles soluciones en Power BI:

    1. Utilizando una combinación de filtros y un formato de jerarquía:

    En esta solución, puedes utilizar el formato de jerarquía incorporado en Power BI para mostrar datos. Puedes crear una jerarquía seleccionando dos o más campos en la misma tabla y luego eligiendo la opción “Nueva jerarquía” en la pestaña “Modelado”. Luego puedes usar esta jerarquía como un filtro, lo cual te permitirá filtrar los datos en función de los valores seleccionados.

    Para implementar esta solución, puedes seguir estos pasos:

    • Crea una nueva jerarquía seleccionando la pestaña “Modelado” y luego haciendo clic en “Nueva jerarquía”.
    • Elige los campos “Nombre” e “id” en el cuadro de diálogo de creación de jerarquía y luego asigna un nombre a la jerarquía, por ejemplo, “Nombre – ID”.
    • Agrega la jerarquía como un filtro a tu informe arrastrándola y soltándola en el lienzo.
    • Crea otro filtro para el campo “ParentId” y conéctalo con el filtro de jerarquía usando la opción “Editar interacciones”. Esto garantizará que los datos en el segundo filtro se filtren en función de la selección realizada en el primer filtro.
    • Asegúrate de que la opción “Permitir valores nulos” esté seleccionada para el filtro de “ParentId”, de modo que muestre todos los valores cuando no se realiza ninguna selección en el filtro de jerarquía.

    Esta solución te permitirá filtrar los datos en función de los valores seleccionados en ambos filtros.

    1. Utilizando filtros DAX:

    En esta solución, puedes crear una fórmula DAX que filtre los datos en función de los valores seleccionados en los filtros. Luego puedes utilizar esta fórmula DAX para poblar otro filtro o visualización en tu informe.

    Para implementar esta solución, puedes seguir estos pasos:

    • Crea una nueva medida seleccionando la opción “Nueva medida” en la pestaña “Modelado”.
    • Ingresa la siguiente fórmula DAX en la barra de fórmulas:

      Tabla Filtrada =
      VAR ValorSeleccionado = SELECTEDVALUE(TablaA[id])
      RETURN FILTER(TablaA, TablaA[ParentId] = ValorSeleccionado || TablaA[id] = ValorSeleccionado)

    • Esta fórmula crea una nueva tabla que filtra los datos en función del valor seleccionado en el campo “id” o su valor correspondiente en “ParentId”.

    • Crea un nuevo filtro o visualización y utiliza esta medida como fuente de datos. Esto mostrará los datos filtrados en función de la selección realizada en los otros filtros.

    Esta solución te permitirá crear un filtro dinámico en función de los valores seleccionados en los filtros.

Comments are closed.