[已解决] 每周只会往里增加文件的文件夹,怎么更新好?

  [复制链接]
查看114700 | 回复123 | 2020-9-16 06:21:00 | 显示全部楼层 |阅读模式
现在有个查询需要使用PQ读取某个文件夹,然后汇总里面的xlsx文件。这个文件夹会每周增加一个新的文件,其他旧文件正常情况下是不会变动的。
如果直接用PQ提供的“查询-从文件夹”功能,是没问题。不过文件越来越多,而且每次都从头个文件开始查询,会导致查询速度越来越慢。
现在只有个想法,类似分段处理:预先将确定不会变动的文件先用PQ汇总合并到一个文件A,然后每周查询没被预先汇总的文件后,再追加文件A内容。

原来方法:1、直接查询文件夹,包含文件:1,2,3,4...100,101,102
优化方案:1、预先汇总文件1,2,3,4...100,这100个文件的内容到新文件A;
      2、每周只查询101及之后的文件,得到文件B;
      3、文件B中追加文件A

不过感觉这样有点折腾,大家有没好点的方法/思路?
回复

使用道具 举报

harder | 2020-9-16 06:26:00 | 显示全部楼层
你最后一步追加A的时候,PQ还是要把A跑一遍,你可以试一试是否是这种情况。合并几百个文件PQ肯定会慢,如果不能接受这个速度,试试先用其他方法合并到一起再给PQ处理。
回复

使用道具 举报

七夜魔君 | 2020-9-16 06:32:00 | 显示全部楼层
正常肯定会有一个汇总的文件,如果只有一个文件夹或者文件夹数量不多,是否可以每周手动新建一个查询,然后通过追加查询的方式添加的汇总中,这样的话,每周只需要额外增加一次查询即可
回复

使用道具 举报

剑心 | 2020-9-16 06:36:00 | 显示全部楼层
你最后一步追加A的时候,PQ还是要把A跑一遍,你可以试一试是否是这种情况。合并几百个文件PQ肯定会慢,如果 ...


哦哦,我没说清楚。文件A中的不是一个查询,而是查询后加载到表文件。这样相当于每次查询获取最新数据,只要查询1-100号文件的汇总数据A,和101到最新的N个零散文件。将1-100号文件的查询时间节约了。
回复

使用道具 举报

smff125 | 2020-9-16 06:43:01 | 显示全部楼层
正常肯定会有一个汇总的文件,如果只有一个文件夹或者文件夹数量不多,是否可以每周手动新建一个查询,然后 ...


如果不加载到表,只是查询。追加和被追加的查询,都会重头加载吧?这样还是不够迅速。
回复

使用道具 举报

sam_slk | 2020-9-16 06:50:01 | 显示全部楼层
如果不加载到表,只是查询。追加和被追加的查询,都会重头加载吧?这样还是不够迅速。


这个没有详细研究过,希望你解决后能在原贴里分享一下
回复

使用道具 举报

cowboy | 2020-9-16 06:51:01 | 显示全部楼层
这个没有详细研究过,希望你解决后能在原贴里分享一下


其实现在的办法就是分段/分表处理,例如:每完整年/月的数据出来后, 就预先汇总。后面实时更新,就只有加载之前汇总好的每年/每月整份数据,再追加当前月的零散数据。
回复

使用道具 举报

dgcwd | 2020-9-16 06:56:01 | 显示全部楼层
增量刷新的思路,空间和时间只能二选一,方法一,空间换时间,汇总表丢到PBI中,然后把需要刷新的表也加载到PQ中,然后用dax函数中union两表联合,速度会很快,但是文件会变大。方法二、时间换空间,先把汇总表加载到PQ中,然后设定不刷新,然后加载要刷新的表到PQ,合并查询之前加载的汇总表,正如高飞老师说的,这时候汇总表会刷新加载,速度较慢,但是整个文件的大小相较上一个方法会小一些。还有种方法就是收费版Prem的增量刷新功能,最优解,但是一般人用不了。。。。
回复

使用道具 举报

秦川 | 2020-9-16 07:05:01 | 显示全部楼层
其实现在的办法就是分段/分表处理,例如:每完整年/月的数据出来后, 就预先汇总。后面实时更新,就只有 ...


这个思路相当于通过汇总减小了加载的内容的,但感觉麻烦了很多。其实,如果加载时间不是特别长的话,没有必要吧。
回复

使用道具 举报

yipianlvdi | 2020-9-16 07:06:02 | 显示全部楼层
这个思路相当于通过汇总减小了加载的内容的,但感觉麻烦了很多。其实,如果加载时间不是特别长的话,没有 ...


是的,具体还是由数据量来决定。不过解法大概就是这些了。一种麻烦点,不过机动灵活。一种便捷,不过更新时间相对较长。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则