暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

微软商业智能实战十:SSAS商业智能语义模型多维模型和表格模型,我们该如何选择?

小黎子数据分析 2021-08-01
1391

微信公众号改版,打乱了推文顺序,因此小黎子数据分析公众号推送的文章大家可能会在几分钟甚至几小时以后才能看到,所以小黎子请大家点开微信公众号【小黎子数据分析】的头像,点击右上方三个小黑点,将小黎子数据分析一键设置“星标置顶”!即可第一时间查看【小黎子数据分析】给大家带来的干货分享!小黎子非常感谢大家的支持!


上篇文章我们提到了SQL和MDX语句的差异性,今天我们来聊聊SSAS中的商业智能语义模型多维模型和表格模型的区别以及我们怎么选择不同的模型。大家在安装SQL Server2016版本以上的版本安装SQL Server Analysis Services 时会不会有这样的疑问:微软有一个多维模型为啥还要开发表格模型?我到底选择哪个安装咧?

SQL Server Analysis Services (SSAS) 提供多种模式,PowerPivot模式不是本文重点,我们本次主要探讨用于创建商业智能语义模型:表格和多维。


多维模模型(multidimensional model) 仅 适用于 SQL Server Analysis Services。如果你想要将模型部署到 Azure Analysis Services 或 Power BI,多维模型将不是你最佳的选择。Azure Analysis Services 或 Power BI Premium 数据集不支持多维模型。如果你想要在云中使用多维模型,唯一的方法是将多维模式 SQL Server Analysis Services 部署到 Azure VM。在 SQL Server Analysis Services 中,有多种方法可实现针对不同业务和用户需求量身定制的建模体验。


【多维模型】是一种成熟的技术,以开放标准为基础,由众多的 BI 软件供应商采用,但实施起来可能很有挑战性。

【表格模型】提供一种关系建模方法,很多开发人员认为它更加直观。在长时间运行中,可以更方便地开发表格模型并使其更易于管理。尽管多维模型在许多 BI 解决方案中仍是普遍的,但现在,在 Microsoft 平台上,表格模型被视为标准企业级 BI 语义建模解决方案。所有模型将部署为在 Analysis Services 实例或表格模型上运行的数据库,作为数据集 部署到 Power BI Premium 容量。模型可由客户端应用程序或服务(如 Power BI)访问。通过 Excel、Reporting Services(SSRS)、Power BI 和来自其他供应商的 BI 工具在交互式和静态报表中可视化模型数据。


使用 Visual Studio 创建的表格和多维解决方案,适用于在本地 SQL Server Analysis Services 实例上运行的公司 BI 解决方案,适用于表格模型、 Azure Analysis Services 服务器资源或 Power BI Premium 容量中的数据集。每个解决方案都可生成与客户端应用程序和数据可视化服务轻松集成的高性能分析数据库。然而,每个解决方案在创建、使用和部署方式上都存在不同。本文的大部分比较了这两种类型,以便您可以正确的选择你需要给客户提供的解决方案。

一、建模类型

下表列举了不同的模型,汇总了方法、初始版本和支持的兼容性级别。


类型建模说明初始发布兼容级别
多维OLAP 建模构造(多维数据集、维度、度量值)。SQL Server 2000
SQL Server 2012 和更高版本
1050
1100
Power Pivot最初是一个外接程序,但现已完全集成到 Excel。表格模型基础结构。不支持 Api 和脚本。SQL Server 2008 R2N\A
表格关系建模构造(模型、表、列)。在内部,元数据是从 OLAP 建模构造(多维数据集、维、度量值)继承的。代码和脚本使用 OLAP 元数据。SQL Server 2012
SQL Server 2014
1050
1103
SQL Server 2016 及更高版本中的表格关系建模构造 (模型、表、列) ,在表格格式的对象定义中以 表格形式编写, (TMSL) 表格对象模型 (TOM) 代码。SQL Server 2016
SQL Server 2014
SQL Server 2019
1200
1400
1500
Azure Analysis Services 1 中的表格关系建模构造 (模型、表、列) ,在表格格式的对象定义中以 表格形式编写, (TMSL) 表格对象模型 (TOM) 代码。20161200及更高版本
Power BI Premium 2 中的表格关系建模构造 (模型、表、列) ,在表格格式的对象定义中以 表格形式编写, (TMSL) 表格对象模型 (TOM) 代码。20201500及更高版本



二、模型功能

下表总结了模型级别的功能可用性。请查看此列表,以确保你想要使用的功能可在你打算生成的模型类型中使用。


功能多维模型表格模型
操作
聚合
计算列
计算度量值
计算表
自定义程序集
自定义汇总
默认成员
显示文件夹
Distinct Count是(通过 DAX)
钻取是 (依赖于客户端应用程序)
层次结构
KPI
链接对象是(链接表)
M 表达式
多对多关系没有 (但在1200和更高的兼容性级别有 双向交叉筛选器)
命名集
不规则层次结构
父子层次结构是(通过 DAX)
分区
透视
查询交叉
行级安全性
对象级安全性
半累加性度量值
翻译

用户定义的层次结构

回写



三、模型差异总结


根据小黎子长时间的了解两者的区别,随着后续版本的不断迭代可以看出微软偏向表格模型要更多一些,具体理由如下:

一、表格模型比多维模型使用起来要更加简单一些, 没有在多维数据集设计中那么多复杂的过程。多维模型需要专业的程序员才能更好的建立模型,表格模型业务人员也可以很容易上手。

二、自助式BI的市场将会越来越大, 微软也比较看重这一块市场, 所以推出了Power View 利器并且 Power View 目前只支持表格模型。

三 、微软往往喜欢打破标准自建体系, 光有MDX还不够, DAX的支持不多, 因此更希望通过对DAX的支持扩大客户端工具的占用率, 这样一来用户如果选择了支持DAX的微软分析服务, 那么客户端工具的选择上就没有太多的选择了。Analysis Service 只是一个服务, 真正要卖的是 Office 这一系列客户端工具。

四、功能支持方面,虽然表格模型上有一些功能没有多维模型那么方便,但是虽着微软的不断迭代更新最终还是会将这部分的功能转移过去。让表格模型更具有优势,从而更加凸显PowerBI的分析优势。




最后感谢大家的阅读,每一次的结束都是为了下一次更好的开始!如果本次推荐的资源对您有所帮助,还请小伙伴们帮忙三连一波(点赞、在看、转发),再一次感谢每一位完整阅读的小伙伴!


往期

推荐

微软商业智能实战九:SQL和MDX的区别


微软商业智能实战八:浅析SSAS技术


微软BI实战七:SSIS之Foreach循环容器批量导入销售订单Excel工作表




文章转载自小黎子数据分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论