The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola a todos,
Estoy trabajando en un panel de Power BI en el que tengo que controlar la lógica de filtrado para dos tipos de empleados: VIP y no VIP. Esta es mi configuración actual:
Cuando los usuarios seleccionan empleados VIP específicos (por ejemplo, Empleado 10, Empleado 11) en la segmentación "Seleccionar VIP", los objetos visuales solo muestran los empleados seleccionados (por ejemplo, 2 VIP). Sin embargo, quiero que se muestren los elementos visuales:
Por ejemplo:
He incluido una captura de pantalla de ejemplo de las imágenes antes y después al filtrar a los empleados VIP (ver imagen adjunta).
Desafortunadamente, no pude cargar el archivo del conjunto de datos directamente, así que esta es la estructura del conjunto de datos que estoy utilizando:
Employee_ID NOMBRE GRUPO VIP
1 | Empleado 1 | VIP |
2 | Empleado 2 | VIP |
3 | Empleado 3 | VIP |
... | ... | ... |
20 | Empleado 20 | VIP |
21 | Empleado 21 | No VIP |
22 | Empleado 22 | No VIP |
... | ... | ... |
100 | Empleado 100 | No VIP |
¡Disculpe las molestias y gracias de antemano por su ayuda!
Hola @Anonymous_n
Necesitará dos mesas desconectadas, una que contiene solo los VIP y la otra que contiene todos los grupos. Puede crearlos con DAX o M. Tablas de cálculo de DAX de ejemplo
ALLEmployees =
SUMMARIZE ( VIPData, VIPData[Employee_ID], VIPData[NAME], VIPData[VIP GROUP] )
VIPEmployees =
SUMMARIZE (
FILTER ( VIPData, VIPData[VIP GROUP] = "VIP" ),
VIPData[Employee_ID],
VIPData[NAME]
)
Y, a continuación, una medida que se devolverá en función de las selecciones de segmentación
VIP Filter =
VAR __LOOKUPTABLE =
DISTINCT (
UNION (
VALUES ( VIPEmployees[Employee_ID] ),
SUMMARIZE (
FILTER ( ALLEmployees, ALLEmployees[VIP GROUP] = "Non-VIP" ),
ALLEmployees[Employee_ID]
)
)
)
RETURN
CALCULATE (
COUNTROWS ( VIPData ),
KEEPFILTERS ( TREATAS ( __LOOKUPTABLE, VIPData[Employee_ID] ) )
)
Consulte el pbix adjunto para obtener más detalles.
¡Muchas gracias! Esto es casi exactamente lo que necesito. Solo falta una cosa: si no se hace una selección VIP, quiero que los VIP queden completamente excluidos de las imágenes. Actualmente, si no hay nada seleccionado, se muestran todos los VIP.
Entonces, si quiero agregar otra segmentación que tenga 2 opciones: permite al usuario incluir o excluir VIP:
¿Es esto posible? Gracias de nuevo por tu orientación, ¡eres increíble! 😊
Cree una tabla desconectada en DAX o en Power Query. Esta es la expresión DAX para crear una tabla
Disconnected Employee List = VALUES(Table[Employee Name])
Agregue la columna de esta tabla a la segmentación de nombres de empleado.
Crear otra medida
EmployeeFilter =
Var __SelectedEmployees = Values(DIsconnectedEmployeeList[Employee Name])
Var __Result = if(SelectedVale[Table[VIP Group]) = "VIP", if(SelectedValue(Table[EmployeeName]) in __SelectedEmployees, 1, 0),1)
Return __Result
Agregue la medida anterior como filtro de nivel visual y la condición del filtro debe ser 'Es 1'
No olvide realizar los cambios necesarios en las expresiones anteriores según los nombres de tabla y columna de su modelo.
¿Necesita una consulta de Power BI? Contrátame en Upwork
Conéctate en LinkedIn
|
¡Gracias por la sugerencia! Es un gran enfoque, pero esperaba tener dos segmentaciones separadas: una específicamente para seleccionar VIP específicos. Aun así, aprecio mucho tu ayuda, ¡muchas gracias!