[PowerBI工具PK]PBI催化剂较Tabular Editor好用易用之处

相信近期Powerbi推出的外部工具功能,越来越多的PowerBI爱好者开始尝试下载Tabular Editor来玩弄一把,特别是现阶段,如果需要做度量值计算组功能,也只有Tabular Editor可以胜任,甚至连原生的PowerBIDeskTop都不支持。

诚然Tabular Editor已经非常优秀且具有非常丰富的扩展接口,供高级用户使用,为何还需要PBI催化剂的存在呢?本篇暂且不说PBI催化剂有而Tabular Editor没有的功能,仅对两者共有,都能实现的一些高级应用特别是批量性应用来作对比,告诉大家PBI催化剂有其更大的易用性和强大性。

背景介绍

Tabular Editor是一款独立的软件,Winform架构,同时亦兼有命令行访问方式,并且作者还打造了一个Wrapper轮子,使.NET程序更简单方便地调用SSAS接口。

其github开源地址为: https://github.com/otykier/TabularEditor,若仅需要下载其最新版本,可跳转到此网址去下载: https://github.com/otykier/TabularEditor/releases 。每次到此网址去查看更新日志,都会让笔者感到兴奋不已,随着软件的更新,功能更强大,稳定性越来越好,特别是最近修复了中文字符显示的问题,太让笔者感到开心。

难能可贵的是,这样一款非常小众的开源软件,作者把wiki介绍做得非常完善,PBI催化剂很多灵感都是从其现有功能及介绍而来,特别是其脚本功能,网址为: https://github.com/otykier/TabularEditor/wiki/Useful-script-snippets

PBI催化剂大量的功能实现的底层代码,借且于Tabular Editor的开源代码参考及其Wrapper轮子TOMWrapper实现,在此真的非常感谢Tabular Editor的作者的无私奉献。

功能对比

在Tabular Editor里,其高级的功能,多数在于使用高级脚本的方式来扩展实现的,但能够使用脚本,必须会一些C#的编程技术,否则可能只能借助其Wiki上写的例子简单操作下,很难有能力驾驭住,当然有了PBI催化剂后,当有共性且高频使用的,笔者也已经将其封装起来,实现更为友好地界面式操作,无感底层的代码级别的复杂度

一、批量导出导入模型属性数据

在Tabular Editor里,其实现方式,使用高级脚本来访问数据模型。如下图所示:

具体可参考其文档: https://github.com/otykier/TabularEditor/wiki/Useful-script-snippets#export-object-properties-to-a-file

除了上述说到的需要掌握C#语言才能编写外,退一万步,就算已经掌握了语言,在Tabular Editor作者所使用的方式中,他没有将数据导出到Excel文件,而是使用tsv格式(以制表符为分隔符的文本文件,类似以逗号分隔的csv文件)。

此方法天然地对导出数据中的万一包含制表符换行符等符号时,非常容易产生数据错乱问题。

因为这个问题,我还曾经在github上向作者发出一条issues反映这个问题。https://github.com/otykier/TabularEditor/issues/307

同样一个问题是,在导出的对象属性过程中,不知道该对象有什么属性,就难于对其进行导出,只能查明此对象具体有有些属性,再通过传入属性字符串名称的方式才能拿到最终此属性的信息

针对上述提到的三大痛点问题,且看在PBI催化剂中如何将其一一破解,带出一个超级棒的操作流程与体验。

  • PBI催化剂中,无需任何代码,即可界面方式完成所需导出的对象的选择及其对应的属性的进一步细分选择。

如下图的红框3部分,想要什么属性,就勾选什么属性,如果固定化需要哪些属性,也可以自行字符串拼接完成。

  • 导出的数据结果是在Excel表格内,不受换行符、制表符等影响错位问题。

数据在Excel表格里,下一步进行查看、编辑也带来无限地便利,就算上述导出许多不相关的属性也不必介怀,简单删除或隐藏某些属性列即可,整个过程非常流畅。

  • 除了导出功能外,导入功能同样体验更佳

因为没有制表符、换行符等问题,在Excel表格上快速加工好自己想整理的属性数据如显示文件夹、数字显示格式等。只需反向操作,更新属性时,选择当前修改好的属性信息,即可完成导入更新操作。

相对来说,Tabular Editor还要按要求加工好数据,再导出为tsv格式,再进行导入,过程非常麻烦。且存在换行符、制表符错乱问题,导出的数据需要整理很长时间,导入数据时,如果需要修改DAX表达式等含有换行符、制表符的,最终只能得到错误的结果。

  • 在新建、删除操作上PBI催化剂体验亦更好

上述导出的对象属性清单,在PBI催化剂中,甚至可以复用此清单,只需进行Excel环境的筛选、删除、新增操作,最终确定需要新建或删除的记录,直接一键完成对模型对象的新增或删除操作。

而对应的Tabular Editor来说,实现这些效果,要写很长的代码段来完成。

二、批量格式化DAX表达式

在Tabular Editor里,有一个很好的交互效果,程序可识别当前界面选择的对象如度量值、计算列等对象。可以多选。最终通过遍历的方式拿到选择的清单如:Selected.Columns、Selected.Measures等。

诚然,这些为批量性操作带来了可能,但单从界面操作来说,还是不能直接零代码实现,就算使用了高级脚本的代码编写操作,因为其Selected对象不能跨文件夹选择对象的原因(多个显示文件夹里的多个度量值不能同时选定,只能某个显示文件夹里的度量值可批量选定),也是不能真正一次性选择到自己想格式化的完整 清单。

这些种种的缺陷和弊端,在PBI催化剂里,都已经不是问题,将DAX表格式清单导出Excel后,然后简单进行筛选操作,即可完成需要格式化的清单选择,然后下一步骤就是耐心等待格式化的完成(调用的是DaxFormatter的网站接口,国外网站访问有些慢)。

三、按关键词查找某个对象信息

当模型越来越复杂后,想查找某个对象时,已经不能仅仅凭记忆来完成此事,搜索功能是必然需要的。

在Tabular Editor的界面来说,其提供了Filter的功能,可以在下图红框处输入关键字,然后对模型进行检索,返回包含关键字的对象信息。

上述所示的结果,其搜索的范围仅为对象的Name属性如度量值的名称,但如果需要搜索的是其他属性时,其使用的方式就变得复杂许多,同样需要用到C#语言的知识,如果不懂C#将难以操作。

例如要查看度量值的表达式内容包含SUM关键字::Expression.ToUpper().Contains("SUM"),编写不容易,修改也很不容易。

具体的方式可参阅以下网址:

https://github.com/otykier/TabularEditor/wiki/Advanced-Filtering-of-the-Explorer-Tree

在PBI催化剂里,特别对于高频的DAX表达式(度量值、计算列、计算表),采用名称和表达式关键词一并查询,全程界面操作,体验也是非常棒。查询到结果后,对其结果进行编辑后的保存、删除及对应的依赖与反依赖关键都在同一界面完成,也是非常流畅符合实际的操作流程。

image-20200922153538837

当然其他更为复杂的属性搜索,可以重新回到遍历属性功能里,将所有属性都遍历导出到Excel中,再从Excel中简单的查找、筛选功能,发现最终想找到的对象及其信息。如下图中的partition对象,将其所属的表信息、对应的原始查询信息,都轻松地查询得到。如果让TabularEditor通过其界面来完成,将是非常复杂的过程。

四、批量生成扩展度量值

在Tabular Editor的高级脚本Wiki中,也提到这个使用场景,的确非常刚需,能够一次性批量生成众多度量值,这个功能在实际项目里,太让人喜爱了。

在PBI催化剂里,最起码的提升是零代码化了,整个操作体验,更符合使用工具人的习惯

结语

Tabular Editor无疑是一款非常优秀的PowerBI建模辅助工具,特别对于企业级PowerBI项目来说,面对复杂的数据模型,没有工具的提升,单纯使用微软原生的开发工具,效率非常低。

而在Tabular Editor之上,PBI催化剂虽然技术含量不高,但论及其使用友好度,也是较Tabular Editor更胜一筹,青出于蓝

同时也因为两者的开发者知识体系及面对的服务群体不同,PBI催化剂,更适用于没有.NET语言基础的纯工具使用群体,特别是从Excel用户过渡而来的PowerBI爱好者。

在批量性操作方面,相信PBI催化剂不会令任何一位PowerBI资深爱好者失望,你们苦苦找的外部工具本土化的就是PBI催化剂莫属了。

posted @ 2020-09-22 16:12  Excel催化剂  阅读(1152)  评论(0编辑  收藏  举报