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

Get certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now

Reply
michaelsh
Kudo Kingpin
Kudo Kingpin

Uso de Table.Buffer

Me estoy conectando a una carpeta que tiene un montón de archivos JSON.

Utilizo una función personalizada para combinar los archivos.

Luego hago todo tipo de cosas, como extraer dinamitamente los nombres de columna de listas json anidadas, etc.

Siento que Table.Buffer / List.Buffer puede acelerar las cosas.

He leído esto:

https://www.thebiccountant.com/speedperformance-aspects/

Y esto:

https://blog.crossjoin.co.uk/2015/05/05/improving-power-query-calculation-performance-with-list-buff...

Y todavía me pregunto - cuando shoud uso Table.Buffer?

¿Por qué no ponerlo al principio de mi consulta (justo después de ejecutar la función personalizada) - y eso es todo - todo se sentará en la memoria?

1 ACCEPTED SOLUTION

No @michaelsh

Si almacena en búfer una tabla en un paso y, a continuación, transforma esa tabla de alguna manera, esta nueva tabla transformada no es la que se almacena en búfer.

Por lo tanto, en los pasos siguientes no puede seguir haciendo referencia a la tabla almacenada en búfer desde el primer paso.

Para ser honesto, el funcionamiento de las funciones de búfer no es claramente desapreotable por nadie que no sea el equipo de desarrollo de Microsoft. Nunca he leído una explicación definitiva de cómo o cuándo usarlos, por lo tanto, la sugerencia de Pat de 'simplemente probarlos'.

Salud

Phil



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


View solution in original post

7 REPLIES 7
mahoneypat
Microsoft Employee
Microsoft Employee

La mejor manera es simplemente probarlo y ver si hace las cosas significativamente más rápido. Difícil de predecir si tendrá un impacto como a veces lo es hace ese tipo de optimización por sí mismo. La clave es usarlo dentro de la misma consulta donde se hace referencia a él varias veces (lo que hace su propuesta).

saludos
palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


PhilipTreacy
Super User
Super User

Hola @michaelsh

Puede hacerlo, siempre que la tabla a la que hace referencia no se cambie de ninguna manera en los pasos posteriores. Sin embargo, esto no suele ser el caso, por lo que cada vez que se transforma una tabla, lo que da como resultado una nueva tabla, tendría que volver a usar Table.Buffer.

saludos

Phil


Si respondí a su pregunta por favor marque mi post como la solución.
Si mi respuesta ayudó a resolver su problema, déle un kudos haciendo clic en Thumbs Up.



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


Veo @PhilipTreacy .

Pero si los pasos subsiguientes modifican la tabla, ¿sigue siendo mejor almacenar en búfer solo el primero, para que los pasos siguientes no vuelvan al origen de datos original, sino solo a la primera tabla almacenada en búfer?

Hemos detectado un problema desconocido.

¿Quizás puedas proporcionar una muestra?

Gracias

No @michaelsh

Si almacena en búfer una tabla en un paso y, a continuación, transforma esa tabla de alguna manera, esta nueva tabla transformada no es la que se almacena en búfer.

Por lo tanto, en los pasos siguientes no puede seguir haciendo referencia a la tabla almacenada en búfer desde el primer paso.

Para ser honesto, el funcionamiento de las funciones de búfer no es claramente desapreotable por nadie que no sea el equipo de desarrollo de Microsoft. Nunca he leído una explicación definitiva de cómo o cuándo usarlos, por lo tanto, la sugerencia de Pat de 'simplemente probarlos'.

Salud

Phil



Did I answer your question? Then please mark my post as the solution.
If I helped you, click on the Thumbs Up to give Kudos.


Blog :: YouTube Channel :: Connect on Linkedin


Proud to be a Super User!


v-alq-msft
Community Support
Community Support

Hola, @michaelsh

Puede utilizar 'Table.Buffer'/'List.Buffer' cuando la tabla o lista se hará referencia varias veces (como en 'Table.SelectRows', 'List.Generate', 'List.Accumulate').

En el ejemplo siguiente, se hace referencia a la tabla 'a' tiempos múltiples.

=Table.AddColumn(a,"Custom",each Table.RowCount(Table.SelectRows(a,(x)=>x[Subject]=[Subject] and x[Score]=[Score]))+1)

A continuación, puede usar 'Table.Buffer' para almacenar la tabla en memoria para mejorar el rendimiento.

A=Table.Buffer(a),
Table.AddColumn(A,"Custom",each Table.RowCount(Table.SelectRows(A,(x)=>x[Subject]=[Subject] and x[Score]=[Score]))+1)

Espero que le ayude a entender 'Table.Buffer'/'List.Buffer'.

Saludos

Allan

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

@v-alq-msft ¿Podría explicar por qué el almacenamiento en búfer una vez no es suficiente? ¿Por qué uno necesita almacenar repetidamente una tabla si "se hace referencia a ella varias veces" como usted dice?

Sí, @v-alq-msft , esto es útil, gracias!

Lo que no obtengo - es por qué no debería simplemente escribir Table.Buffer como mi segundo paso y, a continuación, todos los demás pasos simplemente harán referencia a esta tabla almacenada en búfer.

¿Funcionará?

¿Por qué no hacerlo? (Considere que tengo suficiente memoria)

Helpful resources

Announcements
November Carousel

Fabric Community Update - November 2024

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

Live Sessions with Fabric DB

Be one of the first to start using Fabric Databases

Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.

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! Early Bird pricing ends December 9th.

Nov PBI Update Carousel

Power BI Monthly Update - November 2024

Check out the November 2024 Power BI update to learn about new features.

Top Solution Authors
Top Kudoed Authors