前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Power BI X SSAS】—— Power BI模型导入到SSAS

【Power BI X SSAS】—— Power BI模型导入到SSAS

作者头像
btharp
发布2021-09-22 10:08:49
5K6
发布2021-09-22 10:08:49
举报
文章被收录于专栏:PowerBI x Python

本文是【Power BI X SSAS】系列的第五篇。

第一篇比较了Power BI数据导入的三种方式,指出了Power BI结合SSAS的意义。

第二篇阐述了Power BI和SSAS结合的基本原理。

第三篇介绍了SSAS表格模型建模的基本流程。

第四篇介绍了SSAS表格模型数据刷新的方法。

而这一篇,我们将解决大家都比较关心的一个问题:

当我已经在Power BI上搭建了数据模型,度量值也写了几十上百个了,这一切如果要重新在SSAS上做一遍多麻烦?能否将Power BI的数据模型和度量值一并导入到SSAS?

答案是:能

一、 配套工具

正如第三篇里提到,微软这方面相关软件对版本兼容性要求太严格,不同版本之间兼容性并不好,所以首先要保证SSAS、SQL Server和Power BI的版本统一。本文用到的版本如下:

- SQL Server 2019 开发版(功能齐全)

- SSMS 2018 (版本影响相对较小)

- Visual Studio 2019 社区版,下载安装配套的SSAS扩展包

- Power BI RS版,2021年1月版

- Power BI Report Server,2021年1月版

二、 基本步骤

1. 在SSMS上连接Power BI数据模型

2. 模型脚本化

3. 调整模型脚本

4. 在SSAS中运行脚本

5. 在SSDT中调整该模型

6. 部署模型

三、 在SSMS上连接Power BI数据模型

首先我们打开Power BI文件,然后用Dax Studio连接该文件以获得临时的服务器名称(即下图中红框内文本)。然后打开SSMS,连接窗口中,服务器类型选择Analysis Engine,服务器名称填入刚刚获得的名称,登陆即可。

四、 Power BI 模型脚本化

连接模型后,右键该模型数据库,如下图所示依次选择【脚本】、【编写数据库脚本为】、【create 到】、【新查询编辑器窗口】。即可将该数据库模型转化为一大段XMLA脚本。我们无需知道脚本的语法规则,只需知道,Power BI的模型、表关系、计算列、度量值等信心统统浓缩到这个脚本里了。

五、 脚本调整

接下来的目的是在SSAS中通过这段脚本还原Power BI模型。但在运行这段脚本之前,我们要进行微调。

  • 把数字+字母的长串名称改为自己方便理解和使用的名称,如project_A
  • 把兼容性级别(“compatibilityLevel")的1535 改为1500。这是专门针对上文的软件版本。如果使用2016版,要改为1200。
  • 把下图最下面红框三行直接删掉。

六、 在SSAS中运行脚本

我们继续用SSMS连接本地SSAS数据库,并右键任意一个SSAS数据库,选择【新建查询】——【XMLA(X)】。然后把刚刚修改完的脚本直接复制到这个空的XMLA文件里,按运行。

运行成功后,在下方将出现如下提示,并在SSAS中会新增一个按上一个步骤自定义命名的数据库。

七、 在SSDT(Visual Studio)中调整模型并部署

此时,我们已经成功将Power BI数据模型复制导入到了SSAS中,该模型以名称为project_A的SSAS数据库存在。它包含了所有的表结构、关系、计算列、度量值等。唯一空缺的是数据。为了更方便调整和编辑,我们可以以导入的方式新建一个SSAS数据库项目project_B,在该项目上新增数据源,并执行和部署。

首先打开Visual Studio, 创建SSAS表格项目。不同于常规方式,我们选择从服务器导入的方式。

然后选择project_A数据库,并将该项目命名为project_B。这些步骤跟第三篇里提到的相同。通过此方式新建的项目模型,已经具备了所有的表结构和关系等。接下来我们只需在数据源上添加我们的数据源连接设置即可。

最后,点【处理】全部表,并【生成】和【部署】项目,整个模型就实实在在地在SSAS中搭建好了。

------------

最后,感谢在本人摸索过程中提供经验帮助的网友【透明人】,以及推荐一篇国外MVP的博客:Import Power BI Desktop Model to SSAS Tabular 2016 。该文章主要使用SSAS2015和2016版,并提到了一些值得注意的细节。详见【阅读原文】的文末。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI x Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档