回忆是一座桥
却是通往寂寞的牢

PowerBI云端数据集的OneDrive刷新机制

前言

在PowerBI Server中刷新数据集的方式有许多,比如手动按需刷新、计划刷新、调用REST API进行刷新等等,但除了这些常见的刷新方式之外,其实还隐藏着一种OneDrive刷新。当报表不是从PowerBI Desktop发布,而是从OneDrive或SharePoint中上传到PowerBI Server时,将出现OneDrive刷新的选项,如下图所示。

通过OneDrive刷新,可以将OneDrive或SharePoint中的报表文件直接同步到PowerBI Server中,包括新增的报表页面、视觉对象、模型关系或度量值等等,所有的一切都会进行同步。这与其它的刷新方式不同,其它刷新方式都只是刷新数据,并不会更改报表或模型的元数据。

OneDrive刷新的频率

OneDrive刷新选项下方给出的描述是:“默认情况下,OneDrive 每小时更新一次文件”。从该描述来看,似乎每隔一小时就会自动从OneDrive或SharePoint中同步最新的更改到PowerBI Server,即每小时轮询一次。但经过实际测试,其真正行为是当OneDrive或SharePoint中的报表文件被改动后,会在一小时内同步最新的更改到PowerBI Server中,是触发式的,若OneDrive或SharePoint中的报表文件没有改动,那么将不会进行OneDrive刷新,即不会进行同步。

如下图所示,在打开OneDrive刷新的情况下,历史刷新记录中只记录了三次OneDrive刷新,而不是每小时一次。这也佐证了OneDrive刷新是触发式的刷新,而不是每小时定时刷新。

OneDrive刷新的数据变化

按照正常的理解,刷新数据集应该是从数据源中获取最新的数据。但OneDrive刷新并不是这样,在导入模式下,OneDrive刷新是从存储在OneDrive或SharePoint上的报表文件中获取数据的,即获取的是文件中缓存的数据;而在直连模式下,则是从数据源中获取数据。

此时,若手工刷新一次数据集,使数据集中的数据为数据源中的最新,然后更改OneDrive或SharePoint中的报表文件,比如新增一个度量值,那么将会触发OneDrive刷新。然后重点来了,在进行OneDrive刷新后,数据集中的数据将不再是数据源中的最新数据,而是变为OneDrive或SharePoint中的报表文件里缓存的数据。因此,OneDrive刷新后最好再手工刷新一次,否则数据非最新。

在打开OneDrive刷新的情况下,仍可以使用手工刷新与计划刷新,手工刷新与计划刷新都是从数据源中获取最新数据。

总结

简单来说,OneDrive刷新并不是真正的刷新功能,应该称为OneDrive同步才更合适。在打开了OneDrive刷新选项后,每次对OneDrive或SharePoint中的报表文件进行更改,都会将最新更改同步到PowerBI Server中,包括数据。而关闭OneDrive刷新选项后,修改报表文件时将不会进行同步。

因此在打开OneDrive刷新下的最佳实践就是,每次更改了OneDrive或SharePoint中的报表文件后,等同步完成后需要去手工刷新一次数据集,或者每次都在报表文件中刷新好最新数据再上传到OneDrive或SharePoint。

未经允许不得转载:夕枫 » PowerBI云端数据集的OneDrive刷新机制
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论