通过一个案例,学习Power Query性能提升技巧
发布网友
发布时间:2024-09-26 03:52
我来回答
共1个回答
热心网友
时间:2024-12-07 17:48
PowerQuery是数据处理的好帮手,但在处理大量数据时,其速度可能会受到影响。本文以一个案例出发,探讨如何提高PowerQuery的处理速度。
以一个表格为例,我们需要计算出某行的类型是第几次出现的。以下三种实现方式在性能上存在显著差异。
第一种方法是常规方式添加自定义列,通过List.Count和Table.SelectRows函数计算。然而,当数据量较大时,如3000行数据,这种方法需要约25秒才能完成计算,速度较慢。
第二种方法是在第一种方法的基础上,使用Table.Buffer函数优化。在添加自定义列之前,先对上一步骤的M代码使用Table.Buffer,这样可以在缓存后的表基础上进行计算。这种方法在Excel中点击全部刷新后,运行速度明显提升,大约是第一种方法的4倍。
第三种方法是利用分组来实现。通过按类别添加索引,我们可以计算出每个类别在当前行累计出现的次数。这种方法在全部刷新后可以迅速完成计算,速度非常快。
综上所述,第三种方法在特定需求下更为优化,第二种方法适用范围更广,而第一种方法在数据量较小的情况下仍然可行。