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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Michieldo
Helper III
Helper III

Excluir filtros aplicados con ALL()

Hola

Tengo un cierto filtro de página activado, digamos TableX[Column2 á "" ].

Ahora hago la medida: CALCULATE(COUNT(TableX[Column1]), ALL(TableX[Column2)). Esperaba que esta medida ignorara el filtro de página, sin embargo, cuando elimino la página filtra los resultados de la medida es diferente de cada vez que mantenlo el filtro activado.

¿Alguna explicación de por qué sucede esto?

Gracias de antemano!

1 ACCEPTED SOLUTION

Hola @Michieldo

¿Solo hay Column2 en los filtros de esta página? Creo que otras columnas de esta tabla u otra tabla relacionada pueden afectar al resultado.

Construyo una tabla de muestra para hacerme una prueba.

Tabla1:

1.png

Measure1 = CALCULATE(COUNT('Table1'[User]), ALL('Table1'[Quantity]))

El resultado sin filtro:

4.png

Agregue Cantidad en Filtros , muestre los elementos cuando el valor de Cantidad sea menor o igual que 100.

3.png

A menos que agregue la columna Cantidad, agregue la columna Usuario para filtrar también.

5.png

Cambiar la medida:

Measure2 = CALCULATE(COUNT('Table1'[User]), ALL('Table1'[Quantity],Table1[User]))

8.png

All() funtion eliminará los filtros de la columna especificada, por lo que necesitamos agregar todas las columnas de los filtros a las funciones All(). Y el All(Table) es la una manera de eliminar todos los filtros en esta tabla y re eturn a una tabla completa. O el resultado se verá afectado por el filtro. Y si agrega columnas de otra tabla relacionada en el filtro, también afectarán al resultado de la medida.

Más información sobre ALL(): ALL

FUNción ALL en Power BI: cómo usarlo con DAX

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

15 REPLIES 15
amitchandak
Super User
Super User

@Michieldo . Intente eliminar los filtros

CALCULATE(COUNT(TableX[Column1]), removefilters(TableX[Column2))

recomienda

https://www.linkedin.com/pulse/five-recent-power-bi-functions-you-should-use-more-often-amit-chandak...

@amitchandak y @BA_Pete ,

De alguna manera, ninguna de las soluciones ofrecidas da como resultado el mismo número que quitar el filtro de columna de la página.

  • REMOVEFILTERS() da como resultado el mismo número que ALL() (como debería hacerlo?)
  • ALLEXCEPT() da como resultado un número mayor

REMOVEFILTERS()/ALL() < resultado deseado < ALLEXCEPT()

Parece que usted tiene filtro de clientes en la página, así como en la cortadora, así.

Es posible que desee quitar filtro de página y excluir valores de la segmentación mediante el filtro Medir en filtro visual por algo como este.

IF(MAX(DateLast[Customer])="",0,1)

a continuación, crear medida utilizando Allexcept como sugiere @BA_Pete







Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!

Proud to be a Super User!




Anonymous
Not applicable

Por lo que sé, no se puede quitar un filtro que es de nivel de página. El punto completo de un filtro de nivel de página es filtrar todos los datos de la página de forma que no se puedan ver otros datos. Si tiene una necesidad diferente, no utilice un filtro de nivel de página. En su lugar, cree las medidas en consecuencia.

@daxer Aunque estoy de acuerdo con su argumento, esto no es lo que sucede. Si incluyo una de las sugerencias (ALL, REMOVEFILTERS, etc.) ignora (la mayoría) del filtro de página aplicado.

Por supuesto, puedo eliminar el filtro de página, pero eso significaría que tengo que aplicar el filtro en todos los objetos visuales de esa página con el riesgo de olvidar que hacer un nuevo objeto visual.

Anonymous
Not applicable

Si lo piensa cuidadosamente, tiene sentido que no pueda eliminar un filtro de nivel de página a través de DAX. Si pudiera, entonces los resultados serían muy confusos. Sólo intenta imaginar que filtras TODO en la página por algún T[Column] en "A", "B" y de repente tu medida en una de tus tablas en lugar de mostrar el 100% para un total, shows.... 250%. ¿Quieres ver esto? No creo.

@daxer Así es si asume que los espectadores de la página conocen todos los filtros que se aplican en Desktop y que desea combinar las medidas en un objeto visual. Lo comparo más como la opción "seleccionar todo" en los filtros. Si tiene muchas opciones diferentes en una columna, pero solo desea anular la selección de una, yo personalmente no elegiré seleccionar todas las opciones una por una, pero prefiero comprobar la opción 'seleccionar todo' y luego anular la selección. Este es mi caso aquí, tengo muchas medidas / visuales para los que el filtro es necesario, pero uno para el que no lo es.

Pero esta pregunta surgió debido a las dudas sobre la funcionalidad de la opción ALL(). Creo que nuestro debate no está contribuyendo a este asunto 🙂.

Anonymous
Not applicable

Si pone un filtro en una página, entonces todos, me refiero a ALL, los datos se filtran por este filtro. Si este filtro afecta a las segmentaciones de datos, no verá todas las opciones de la segmentación de datos, sino solo las permitidas por el filtro de nivel de página. Y debido a eso, su DAX no verá nada más de lo que se han filtrado sus tablas. Ni siquiera ALL() ayudará y por una buena razón. Si tiene una necesidad extraña de sobrescribir un filtro de nivel de página en DAX... entonces estás un poco de suerte y necesitas inventar una solución diferente. Los espectadores conocerán los filtros porque pueden pasar el cursor sobre un objeto visual y les mostrará todos los filtros aplicados. La opción (Seleccionar todo) no es incondicional. Es relativo a otros filtros, entre ellos al filtro de nivel de página.

Hola @daxer y @RicoZhou,

Una vez más gracias por la explicación. Entiendo ahora que no debo hacer mal uso del filtro de nivel de página. Simplemente eliminé el filtro de nivel de página y lo apliqué a todos los objetos visuales del informe.

Sin embargo, todavía no entiendo por qué si la función ALL() no se supone que funcione en los filtros de página, alrededor del 80% del filtro de nivel de página se ignora debido a la aplicación de la función ALL(). Esto lo hizo muy engañoso para mí (y posiblemente otros) ya que pensé que funcionaba en primer lugar..

Hola @Michieldo

¿Solo hay Column2 en los filtros de esta página? Creo que otras columnas de esta tabla u otra tabla relacionada pueden afectar al resultado.

Construyo una tabla de muestra para hacerme una prueba.

Tabla1:

1.png

Measure1 = CALCULATE(COUNT('Table1'[User]), ALL('Table1'[Quantity]))

El resultado sin filtro:

4.png

Agregue Cantidad en Filtros , muestre los elementos cuando el valor de Cantidad sea menor o igual que 100.

3.png

A menos que agregue la columna Cantidad, agregue la columna Usuario para filtrar también.

5.png

Cambiar la medida:

Measure2 = CALCULATE(COUNT('Table1'[User]), ALL('Table1'[Quantity],Table1[User]))

8.png

All() funtion eliminará los filtros de la columna especificada, por lo que necesitamos agregar todas las columnas de los filtros a las funciones All(). Y el All(Table) es la una manera de eliminar todos los filtros en esta tabla y re eturn a una tabla completa. O el resultado se verá afectado por el filtro. Y si agrega columnas de otra tabla relacionada en el filtro, también afectarán al resultado de la medida.

Más información sobre ALL(): ALL

FUNción ALL en Power BI: cómo usarlo con DAX

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Hola @RicoZhou ,

Gracias por su amplia respuesta. Desafortunadamente, la eliminación del filtro de página específico afectará en cualquiera de sus casos al número de mi informe.

Dado que esto es probablemente debido a mi modelo de datos complejo y su respuesta funcionará para la mayoría de los casos, aceptaré su respuesta como la solución.

Hola @Michieldo

¿Podría decirme si su problema ha sido resuelto? Si es así, acepte amablemente la respuesta útil como la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su problema o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

BA_Pete
Super User
Super User

Hola @Michieldo ,

Pruebe esta medida y vea si hace lo que necesita:

yourMeasure = 
CALCULATE(
    COUNT(TableX[Column1]),
    ALL(TableX)
)



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Hola @BA_Pete ,

Gracias por su sugerencia, pero también tengo varios otros filtros en esa tabla que me gustaría mantener.

Michiel

@Michieldo ,

No hay problema, intente ALLEXCEPT para mantener los filtros que desea:

yourMeasure = 
CALCULATE(
    COUNT(TableX[Column1]),
    ALLEXCEPT(
        TableX,
        TableX[Column1],
        TableX[Column3],
        TableX[Column5]
    )
)



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Fabric Monthly Update - May 2024

Check out the May 2024 Fabric update to learn about new features.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.