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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
cmckinney
Helper IV
Helper IV

Función FILTER mediante la selección de segmentación actual

¿Es posible pasar la selección actual de una segmentación de datos a una función FILTER en una medida?

Por ejemplo: FILTER(<table>, Column1 ? Current Slicer Selection)

1 ACCEPTED SOLUTION
edhans
Community Champion
Community Champion

Puede utilizar ALLSELECTED([ColumnName]) Está diseñado para trabajar con segmentaciones de datos. Está diseñado para funcionar en una función CALCULATE(), por lo que realmente no necesita la función FILTER().



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

View solution in original post

9 REPLIES 9
TomMartens
Super User
Super User

Hola @cmckinney ,

puede utilizar la función SELECTEDVALUE(...) para pasar/inyectar el valor seleccionado actualmente en la función FILTER de la siguiente manera:

FILTER(<table>, Column1 = SELECTEDVALUE('tablename'[colum used in  the slicer] , [optional default value]))

Aquí encontrará más información sobre la función: https://dax.guide/selectedvalue/

Con suerte, esto proporciona lo que está buscando.

saludos

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany
edhans
Community Champion
Community Champion

Puede utilizar ALLSELECTED([ColumnName]) Está diseñado para trabajar con segmentaciones de datos. Está diseñado para funcionar en una función CALCULATE(), por lo que realmente no necesita la función FILTER().



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

@edhans ¿Funciona con MAXX también?

edhans
Community Champion
Community Champion

Sí, devuelve una tabla, por lo que en cualquier lugar que necesite una tabla, como lo hace MAXX(), debería funcionar



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

Hola @cmckinney

como @edhans

  • SELECTEDVALUE(...) es bueno para capturar un solo valor y un solo valor
  • VALUES(...) permite capturar varios valores seleccionados de una segmentación de datos
    • usted tiene que utilizar VALORES dentro de la función FILTER así
      FILTER( t , t[c] IN VALUES())
      Como VALUES(...) devuelve una tabla, también se puede utilizar como parámetro de tabla en una de las funciones de iterador de tabla como MAXX
    • Personalmente, no usaría ALLSELECTED ya que esta es una de las funciones más complejas, y me gustan mis instrucciones DAX simples 🙂

      saludos

      Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany
edhans
Community Champion
Community Champion

Y @TomMartens es correcto, SELECTEDVALUE() devuelve un valor escalar (único).

Es mejor en DAX que yo, así que le dejaré decidir cuál es mejor para un escenario dado. Ambos funcionarán, pero uno puede ser mejor que otro para una necesidad específica.

Tenga en cuenta que ALLSELECTED() eliminará los filtros existentes en la expresión, pero mantendrá los de orígenes externos, como la segmentación de datos. SELECTEDVALUE() no lo hará, por lo que puede obtener valores NULL en ciertos contextos de filtro.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

@edhans @TomMartens

¿Hay alguna manera de aplicar la expresión SELECTEDVALUE() o la expresión ALLSELECTED() en la siguiente función?

VAR __PreviousDate á MAXX(FILTER(ALL(Sheet1),[Analysis Run]<__CurrentDate),[Analysis Run])
La columna asociada a la segmentación de datos por la que quiero filtrar se denomina "Publicar conjunto"
edhans
Community Champion
Community Champion

Esto debería funcionar. Cambiaste la señal. ALLSELECTED no funcionará con una lógica mayor o menor que. Sólo mantiene exactamente lo que fue devuelto por la cortadora.

Test =
MAXX(
    FILTER(
        ALL( Sheet1 ),
        [Analysis Run]
            < SELECTEDVALUE( [Field] )
    ),
    [Analysis Run]
)

Me gustaría que los datos reales para jugar con dado que están incrustando medida en otra medida.... Transición de contexto y todo eso. 😁

Precaución en SELECTEDVALUE() - sólo funciona en un valor. Si se selecciona más de uno, obtendrá en blanco o un resultado alternativo que puede proporcionar i el 2o parámetro opcional. Tendrá que controlar correctamente ese escenario a menos que bloquee la segmentación de datos en una sola selección en su configuración.



Did I answer your question? Mark my post as a solution!
Did my answers help arrive at a solution? Give it a kudos by clicking the Thumbs Up!

DAX is for Analysis. Power Query is for Data Modeling


Proud to be a Super User!

MCSA: BI Reporting

@edhans @TomMartens

Aquí hay un poco de contexto y algunos datos reales con los que puedes jugar y, con suerte, hacerlo funcionar.

Archivo de ejemplo. https://www.dropbox.com/s/gsaucwi6iqj1upv/RulesConditionalFormatDummy.pbix?dl=0

El objetivo final es conectar la medida a un formato condicional en una matriz.

El producto de la medida debe ser un 0 , 1 o 2.

1 - Si el valor hash ha cambiado de una regla a la siguiente.

2 - Si la regla es nueva

0 - Si no hay ningún cambio y la regla no es nueva

En el formato condicional 1 será rojo, 2 será azul y 0 permanecerá negro.

La primera columna de la matriz siempre debe permanecer en negro.

Aquí hay una captura de pantalla del archivo de muestra que hice. Observe que la segunda columna es azul. No debería ser azul porque el valor hash anterior no está en blanco y tiene el mismo valor hash de la fecha mostrada anteriormente.

Los únicos dos que deben formatearse y tienen el formato correcto son el rojo 'hashchange' y la azul 'new rule'.

Rule 6.png

Cuando se selecciona el conjunto de publicación 'Prueba combinada', la columna se vuelve azul. Esto no debería suceder porque es la primera columna de la tabla y debe ser negra.

Rule 7.png

Esperemos que este contexto ayuda!

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Kudoed Authors