精品丨PowerBI迁移到SSAS_服务器

业务场景:
企业初期在进行 BI 可视化路线的时候,往往不会选择方案较为完整的SSAS,而是会选择轻量的 PowerBI 方案,究其根本还是软件成本的问题。
但是随着模型越来越臃肿,维护成本越来越高,有很多模型需要进行增量更新,这种情况下,服务器吃不消,需要 SSAS 进行负载分摊,那么如何将 PoweBI 已经搭建好的模型转移到SSAS中呢?

配套工具

  • SQL Server
  • SSMS
  • Visual Studio
  • PowerBI
  • DAX Sudio 或 Tabular Editor

注意,如果想将 PowerBI 的模型完整迁移到 SSAS 中,我们需要获取到Model的TMSL脚本。

获取 TMSL 脚本

方法 1:利用 DAX Studio 获取

打开需要迁移到 SSAS 模型的 PowerBI 文件,在外部工具找到 DAX Studio 并打开。

精品丨PowerBI迁移到SSAS_DAX_02

在 DAX Studio 界面,记录下右下角的临时地址。

精品丨PowerBI迁移到SSAS_SSAS_03

打开SSMS,选择连接到 Analysis Services,输入上面记录的临时地址,使用Windows验证的方式连接。

精品丨PowerBI迁移到SSAS_SQL_04

依次选择 Script-Script Database as-Create or Replace to-New Query Editor Window。

精品丨PowerBI迁移到SSAS_SQL_05

此时,获取到的脚本即为 PowerBI 模型的TMSL脚本。

方法 2:利用 Tabular Editor 获取

打开需要迁移到 SSAS 模型的 PowerBI 文件,在外部工具找到 Tabular Editor 并打开。

精品丨PowerBI迁移到SSAS_服务器_06

在 Tabular Editor 工具栏中点击Model,选择Deploy

精品丨PowerBI迁移到SSAS_SSAS_07

输入 Server 地址。

精品丨PowerBI迁移到SSAS_DAX_08

点击下一步,在 Database Name 输入想要创建的SSAS模型名称。

精品丨PowerBI迁移到SSAS_SQL_09

点击下一步,根据自身情况,勾选相关选项,通常情况下保持默认选项即可。

精品丨PowerBI迁移到SSAS_SQL_10

点击下一步,选择TMSL Script

精品丨PowerBI迁移到SSAS_SQL_11

此时,获取到的脚本即为 PowerBI 模型的TMSL脚本。

精品丨PowerBI迁移到SSAS_SSAS_12

部署模型

打开SSMS,选择Analysis Services,连接到服务器。

精品丨PowerBI迁移到SSAS_powerbi_13

在服务器位置点击鼠标右键,依次点击New Query-XMLA创建空白查询。

精品丨PowerBI迁移到SSAS_DAX_14

将利用DAX Studio或Tabular Editor暂存的TMSL脚本Copy过来。

精品丨PowerBI迁移到SSAS_powerbi_15

修改database,这个是SSAS数据库名称。

精品丨PowerBI迁移到SSAS_服务器_16

删除“tables”前面的代码。

注意,PowerBI版本不同,需要删掉的行数也不同,有的是2行,有的是3行,视情况而定。

精品丨PowerBI迁移到SSAS_服务器_17

修改“compatibilityLevel”,这个是版本兼容性

注意,如果部署到SQL Server2019,那么这里修改成1500
如果部署到SQL Server2022,那么这里保持不动,或修改成1600都可以。

精品丨PowerBI迁移到SSAS_powerbi_18

删除“lineagetag”标签。

  • 在脚本界面,按下“Ctrl”+"F"按键,对脚本执行替换;
  • 启用正则将整个包含lineagetag的行进行删除。

注意,删除标签针对的是SQL Server2019,如果是SQL Server2022则无需进行删除。

精品丨PowerBI迁移到SSAS_服务器_19

两个正则表达式如下:

"lineageTag": ".*?"\r\n
"lineageTag": ".*?",\r\n

接下来,执行部署即可,出现如下提示即为部署成功。

精品丨PowerBI迁移到SSAS_服务器_20

至此,PowerBI模型已经完整迁移到SSAS模型。
看到这里,相信小伙伴们还是有点疑惑:白茶,迁移是完成了,如果我后续要对模型进行修改呢?别急,往下看。

模型导入Visual Studio

打开Visual Studio选择创建新项目。

精品丨PowerBI迁移到SSAS_SQL_21

选择从服务器导入(表格)

精品丨PowerBI迁移到SSAS_DAX_22

配置项目信息。

精品丨PowerBI迁移到SSAS_SQL_23

根据自身情况,设定工作区,兼容性无需调整。

精品丨PowerBI迁移到SSAS_powerbi_24

输入服务器名称,选择导入的SSAS数据库。

精品丨PowerBI迁移到SSAS_SQL_25

等待一段时间后,可以看到整个PowerBI模型已经导入到SSAS中,后续更新完成后,可以将其重新部署到SSAS模型中。

精品丨PowerBI迁移到SSAS_DAX_26

注意事项

  • 此方案为企业级应用,不建议小白用户尝试;
  • 迁移之前请仔细核对Visual Studio版本;
  • 暂时无法从Visual Studio反向迁移到PowerBI。

精品丨PowerBI迁移到SSAS_服务器_27

精品丨PowerBI迁移到SSAS_DAX_28