彭小盛

又一个WordPress站点

BI的同与不同 肆 Tableau和Power-BI使徒

BI的同与不同 肆 Tableau和Power-BI使徒
友情提示:前方高能,请大家集中精神阅读。
第四章 产品对比与未来展望(中)
Round 3数据建模:Power BI胜出
建模是一个数据分析工具的核心功能,是灵魂部分。
建立强大高效的数据模型系统以准确地表达商业数据是BI的价值所在,但是隐藏在报表后面不为多数人所见的。初级分析人员往往被光彩夺目的报表图形所迷惑,却忽略了合理构建数据模型的重要性。并不是说视觉化效果不重要,可是再精美的数据报表,一旦数据错误,只会促成更坏的商业决定,产生比原本更糟的结果。一个优秀的BI数据模型就像拥有了一个巨额的支付宝账户,所有美丽的图表只不过是购物清单里面的物品,完全可以根据用户的喜好被随意放入购物车里。
前文提到,因为Power BI血液中流淌着SQL的基因,所以它在模型建立方面有着得天独厚的优势。通过拖拽就可以快速建立各个Table之间的关系,非常直观。

Measure度量值的编写通过DAX可以完成。解释一下,DAX(Data Analysis Expression Language) 是一种数据查询表达式,是SSAS 里面使用的标准语言之一,类似Excel公式,它的历史甚至比Power BI Desktop还要久。DAX可以实现的逻辑场景很丰富,一些在SQL或者Excel 要心余力绌也未必能表达出的逻辑,用DAX总能举重若轻地完成。作者早已被DAX的简练,高深,优雅所深深折服。DAX总体上学习曲线还算相对平缓,当然其难易程度随着查询场景的复杂程度而变化。SSAS还有另一种查询语句 MDX(Multi-Dimensional Expression),其功能更加全面、强大,缺点就是学习曲线更为较陡。
在Power BI Desktop界面内编辑量只支持DAX马玉柔。但是如果通过SSAS数据源加载,则二者都可以使用。
至于模型的性能,DAX是基于xVelocity内存优化技术的高性能列计算快鱼服饰官网,其优点是运算高效,空间高度压缩。任何度量的计算都是在内存中释放完成,其本身不占用磁盘空间。有趣的是,你会发现原文件被加载至模型中后,由于被高度压缩,体积比反而变小了。Power BI 有专门的调试工具软件,能测试DAX表达式的性能,从而帮助用户选择最优化的算法。总之,Power BI真的在建模方面做到了极致。
Tableau在模型搭建工具方面主要通过Join和Blend两种方式建立表关系,总体上还是比较容易上手的。但是对于相对复杂的关系图,PowerBI的视图会更直观一些。Tableau用的是LOD ( Levelof Details language) 表达式, 是一种比较现代的语义表达式,在Tableau Version 9 才问世,出道时间比较短。狗蛋的博客总体来说还是蛮好用的,学习曲线也相对平缓。一般懂EXCEL公式,就能学好LOD天庭狱卒。因为Tableau官网上没有给出太多LOD性能技术方面的细节,抱歉没有办法给出更多客观的评论。

Tableau Query Language(TQL)或称VizQL是Tableau自带的一种独特分析语言分娩大师,通过它用户可以在报表中轻易完成特殊商业逻辑表达。例如说,由于业务需求,要将广州、佛山、中山、东莞这几个城市在业务上归属于粤东,传统的方法必须在数据仓库建立相应的字段“粤东”来映射这个定义,Tableau却可以通过Group的方法把这几个城市组合成“粤东区”。类似的功能还有用Set 集合来表达相交的数据集,这里不一一列举。最重要的是,这些都是不需要用户写一行代码或到后台修改模型就可以在报表层面实现的功能,非常方便灵活。而Power BI则 需要手动去编写度量来实现同样的结果。
本轮总结,对于分析中一些普通的业务场景,无论是用Tableau还是Power BI,二者的数据模型都能快速高效地实现,它们的优点各有千秋。但如若是遇到特别复杂的业务场景,例如需要表达,将一张表的输出结果作为另一张表的输入值的迭代计算,那么Power BI二十多年来数据模型武功积累的优势就凸显出来了(感谢SQL爸爸保佑!)。当然,并不是Tableau的模型功能不好用,前文的魔力现象图已经佐证了Tableau的优秀,只是MS SQL实在是太强大了汪丽珍 。
然而世间没有十全十美的事物,功能强大和要掌握的技能数量是成正比的,唯有正确理解并熟练使用Analysis Service(DAX或MDX)语言,才能真正发挥出Power BI的神奇能力。SSBI虽然看上去简单龟龙变,但不等于容易。如果简单地认为只需要用户自己拉几个表,所有问题就能引刃而解,那就too Simple too Naive了刀剑如梦简谱 。
本章整章节独立介绍系统模型搭建,希望让大家意识到建立模型的重要性。设计优秀的BI模型系统,好比把房子盖在磐石上;到发大水的时候,因为根基立在磐石上,房子不会动摇,住户的安全受到保护。不良的模型设计好比把房子子盖在沙土上,水一冲皮卡丘之歌,房子就倒坍了,连房子的住户都埋在下面一起遭殃。
下一章会分析生态天堂屠夫,费用与安全方面的内容。Until Then, May the glory of “BI” be with you.