人生没有彩排
每一天都是现场直播

通过XMLA终结点刷新PowerBI报表

前言

在PowerBI的高级容量工作区中(Premium),可以通过XMLA终结点来连接到工作区中的各个数据集,可以触发数据集刷新,查询或更改数据集的模型数据、元数据、事件和架构等等,可以配合许多第三方客户端应用程序或工具来使用,如:DAX Studio、Tabular Editor、ALM Toolkit、SSMS、SSAS、Power Shell、Excel等。

PowerBI的高级容量工作区相当于一个SSAS实例,工作区中的数据集就是SSAS实例中的数据库,而XMLA终结点就相当于这个SSAS实例的服务器地址。

围绕XMLA终结点的应用有很多,本篇文章主要介绍在SSIS与SQL Server代理任务中通过XMLA终结点自动刷新数据集的方法。通过XMLA终结点来进行刷新,可以实现各种精细化刷新,如只刷新数据集中的部分表或部分分区等等,而且没有刷新次数与刷新超时的限制,这与REST API的增强型刷新类似。

以下是官方文档的原文:

更多细节内容,可以自行浏览官方文档:在 Power BI 中使用 XMLA 终结点连接和管理语义模型

前期准备

首先,需要安装以下软件或工具:

  • Visual Studio
  • SQL Server 2022
  • SQL Server Analysis Server (SSAS)
  • SQL Server Integration Services (SSIS)
  • SQL Server Management Studio (SSMS)

其中,SQL Server必须要安装2022及以上版本,否则在SQL Server代理作业中执行SSIS包时将报错。

另外,需要在PowerBI Server的租户设置中启用以下功能,如下图所示:

最后,再把容量设置中的XMLA终结点设置为读写,如下图所示:

另外需要注意的是,通过XMLA终结点执行的操作遵守在工作区或应用级别设置的安全组成员身份,因此想要刷新数据集,还需要具有工作区参与者或以上角色的权限。

获取XMLA终结点

此内容查看价格为10积分立即购买
登录后,购买的内容长期有效,不受时间限制。

创建SSIS包

此内容查看价格为10积分立即购买
登录后,购买的内容长期有效,不受时间限制。

将SSIS包部署到SQL Server

此内容查看价格为10积分立即购买
登录后,购买的内容长期有效,不受时间限制。

设置SQL Server代理任务

最后再通过SQL Server代理任务来自动执行SSIS包,以实现数据集的自动刷新,具体步骤如下:

1、打开SSMS,连接到SQL Server数据库

2、新建SQL Server代理任务

3、在常规页面里,设置代理任务的名称

4、在步骤页面里,新建一个执行SSIS包的步骤,如下图所示:

5、在计划页面里,新建一个作业计划,即设置按什么频率来自动执行该SQL Server代理任务

6、至此,完成代理任务的创建,其它页面的选项可根据需要自行设置

7、最后,可以查询本地SQL Server代理任务的执行历史记录,以及云端数据集的刷新记录,两者的对比如下图所示

总结

本篇文章所介绍的XMLA终结点刷新方案,主要借助了SSIS对SSAS的处理能力,再配合SQL Server代理任务来实现自动定时刷新,本质上还是之前SQL Server三件套的玩法。

通过XMLA终结点,可以把云端数据集当作SSAS数据库来处理,实现了云上与云下两套体系的衔接,为探索更多有趣的应用场景提供了广阔的可能性。

赞(0) 打赏
版权声明:本文为夕枫的原创文章,著作权归作者所有,未经允许不得转载
文章名称:《通过XMLA终结点刷新PowerBI报表》
文章链接:https://www.ximaple.com/posts/726.html
订阅评论
提醒
guest
0 评论
最新
最久 最赞
内联反馈
查看所有评论

觉得文章有用的话就支持一下吧~

感谢您的打赏支持,我将持续输出有价值的内容!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

Operation don't support