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
Maxfran
Helper I
Helper I

O Condición en el filtro de página

Hola

Mi problema:

Quiero que mi informe se filtre por "FD1 x X" O por "FD2 x X", FD1 y FD2 son 2 variables diferentes.

El informe tiene que mostrar datos de individuos con valor X en la variable FD1 O en la variable FD2.

Si pongo 2 filtros (uno para FD1 y otro para FD2) en mi página filtraré a las personas que tienen el valor X en la variable FD1 y la variable FD2.

Lo siento si no soy comprensible, mi inglés es bastante pobre.
Gracias de antemano

14 REPLIES 14
AllisonKennedy
Super User
Super User

@Maxfran Si estoy entendiendo su publicación correctamente, ¿desea filtrar FD1 o FD2 por diferentes valores 'X' que desea poder cambiar dinámicamente?

En primer lugar, necesitará una tabla de filtros no relacionada, así que agregue una nueva tabla al modelo de datos que contenga todos los valores de X para los que desea filtrar:

ACTUALIZADO en base a las preguntas de @Maxfran:

Para crearlo en Power Query Editor:

En el Editor de consultas Transform Data Power puede duplicar la consulta base (haga clic con el botón derecho en ella en el panel Consultas). Cambie el nombre de esta consulta duplicada a 'Filtro'. A continuación, seleccione la columna FD1 y conviértala en lista (busque el botón en la pestaña Transformar de la cinta de opciones). Elimine los duplicados para que esto solo tenga cada valor una vez. Vuelva a convertir la lista en tabla (ficha Transformación de lista en la cinta de opciones).

Establezca el tipo de datos y asigne un nombre a esta columna y cierre y aplique los cambios.

Llamé a la tabla Filter y a la columna X, así que tendremos 'Filter'[X] para hacer referencia a esta columna en DAX.

A continuación, tendrá que crear una nueva MEDIDA calculada similar a:

ShowNoShow á IF(HASONEVALUE('Filter'[X]), COUNTROWS(FILTER(Table,Table[FD1]-SELECTEDVALUE('Filter'[X]) Tabla[FD2]-SELECTEDVALUE('Filter'[X]))), 1)
Por último, agregue la medida [ShowNoShow] como filtro de nivel visual a los objetos visuales que desee filtrar y agregue una segmentación de datos al informe para [X].

@nandukrishnavs La solución de 's funcionará si 'X' es estática y no necesita la segmentación de datos en el informe.

¿Este post ha resuelto tu problema? Por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.

Si has encontrado este post útil, por favor, dale a Kudos.

Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.

https://sites.google.com/site/allisonkennedycv


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Btw, ya que soy un recién llegado a Power Bi, no estoy seguro de cómo lidiar con " Primero necesitará una tabla defiltros no relacionada, así que agregue una nueva tabla al modelo de datos que contiene todos los valores de X que desea filtrar (puede hacerlo en el Editor de consultas duplicando una columna de FD1 o FD2). Elimine los duplicados para que esto solo tenga cada valor una vez. Llamé a la tabla Filter y a la columna X, así que tendremos 'Filter'[X] para hacer referencia a esta columna en DAX."

Dupliqué la columna "Primera federación declarada" (FD1) en la base y la nomié "Filtre", luego eliminé los duplicados. Luego creé una nueva tabla llamada "Filtre" haciendo esto:

Filtro - VALORES (base[Filtro])
¿Es eso correcto?

@Maxfran Prefiero crear las nuevas tablas en Power Query Editor en lugar de DAX si es posible solo por motivos de rendimiento, pero si lo que hiciste también funciona, está bien.

Para crearlo en Power Query Editor:

En el Editor de consultas Transform Data Power puede duplicar la consulta base (haga clic con el botón derecho en ella en el panel Consultas). A continuación, seleccione la columna FD1 y conviértala en lista (busque el botón en la cinta de opciones). Establezca el tipo de datos para esta lista y cierre y aplique los cambios.

A continuación, la medida en el informe debe estar bien, pero sí tiene razón, no se puede usar en el objeto visual de página, ya que es una medida, por lo que tendrá que agregarla a cada filtro de nivel visual de la página.


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Gracias por su respuesta. Quería usarlo una toda la página para que una medida no funcione como entiendo...

Trataré de pensar en otra cosa 🤔

@Maxfran La medida puede funcionar en toda la página, sólo requiere un poco más de configuración porque tendrá que agregarlo como un filtro a cada objeto visual. Una vez hecho eso, sin embargo, la nueva columna para X se puede agregar como un filtro de nivel de página o como una segmentación de datos, y eso cambiará el valor de todas las medidas que agregó anteriormente como filtros a los objetos visuales y, por lo tanto, actualizará todo en la página. ¡Voila!

¿Tiene sentido?


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Eso tiene sentido. Sin embargo, esperaba algo que necesitara menos manipulaciones (añadir cada filtro individualmente es un poco repetitivo), pero supongo que puedo hacerlo.

La otra solución que encontré es crear una nueva columna concatenando FD1 y FD2. Luego agregué un filtro avanzado en la página y eso requiere que la variable concatenada contenga "X".

@Maxfran Columna concatanada fue mi primer pensamiento, pero sin saber cómo están estructurados sus datos no estaba seguro de lo que eso lograría a través de que no desea. Por ejemplo:

Si X-70 y FD1-707 y FD2-90, la columna concatanada podría parecerse a 707-90, ambos contendrían 70 incluso pensaban que ninguna columna era EQUAL a 70. Ya que usted especificó - Me mantuve alejado de esa opción, pero si eso no es un problema para sus datos o si se puede obtener el formato de X y la columna concatanada a la derecha por lo que no es un problema, entonces usted tiene razón será mucho menos laborioso que mi solución. 🙂


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com


@AllisonKennedy escribió:

@Maxfran Columna concatanada fue mi primer pensamiento, pero sin saber cómo están estructurados sus datos no estaba seguro de lo que eso lograría a través de que no desea. Por ejemplo:

Si X-70 y FD1-707 y FD2-90, la columna concatanada podría parecerse a 707-90, ambos contendrían 70 incluso pensaban que ninguna columna era EQUAL a 70. Ya que usted especificó - Me mantuve alejado de esa opción, pero si eso no es un problema para sus datos o si se puede obtener el formato de X y la columna concatanada a la derecha por lo que no es un problema, entonces usted tiene razón será mucho menos laborioso que mi solución. 🙂


Hola

Gracias por su respuesta. Como usted explica, esta solución es viable para mi tipo de datos.

Concatenté FD1 y FD2 en una nueva variable con la sintaxis: FD1_FD2_ (con guiones bajos). Luego, cuando utilizo esta variable como filtro, selecciono "contiene" y aparece la modalidad "X_" (con un carácter de subrayado).

El uso de guiones bajos me permite evitar el hecho de que X podría estar contenido en otra modalidad (como usted explicó, por ejemplo, 70 está en 707).

@Maxfran Usted conoce sus datos mejor que yo, así que espero que tenga razón, pero su razonamiento no está completamente desarrollado, así que estoy publicando esto para otros y en caso de que sus datos no sean consistentes. El subrayado ayudará a algunos, pero no en el ejemplo que di, ya que 707_707 todavía contendrá 70. Así que básicamente necesita considerar cuidadosamente sus valores para X y asegurarse de que ninguno de los posibles valores X puede contener otro.

Por ejemplo, establecer el valor X en 7, 7 estaría contenido en 7, 70 y 700, pero realmente solo desea que los elementos que son iguales a 7 (por lo tanto, no el 70 y 700).

¿Es X un número o texto? Si es el número, podría evitar este problema estableciendo la X en el texto y forzándolo a ser siempre exactamente el mismo número de dígitos.

7 se convertiría en 007

70 se convertiría en 070

700 se quedaría 700

A continuación, establecer el valor X en 007 nunca estará contenido en 070 o 700.

¿Tiene sentido?

¿Este post ha resuelto tu problema? Por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.

Si has encontrado este post útil, por favor, dale a Kudos.

Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.

https://sites.google.com/site/allisonkennedycv


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Gracias por esta precisión.

El 707 contiene 70, pero no 70_ con un carácter de subrayado implementado durante la concatenación.

Por lo tanto, si filtro para tener sólo "70_", estará bien.

En realidad, mis datos son texto, pero tuve el mismo problema que usted presentó con números.

@Maxfran, por supuesto, siento no haber leído lo suficiente. Solución genial.


Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

@AllisonKennedy gracias por su respuesta

Desafortunadamente, no funciona.

Creé una tabla llamada "Filtre" y la columna también se llama "Filtre". Luego creo una medida:

Federación - IF (HASONEVALUE); COUNTROWS (FILTER (base;base[Primera federación declarada]-SELECTEDVALUE (Filtro]) - base[Segunda federación declarada]-SELECTEDVALUE (Filtro)); 1)
Donde "Federación" - el nombre de la medida, "base" es el marco de datos principal donde se almacena nado mis datos, "Primera federación declarada" es el FD1 anterior, la primera variable en buscar, y "Segunda federación declarada" es el FD2 anterior, la segunda variable para buscar.
La medida se ha creado correctamente, pero es imposible arrastrarla y soltarla en la sección "filtro de esta página".
¿Alguna idea?
nandukrishnavs
Super User
Super User

@Maxfran

Cree una columna calculada o una columna personalizada para identificar si la fila necesita filtrar o no.

Ejemplo

FilterCondition =
IF (
    table[FD1] = X
        || table[FD2] = X,
    "Filter",
    "Not Filter"
)

A continuación, aplique esta columna calculada recién creada en el filtro de nivel de página.



¿Respondí a tu pregunta? ¡Marca mi puesto como solución!
Apreciar con un kudos
🙂


Regards,
Nandu Krishna

Hola @nandukrishnavs , gracias por su rápida respuesta!

El hecho es que necesito ser capaz de cambiar el filtro. Primero puedo hacerlo con X pero luego Y, luego Z...

Si necesito crear una columna cada vez, eso no es realmente eficaz...

Por cierto

Este tema me parece útil https://community.powerbi.com/t5/Desktop/Or-Condition-on-filter/m-p/833445#M400287

Pero no está funcionando en el filtro en la página. @v-lid-msft

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.