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
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
Super User
Super User

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
Super User
Super User

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?

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

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"

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
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.