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

Dax calculó la optimización de columnas

Hola a todos

He creado una columna calculada con el siguiente código dax
Val anterior ?
var _date - MyTable[Fecha]
var _label - MyTable[etiqueta]
var _IssueDateTime á MyTable[IssueDateTime]
devolución
MAXX(
FILTER(MyTable,
MyTable[etiqueta] á _label && MyTable[Fecha] - _date && MyTable[IssueDateTime] < _IssueDateTime),MyTable[ShipDateTime])
)

Mi pregunta: ¿Importa la secuencia de columnas con la velocidad de la consulta?

Por ejemplo, la consulta anterior vuelve en 40 segundos, pero si se pone en primer lugar MyTable[Date] _date y, a continuación, MyTable[label] _label vuelve en 1 minuto y 10 segundos.

Además, si omito MyTable[Date] - _date nunca vuelve!! Error : No hay suficiente memoria

¿Hay alguna recomendación para la secuencia de columnas (por ejemplo, filtre primero las columnas que reducirán el conjunto de datos final más ...)

5 REPLIES 5
v-yingjl
Community Support
Community Support

Hola @yios ,

El uso de la función EARLIER() como amitchandak mencionado es acutalmente una manera de optimizar la columna calculada en este caso. Básicamente le sugerimos que cree una medida en lugar de una columna calculada para ahorrar memoria porque si la cantidad de cálculo es grande, ocupará más memoria, lo que resulta en memoria insuficiente y producir un error como el mencionado.

Puede consultar este blog sobre la medida y la columna calculada:

Calculated-columns-and-measures-in-dax

Best Looks,
Yingjie Li

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

He intentado su propuesta de usar la medida en lugar de las columnas calculadas, pero se necesita mucho tiempo el objeto visual para ser mostrado debido a cálculos complejos que se deben ejecutar sobre la marcha de una reacción del usuario.

¿Hay alguna documentación que diga que la función anterior es más rápida que el uso de variables ??

Te lo pregunto porque se ejecuta exactamente al mismo tiempo, sin mejor rendimiento.

Is there any documentation that says that earlier function is faster than using variables ??

I am asking because it runs in exactly the same time, no better performance.

amitchandak
Super User
Super User

@yios , Trate así si funciona mejor

MAXX(
FILTER(MyTable,
MyTable[label] á earlier(MyTable[label]) && MyTable[Date] á earlier(MyTable[Date]) && MyTable[IssueDateTime] < earlier(MyTable[IssueDateTime])),MyTable[ShipDateTime])

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.