本文是【Power BI X SSAS】系列的第五篇。 第一篇比较了Power BI数据导入的三种方式,指出了Power BI结合SSAS的意义。 第二篇阐述了Power BI和SSAS结合的基本原理。 第三篇介绍了SSAS表格模型建模的基本流程。 第四篇介绍了SSAS表格模型数据刷新的方法。 能否将Power BI的数据模型和度量值一并导入到SSAS? 在SSAS中运行脚本 5. 在SSDT中调整该模型 6. 六、 在SSAS中运行脚本 我们继续用SSMS连接本地SSAS数据库,并右键任意一个SSAS数据库,选择【新建查询】——【XMLA(X)】。
部署SSAS对象;自动调度处理SSAS对象使数据最新 提及数据延迟的问题,再回到ETL工具SSIS,补充一个实际应用话题: 在SSIS中如何捕获上游变更数据(Change Data Capture, 此外,在Cube的生命周期阶段,两项管理任务也需掌握,即部署和处理SSAS对象。 (\TK 70-448 SSAS Project1\bin)目录下。 课程3:处理(Processing)SSAS对象 在课程1中,对采用MOLAP存储模式的cube而言,如果不启用\配置主动缓冲(proctive caching)特性,必须处理(Process)SSAS 练习2:使用SQL Server Agent计划处理一个SSAS对象。 1)在SSMS中,连接到本地SSAS上,右击“TK 70-448 SSAS Project”数据库,单击“处理”。
SSAS模型布署成功后,外部各种客户端都可访问,客户端充当类似网页浏览器,只是对数据结果的渲染作用,无需承担运算作用,即本地客户机无需携带巨型的数据源数据,对本机客户机的硬件要求低,pbid可实时访问到 SSAS分析服务的数据模型,充分利用其灵活可视化的优点,不失为一种较为理想的解决powerbi技术本地化布署分发的一种手段 ?
上回我们说到,如何部署SSAS表格模型。接下来我们将要介绍,如何进行数据刷新。 从SSMS端连接SSAS模型,我们看到,每个SSAS数据库,有三个子项: - Connections (连接) ,即我们配置的数据源。 "objects": [ { "database": "TabularProject1" } ] } } 脚本命令中,"database"后面填写SSAS 回到SSAS模型,选择选择【角色】并右键【新建角色】。创建一个【完全控制】权限的角色。 然后选择左侧【成员身份】,添加用户“NT Service\SQLAgentXXX”。其中,XXX部分因人而异。
SSAS SSAS,全称SQL Server Analysis Services (SQL Server 分析服务)。 上文说到,Power BI实时连接SSAS,其实连接的是analysis Services数据库(以下简称AS数据库)。而SSAS则是一个用来托管AS数据库的服务器实例。 SSAS 表格模型 Excel的Power Pivot Power BI Power BI X SSAS Power BI与SSAS结合,简而言之,就是把原先在Power BI里进行的数据获取 此外,由于整个模型都是在SSAS里搭建的,Power BI端将不能引入其他数据源,也不能编辑原SSAS的度量值,但可以新建度量值,纯粹作为可视化展示工具使用。 下一篇,我将重点介绍,如何部署SSAS表格模型。
前文说到,Power BI直连SSAS,可以较大程度地解决数据加载刷新慢的问题。那么如何创建一个SSAS表格模型呢? 本文是一个简化版的介绍,更详细的说明,请参考官网文档,或在公众号后台回复【SSAS】,获取英文版教程pdf。 相关工具 由于SSAS相关工具不同版本间存在兼容性问题,因此本文及后续相关文章使用的版本如下: SQL Server 2019 开发版(功能齐全) SSMS 2018 (版本影响相对较小) Visual Studio 2019 社区版,下载安装配套的SSAS扩展包 Power BI RS版,2021年1月版 Power BI Report Server,2021年1月版 创建SSAS表格模型是在Visual 值得一提的是,如果后续Power BI是通过直连(Direct Query)的方式连接SSAS模型的话,行级别权限配置(RLS)就必须在SSAS这里配置,而不能在Power BI里配置。
PowerBIDeskTop的互通互联功能,到无偿奉献所有此功能的核心原代码,再到今天的高潮,献上最具商业价值的高级功能,让企业级商业智能BI项目插上翅膀,最强大的、最易用的Excel前端作数据展示层,加上最强大的数据后端SSAS 5波-使用DAX查询从PowerbiDeskTop中获取数据源 第6波-导出PowerbiDesktop模型数据字典 在笔者所从事的企业级商业智能BI的项目开发中,其实很早就已经开发过Excel与SSAS 最震撼的部分,当然是将Excel与SSAS或AzureAS企业级分析模型进行连接的功能开发出来,比PowerBIDeskTop的连接更具推广价值,在企业商业智能项目中,更有应用场景。
对EXCEL透视表的一些快捷操作的提取,对终端用户来说,透视表的一些常用操作,每次重复去做,有点繁琐,用插件给它实现一下,方便很多
接下来是一个专题,记录和分享Power BI 和SSAS配合的实操经验。 ---- 第一篇是关于Power BI连接数据方式的对比。这是个老生常谈的话题。 Live Connection 仅支持这些数据集; · SQL Server 分析服务 (SSAS) 表格 · SQL Server 分析服务 (SSAS) 多维 · Power BI 服务 因为这些数据源本身就是建模引擎 报告级别度量 仅使用 SSAS 表格实时连接,您可以获得报表级别的度量。这使您能够编写 DAX 度量。但是,您可能希望将它们保留在数据源中以保持模型一致。 因此,为了您的模型的一致性,您可能希望将度量创建保留为 SSAS 数据源模型的一部分。 04 实时连接和 DirectQuery 有什么区别? 报告级别度量 通过某些类型的 SSAS 实时连接(到表格模型或 Power BI 服务),您可以获得报表级别的度量。
大家都知道我们在自己的笔记本上运行的是 Power BI Desktop,而 Power BI Desktop 的本质是一个包装了 SSAS 引擎的可视化壳子。 等等等等,什么是 SSAS 引擎? SSAS 是 SQL Server Analysis Services 的缩写,是微软 SQL Server BI 的企业级旗舰产品。 等等等等,凭什么证明 Power BI Desktop 的本质是这个 SSAS 呢? 也就是说,如果微软想让 Power BI Desktop 运行在苹果操作系统,那么就必须让 SSAS 可以运行在苹果操作系统。 可以用于苹果系统;而如果 SSAS 可以用于苹果系统就意味着,微软把自己家的楼盖到苹果去。
使用Sqlserver的SSAS分析服务对数据模型进行布署后,很大的好处在于,数据的后续处理更新,不再依赖于报表访问时再进行,因数据量大,等待时间过长,使分析工作不得不中断,相反使用SSAS的布署方式, 数据的准备和数据模型的处理,在报表浏览前已经完成,打开报表即可得到最新的数据,整个过程是SSAS分析模型自身通过自动化作业调试完成,无需人工干预和手头操作。
https://www.yuque.com/cuihuajihome/document/cmqa50 PBI催化剂+PowerBIDeskTop局域网可用+Excel催化剂连接SSAS模型透视表与DAX 查询消费模型数据(局域网化的PBID就是企业级的SSAS)+EasyShu图表插件=超级强大的数据采集、处理、建模、可视化轻量化低成本解决方案。 下图,使用Excel原生功能连接Analysis Services的方式连接 更佳的使用体验是使用Excel催化剂的PowerBI功能,此处应选择SSAS模板,因为PowerDeskTop已经可局域网访问 ,变成为真正的端口不变的SSAS引擎。
接下来再说一下SSAS,SSAS默认实例使用的是2383端口,如果是命名实例,那么每个实例都会有一个管理员指定的端口,这个端口也可以是动态分配的,由于网络安全的需要,强烈建议不要使用动态分配端口的方案。 修改SSAS的端口,需要先打开SSAS服务,然后使用SSMS连接到SSAS中,在对象资源管理器中右击实例,选择属性,弹出分析服务属性窗口,设置Port属性为需要的端口,默认值是0,也就是没有设置的意思, 然后重启SSAS服务即可。 重启后,SSMS获取其他客户端连接SSAS的话,那么就需要使用“主机名:端口”的方式作为连接主机,而如果是数据库引擎的话,那么是使用“主机名,端口”的格式,这两个是有所区别的。
前一篇的分享中,主要谈到Excel透视表连接PowerBIDeskTop的技术,在访问SSAS模型时,不止可以使用透视表的方式访问,更可以发数据模型发起DAX或MDX查询,返回一个结果表数据,较透视表的方式更为灵活 5波-使用DAX查询从PowerbiDeskTop中获取数据源https://www.jianshu.com/p/21b2ca8fd2b8 原理性分析 和上一篇类似,同样是使用OLEDB的数据连接,和SSAS 分析服务进行连接,但此时使用编程的方式,向SSAS服务发起OleDbCommand,将DAX查询作为参数,传给OleDbCommand,最终模型将返回数据结果。 同样的代码亦可以使用在Sqlserver上SSAS服务。只是需要将连接字符串带上有权限访问模型的用户名、密码。 DAX查询自动化 看完上述方法,已经蠢蠢欲动,下面再来个高潮,DAX查询全自动化生成。 因为PowerBIDeskTop开启的SSAS服务是本地化服务,本地用户对其有全部的权限访问,并且PowerBIDeskTop界面上拖拉控件,实际上是转化为一段DAX查询向SSAS服务发出查询并返回的数据结构
这项更新将对PowerBI及SSAS均构成重要影响。为此,微软SSAS团队官方,SQLBI.com以及Chris Webb分别在各自博客记录这一内容。 (后两者为SSAS领域国际顶级专家博客) 按照 SSAS 团队官方的话说,这是一项DAX本该具有却一致未有的能力。 给出尝试思路如下: 下载最新版 SQL Server 2019 CTP 2.3 并建立一个 SSAS Tabular 项目。 PowerBI Desktop live connenction 模式连接SSAS体验。 而在微软的官方博客已经能预料到由于DAX引擎一波特性的发布,已经让SSAS团队处于很大负荷的状态。
故再次开发了一个小工具,用于SSAS的数据库元数据备份。 建模层的原理,其实就是一段json的字符串,用于定义整个模型的连接、关系、表、度量值、计算列等元数据,只要拿到这段json,就可以通过XMLA查询的方式,直接部署到Sqlserver的SSAS分析服务上 而bim文件,就是存储这些json信息的文件,通过Tabular Editor直接读取bim文件,就可以把整个模型的信息读进Tabular Editor,然后经过它部署到SSAS服务器上。 所以对于BI项目来说,备份这个bim文件或json文件信息,比备份整个SSAS数据库来得更科学和方便快捷。 在使用上,需要自行设置一下SSAS服务器连接信息和备份文件夹,建议在部署的服务器上运行此程序,因为若非域环境管理员的帐号,可能没有备份访问SSAS对象模型的权限。
上一篇给大家演示Azure AS功能时,偷了个懒,直接用了示例数据库,若需要从零开始做一个SSAS模型并部署到Azure AS上,过程中有好几个坑要走过,作为准MVP的身份,这里给大家无偿奉献一下,这可是企业级的项目案例 SSAS数据建模工具SSDT 对于PowerBI爱好者群体,多数是玩Excel和PowerBIDesktop,没有上升到企业级BI的层次,对在企业级BI的SSAS上建模的工具比较陌生,这里简单给大家作一点点工具介绍 微软Sqlserver的企业BI项目中,需要用到SSDT的开发工具,而Azure AS的开发过程和Sqlsever的SSAS是一样的,只是开发完成后的部署地址,一个是本地Sqlserver服务器地址,一个是 在SSDT上新建项目 新建SSAS项目 项目创建完后,就需要获取数据源,SSAS的数据来源可以多种,在主版本的SSAS下可支持PowerQuery的数据源导入操作。 Excel连接Analysis Services 填入关键信息 选择刚刚部署的模型 成功在Excel上访问Azure AS新模型 结语 本篇给大家从零开始使用SSDT开发工具,设计一个新的SSAS
前面系列文章介绍的场景,设定的工具使用对象是Sqlserver和Azure 的SSAS数据模型开发,其实TabularEditor亦可以有限度地使用在PowerBIDeskTop的模型开发上,本文简单介绍下其最佳的使用场景 PowerBIDeskTop模型不同于Sqlserver的SSAS模型 虽然大体上都是同一个引擎,但最终的定位的原因PowerBIDeskTop数据模型只是单机版的运行,其运行的方式未能如Sqlserver SSAS数据模型读取到的元数据 SSAS数据模型读取到的元数据 最关键的一点是在TabularEditor读取不到PowerBIDeskTop模型的数据连接。
在2019年3月,微软连续发布了 SSAS 2019 的社区预览版CTP2.3及2.4,SSAS 引擎中加入了新的特性。就这点也可以从 Power BI 的引擎中看到。 于是微软引入了新的概念(其实这在SSAS曾经的多为模型版本中存在),但表模型(也就是现在PowerBI所使用的建模套路)更加贴近业务的思维方式。 PowerBI 连接 SSAS 2019 我们来看看 PowerBI 连接 SSAS 2019 使用上的效果。 组计算的能力远远不止于此,该特性将随SSAS 2019在今年后半年推出,让我们拭目以待。
此插件作了一些权限的封装,让用户可以有登录的功能,不同用户登录看到的内容不一样,实现企业对数据权限的管理