Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

DAX - Simple Table FILTER no funciona con SELECTEDVALUE

Aquí hay un video que muestra lo que estoy tratando de hacer ...
https://www.screencast.com/t/ii7Hcx8UlwT7

Este es el código simple que no puedo poner a trabajar.

Tabla filtrada = FILTER('Tabla', 'Tabla'[Color] = SELECTEDVALUE('Tabla'[Color]))

También he probado lo siguiente.

Tabla filtrada = FILTER('Tabla', 'Tabla'[Color] = IF(HASONEVALUE('Tabla'[Color]), VALUES('Tabla'[Color]), BLANK()))
Tabla filtrada = CALCULATETABLE('Table', FILTER(ALL('Table'), 'Table'[Color] = SELECTEDVALUE('Table'[Color])))

Estoy en una pérdida total. Cualquier ayuda que pueda proporcionar sería muy apreciada.
El ejemplo pbIX que utilicé para este ejemplo se puede encontrar aquí.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Mi colega encontró una buena solución a este problema. Definitivamente es una solución alternativa, pero es mejor que la solución alternativa que estaba usando.

Código de medida:

SelectedEmail = IF(HASONEFILTER('Detalles de actualización'[email]), 1, BLANK())

Luego, la Medida se agrega al final de la tabla, se renombra a "_" (por lo que ocupa un espacio mínimo) y la columna se reduce para que no se pueda ver. Las otras columnas deben establecerse para que no se agreguen. Ahora, la tabla de la derecha solo mostrará datos si se selecciona un solo valor de correo electrónico a la izquierda. 😁

AlternativeOption.png

View solution in original post

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Mi colega encontró una buena solución a este problema. Definitivamente es una solución alternativa, pero es mejor que la solución alternativa que estaba usando.

Código de medida:

SelectedEmail = IF(HASONEFILTER('Detalles de actualización'[email]), 1, BLANK())

Luego, la Medida se agrega al final de la tabla, se renombra a "_" (por lo que ocupa un espacio mínimo) y la columna se reduce para que no se pueda ver. Las otras columnas deben establecerse para que no se agreguen. Ahora, la tabla de la derecha solo mostrará datos si se selecciona un solo valor de correo electrónico a la izquierda. 😁

AlternativeOption.png

Bien.

Tenga en cuenta que puede cambiar el tamaño de las columnas para hacerlas efectivamente invisibles (aunque es posible que deba desactivar el ajuste de palabras en las columnas y los valores para que no se estiren las filas).

Syndicate_Admin
Administrator
Administrator

Una tabla calculada no puede responder a los filtros.

Las tablas calculadas y las columnas calculadas solo se calculan una vez por vez que se carga o actualiza el modelo de datos y no en respuesta a la interacción con varias segmentaciones de datos o filtros en una página de informe.

Las medidas, por otro lado, están diseñadas para responder dinámicamente a las interacciones y, por lo general, hay una manera de usarlas para hacer lo que finalmente pretendía usar una tabla calculada.

De acuerdo, gracias. No me di cuenta de que estos no se actualizan en función del contexto del filtro.

Pero esto no puede existir como medida, ¿verdad? Recibiré una advertencia de valor escalar porque estoy devolviendo varias columnas. Quiero la tabla filtrada... No estoy seguro de cómo se puede representar eso en una medida.

Ni siquiera necesita medidas necesariamente para este caso simple, ya que las imágenes pueden filtrarse entre sí y puede crear segmentaciones de datos.

Como ejemplo, intente seleccionar Negro en su visual de matriz inferior y vea lo que hace con la imagen de la tabla anterior.

AlexisOlson_0-1633107498234.png

Sí, pero si no quiero que nada se muestre en la tabla (porque no es relevante hasta que se selecciona algo en la matriz) tengo que hacer algo como esto que he hecho, pero viene con muchos dolores de cabeza como...

  1. Es difícil editar el informe porque hay una tarjeta transparente en la parte delantera de la mesa todo el tiempo.
  2. Tengo que permitir que los usuarios vean la barra de desplazamiento en todo momento, de lo contrario no pueden seleccionarla porque la imagen de la tarjeta transparente está en primer plano.

Como dije, este es un ejemplo realmente básico. Lo que esperaba hacer es tomar los datos de la matriz visual, filtrar una tabla con un valor único (dirección de correo electrónico en el mundo real) y luego pivotar sobre otra cosa por completo mientras me unía a otra tabla de valores para calcular algunos totales. He hecho todo de forma predeterminada en PowerQuery, con lo que me siento cómodo, pero esperaba que se pudiera hacer más en el lado de DAX para que se pudiera mantener el contexto del filtro.

Esto es lo que tengo...

Card in front of table that becomes transparent when email address is selectedTarjeta delante de la tabla que se vuelve transparente cuando se selecciona la dirección de correo electrónico

Ya veo. No puedo pensar en una mejor solución en este momento.

Un enfoque diferente sería hacer una segmentación de datos de correo electrónico desplegable (que no filtre la matriz izquierda) con una sola selección forzada. Esto tiene diferentes inconvenientes, pero podría funcionar en algunas situaciones similares.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.