Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
在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 终结点连接和管理语义模型
首先,需要安装以下软件或工具:
其中,SQL Server必须要安装2022及以上版本,否则在SQL Server代理作业中执行SSIS包时将报错。
另外,需要在PowerBI Server的租户设置中启用以下功能,如下图所示:
最后,再把容量设置中的XMLA终结点设置为读写,如下图所示:
另外需要注意的是,通过XMLA终结点执行的操作遵守在工作区或应用级别设置的安全组成员身份,因此想要刷新数据集,还需要具有工作区参与者或以上角色的权限。
只有Premium、Premium Per User等高级容量工作区中才有XMLA终结点,其获取位置如下图所示:
1、打开Visual Studio,创建一个SSIS项目
2、在解决方案资源管理器中,右键设置项目属性,将部署目标版本设置为SQL Server 2022
3、添加一个Analysis Services处理任务
4、双击该处理任务按钮,进入如下编辑界面,创建连接管理器,以连接到PowerBI云端数据集
5、添加需要处理的对象,即需要刷新的内容,并设置处理选项
不同的处理选项有不同的效果,具体可以参考该官方文档:Refresh命令(TMSL)
6、鼠标右键选择执行任务,或点击上面选项卡下的启动按钮,检查任务是否可以执行成功
7、任务执行成功后,即可将部署到SQL Server,至此,SSIS包创建完成
1、在解决方案资源管理器中,右键选择对应的包,然后选择部署包
2、选择部署目标,这里部署到本地SQL Server的SSIS目录中
3、连接到本地SQL Server,并浏览与选择要部署到的SSIS目录的路径
4、点击部署
5、部署完成,可以关闭相关应用
最后再通过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数据库来处理,实现了云上与云下两套体系的衔接,为探索更多有趣的应用场景提供了广阔的可能性。
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Subject | Kudos |
---|---|
3 | |
3 | |
2 | |
2 | |
2 |