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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch 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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors