Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.
Check it out now!Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
在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.