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

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Consulta Dax muy lenta, basada en el segmentador "entre", ¿cómo optimizar?

Hola

Mi medida es muy baja, una sola línea tarda 2 segundos en completarse. ¿Cómo se puede optimizar esto? Me doy cuenta de que puede ser una combinación del modelo de relación, la consulta dax, etc.

Pensé en intentar con 1) buscar ayuda para optimizar la consulta dax en sí si es posible y 2) ajustar el modelo de relación para que se agregue una relación muchos-muchos con una tabla puente. Pero no estoy seguro de la ganancia de rendimiento que esto puede dar.

Por lo tanto, para la consulta de Dax en sí, está filtrando una tabla grande en función de las selecciones mínimas y máximas del usuario, para devolver las filas / valores entre este valor mínimo y máximo.

¿Cómo hubieras escrito la medida? ¿Está bien o se puede optimizar?

Filtered_Measure =


VAR MinV = MIN('Tabla[Columna])
VAR MáxV = MAX('Tabla[Columna])
DEVOLUCIÓN
CALCULAR(
[Medir],
'Mesa'[columna] >= MinV &&
'Mesa'[columna] <= MáxV
)
Tal vez haya formas más rápidas de "elegir" el valor seleccionado de una segmentación para el valor mínimo y máximo, me temo que la fórmula actual está revisando la tabla completa filtrada real en busca de los valores mínimo y máximo, en lugar de simplemente elegir los que el usuario ya ha especificado, pero no 100% seguro.
Toda ayuda es bienvenida,
Daniel
2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Intenté crear un parámetro que es una tabla con muchas menos filas que la original. Y usarlo como un cortador intermedio, que luego, en cierta medida, afecta los resultados.

Probablemente eso fue parte de la solución. También reemplacé una relación de muchos a muchos con una mesa de bridge, lo que puede haber acelerado más las cosas.

Una forma directa de elegir dos valores separados en una segmentación intermedia que aún no he encontrado.

View solution in original post

Syndicate_Admin
Administrator
Administrator

La creación de un parámetro con una tabla pequeña (pocas filas) en comparación con la tabla real de la base de datos aceleró las cosas. También se ha creado una tabla puente, que sustituye a una relación de varios a varios.

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Revisé diferentes funciones de Dax como values(), gracias. No encontré uno que se adaptara a mis necesidades exactas para elegir de manera eficiente los dos valores seleccionados separados en una segmentación intermedia. Es posible que todavía sea uno, pero no he podido identificar uno en ese caso.

Syndicate_Admin
Administrator
Administrator

La creación de un parámetro con una tabla pequeña (pocas filas) en comparación con la tabla real de la base de datos aceleró las cosas. También se ha creado una tabla puente, que sustituye a una relación de varios a varios.

Syndicate_Admin
Administrator
Administrator

Intenté crear un parámetro que es una tabla con muchas menos filas que la original. Y usarlo como un cortador intermedio, que luego, en cierta medida, afecta los resultados.

Probablemente eso fue parte de la solución. También reemplacé una relación de muchos a muchos con una mesa de bridge, lo que puede haber acelerado más las cosas.

Una forma directa de elegir dos valores separados en una segmentación intermedia que aún no he encontrado.

Syndicate_Admin
Administrator
Administrator

Tal como se publicó, su filtro CALCULATE no hace nada. Nota al margen: en lugar de &&, use comas.

Querrá evaluar el código [Medir] real.

Hola

No estoy seguro de haberlo entendido completamente.

La medida parece funcionar bien. He pensado que cuando no se usa la declaración FILTER, se infiere del contexto.

¿Es viable usar el signo "," en lugar de && en este caso? Necesito que se cumplan ambas condiciones para que la medida tenga resultados.

Una pregunta de seguimiento es cuál es la forma más efectiva / dax más rápida de obtener el valor especificado en las segmentaciones por los usuarios, como en una segmentación intermedia, el valor mínimo y el valor máximo, esos dos.

Más información sobre FILTERS and VALUES y MAXX amd MINX.

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors