PowerBI 致敬 Tableau 10大表计算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PowerBI 致敬 Tableau 10大表计算相关的知识,希望对你有一定的参考价值。

参考技术A

有伙伴说一段时间没有更新文章,这一次顶十次。明明能拆成十期的文章,非要一次写完,没办法,厚道。

客观地讲,PowerBI 作为快速发展的BI产品,在很多方面仍然需要打磨,以前我们似乎更多来说 PowerBI 有多厉害,但这并不影响我们客户地向更加优秀的伙伴学习,例如:在 Tableau 确实有太多的优点,PowerBI 需要去学习,期待希望微软的产品经理们。(也只能期待了...)

在数据分析中,除了简单汇总或简单变换以外,很多需求是需要有额外的辅助才能实现的,在 PowerBI 中,这些全部以 DAX函数 给出,来构建模型的语义层;而在 Tableau 中,自有她的一套巧妙设计,我们不妨来对比研究一下对于同样的略微复杂的功能是如何在不同的产品中实现的。由于我们这里主要是研究 PowerBI,故给出 Tableau 的实现效果,对其涉及公式不再详细讨论,而将这些精力留给对 PowerBI 的描述。

本文全部是案例,案例来自于实际,Tableau举例了十个案例,为了处于学习目的,这里将变换下案例,但保持本质不变,来达到花费最小精力学习最多收益的效果。

参考文章《10大Tableau表计算》: https://www.tableau.com/zh-cn/about/blog/2017/2/top-10-tableau-table-calculations-65417

推荐实践方式:

以下详细对比每个案例并给出在 PowerBI 中的实现。

在 Tableau 中,利用表计算,可以计算从任意值开始的百分比变化。假设您对某个股票组合感兴趣,并且想评估它们从某个时间点开始的相对表现。为此,需要设置一个“投资日期”,并将这些股票标准化到同一个时间点,用线条显示百分比变化。可使用滑块调整参考日期。效果如下:

Tableau 表达式:

以及:

在 PowerBI 中,模拟类似的需求,实现选定任意时间点,显示不同时间相对于该时间的销售额的增长率。效果如下:

Power BI DAX表达式:

以及:

小结:

您可能想参照一个公共基准点查看数据,而不是查看一段绝对时间范围的数据。例如,这里有三部《玩具总动员》电影的票房收入。如果按星期看一下自首映日开始的总收入,比较起来就容易多了:

Tableau 表达式:

在 PowerBI 中,模拟类似的需求,实现按照首次销售计算不同类别的销售额趋势。效果如下:

首先构造了一个坐标轴,然后根据当前坐标轴位置来计算,PowerBI DAX 表达式为:

小结:

希望一次执行两遍表计算的情况很常见。例如,查看某个细分市场随时间变化的增长或收缩对公司的重要性可能很有意义。为此,必须先按细分市场计算随时间变化的销售额汇总,然后将其作为随时间变化的销售总额百分比来查看。这也称为多遍聚合,在 Tableau 中不写公式也可以完成这种聚合。

在 Tableau 中仅需要设置就可以完成:

以及:

在 PowerBI 中,模拟类似的需求,实现按照不同类别显示其当年积累销售额占整体销售额的比例。效果如下:

Power BI DAX 表达式:

小结:

这里我们需要了解产品在一个月和一年内的排名,然后显示排名随时间的变化。为此,我们创建一个凹凸图,其中以折线图形式显示随时间的变化。可在左侧看到复印机和传真机已经从销售不佳的产品变成目前的销售前 3 甲。还可以看到,传真机和复印机的购买量波动很大。

Tableau中这样计算:

在 PowerBI 中,模拟类似的需求,实现按照不同类别显示其不同时间段的排名。效果如下:

在 PowerBI 中,在报告层面可以实现传达同样信息的效果,但从报告层的细节来说,仍无法做到 Tableau 的融合性,例如:

无法做到最少可视化元素的完备性以及整体性,PowerBI 产品经理有的玩了。

当然 PowerBI DAX 表达式:

小结:

现在需要监视呼叫中心未结支持案例的数量,或者有货的库存数量。但是系统未记录未结案例的滚动合计,您需要推算出来。这等于开案日的案例数 + 新开案例数 + 重开案例数 – 已结案例数。

表面看来,这是简单计算。但是,每日开案数量是根据上一个结案日推算的,后者又是根据当日开案数量推算的。这形成了计算的循环引用。

效果如下:

在 Tableau 中的大致实现方式:

以及:

以及:

充分看出在 Tableau 中的报表层提供了很多控制以实现计算。

在 PowerBI 中,模拟类似的需求,实现计算每天的累计未发货量,未发货量由昨日累计订单量 - 昨天累计发货量得到,效果如下:

PowerBI DAX 表达式:

这看似一种递归的效果,但其实可以转化为非递归实现,在 Tableau 和 PowerBI 两者中都并非真正的递归,在 PowerBI DAX 中是不支持真正递归的,当然在这种案例中也不用使用真正的递归。

小结:

对于考试分数或订单优先级等数据,适合采用加权平均分析。也许您想查看各种产品类型所有订单的平均优先级,并且想按订购量加权该优先级,这样订购量大的产品就会得到更高的优先级分数。可以使用加权平均优先级分数来优化订购量大、优先级高的产品的供应链。这里,我们使用 Superstore 销售数据进行加权平均:

在 PowerBI 中,模拟类似的需求,实现按子类别销售额利润率加权来计算类别的平均销售额,效果如下:

PowerBI DAX 表达式可以直接由快速度量值给出:

生成的 PowerBI DAX 表达式如下:

小结:

如果您管理公司的配送运营,可能会对哪些产品的运输成本高于平均值感兴趣。在 Tableau 6 中,可以计算整个时间窗口的平均值,并在计算中使用该值对各值进行分组和配色。

Tableau 中的主要计算如下:

在 PowerBI 中,模拟类似的需求,效果如下:

首先构建一个用来分组的辅助表作为图例,然后编写 PowerBI DAX 表达式如下:

小结:

对于零售、智能或边界控制等不同的场景,通常需要了解在一个时间窗口内发生某一事件的次数。例如,一次可疑事件可能是一次意外,但是如果在 x 天里发生次数超过 n 次,那就值得调查一下。

这里 Tableau 用到了参数和计算的结合,主要的计算如下:

在 PowerBI 中,模拟类似的需求,实现 X 天内小于上月日平均销售额的次数达到指定阈值,效果如下:

如果在连续的X天内次数超过了阈值次数则显示,否则不显示。

PowerBI DAX 表达式如下:

小结:

您已使用 Tableau 中的快速表计算功能,计算了所有月份的销售额移动平均,但现在希望进行扩展,以便选择要计算多少个时段的平均值。

淡蓝色线条显示所有月份的销售额总和,而橙色线条显示 15 个时段的销售额移动平均。

在 Tableau 中的设置和计算如下:

在 PowerBI 中,模拟类似的需求,效果如下:

PowerBI DAX 表达式如下:

小结:

您可能更想看到季度销售额与当年平均值(而不是绝对数)的差异。此处显示了与当年平均值和绝对订单数之间的差异。

在 Tableau 中的主要设置和计算如下:

在 PowerBI 中,模拟类似的需求,效果如下:

PowerBI DAX 表达式如下:

虽然是达到同样的效果,在 PowerBI DAX 中却要理解上下文转换以及取消外部筛选等高级的 DAX 知识才能快速而准确地写出度量值。

小结:

通过对比用 Tableau 和 PowerBI 实现同样的 10 种非默认效果的计算,可以对两种软件在某方面的设计有了一个局部的认知,可以总结为:

因此,我们可以对 PowerBI 的报表计算能力有一个更准确的把握:

更多的思考:
从本文的 10 个典型案例可以部分看出 Tableau 作为完成报表层计算和展示时有良好和完备的能力,这也许得益于其初期就明确的精准定位,尤其看到在 Tableau 6 时代就已经达到了完备的计算。在这方面,由于 PowerBI 将数据准备,数据建模,数据可视化,报表制作融为一体,尤其是 模型层计算 报表层计算 并没有从系统化的角度做严格区分,导致任何报表需求的本质都是一个DAX查询,而报表层又没能做到:

这两点导致:
PowerBI 的报表制作严重依赖于添加众多没有模型意义的辅助表以及过度复杂的相对重量级 DAX计算,虽然能证明 DAX 的强大,但明显可以感受到在很多方面,这并不得心应手。

相信 PowerBI 在报表层必然有更大的提升,至少完成两点:

最后,致敬 Tableau,没有这么优秀的对手,这么可能让 PowerBI 变得更强大呢,通过对 Tableau 的体会和理解,可以更多加深对 BI体系 的思考,也更清楚 PowerBI 的软肋,对于应对实际问题,如何基于现有的 PowerBI 特点做出合理的设计也就给出了更多的方法。

BI分析工具深度测评:FineBI vs Tableau

谈到商用数据分析工具,大家平时说的最多的莫过于Tableau和微软的Power BI了,这两款工具凭借可视化和Excel(主要指power bi)的影响力,这几年很火,且在国外都属于BI行业的领导者。

作为数据分析师,也是数据产品的爱好者,我喜欢把弄各种工具。Tableau的可视化很人性,个人使用就像是Excel透视表的升级版。Power BI除了M语言和DAX语言得心应手比较难,产品操作也都延续了Excel的思想。但是两者共通的毛病,面向企业的产品定制化以及庞杂的报表分析需求,不是特别友好(开发难度太大,报表制作还得依靠Excel)。但这却是国内大多数企业很普遍的需求。

带着这样一个疑问,有没有更好地“符合国情”的BI工具呢,于是我就把目光转向国内的产品。国内的数据分析领域,报表产品、传统重型BI占了很大的基数,这和多数企业的信息化还都处于初步的数据探索阶段有关。报表领域,有帆软一只独秀,FineReport也一直是我在用的自动化报表工具,也能做报表分析。但同时他家FineBI在数据分析方面相对更优,既能实现业务、数据分析师等人群的个人数据分析,又能管辖业务分析,报表整理。尤其是在数据平台架构方面,还有数据到报表到分析报告的流程、权限管理。

为了更好地介绍这个工具,本文将给大家做一场帆软FineBI和Tableau的综合对比。希望能帮大家更多的了解BI工具,也对选型有帮助。

一、产品背景

FineBI来源于帆软公司,早期于2006年创立,目前已经发展为国内最大的BI分析平台提供商。FineBI目前最新版已迭代到 V5.0,主要面向企业客户(个人用户免费全功能使用,但是限制2个并发用户)。

Tableau即公司名,产品的使命是帮助人们查看和理解数据。正如使命所表明的,Tableau的显著优势很明显是可视化,基于可视化做的很多数据分析功能扩展。

二、数据建模、数据加工

a.数据建模

数据建模方面,两个都支持对数据表进行自由的关联设置,并且都支持跨数据源进行关联建模。现代的BI工具都是自动建模了,与传统BI的显著区别之一。

但是Tableau建立的数据模型属于宽表模型,相当于是在原来元数据表的基础上根据新的关联关系再新生成一个结果集,这样一来建立的数据模型拓展性和灵活性相对低一些。

而FineBI在数据建模这方面相对Tableau的可复用性更强,因为FineBI建立的骨架数据关联模型都是基于元数据的,相对来说FineBI这样形成的数据模型可拓展性和灵活性都比Tableau要高一些。

考虑到Tableau的设计用户通常都是有专业数据分析能力的数据分析师,对数据的模型理解相对较深,技术能力相对较强,所以设计用户也承担了数据建模的工作。

而FineBI在数据工作流程方面较Tableau分工更为精细,将数据准备阶段(包括数据建模)的工作交由IT管理员完成,业务人员/数据分析师在分配到管理员的数据权限之后即可开始进行自由的可视化探索分析。

数据建模总结:

从数据建模所处的数据分析工作流程对比而言,Tableau更加适合有专业数据分析能力的数据分析师个人使用,FineBI则更加契合企业分工协作的工作流程。

b.数据加工

Tableau Desktop没有系统的数据加工功能,18年最新发布的Tableau prep对数据清洗和数据加工方面做了较大的弥补,从数据清理/调整、检查/筛选数据、联接/合并数据都拥有着比较体系的数据加工策略,可以无缝对接Tableau Desktop使用,不过需要同时安装Tableau Prep和Tableau DeskTop。整体数据工作流还是非常清晰、直观的。

FineBI对一些有关数据的加工处理功能,统称为“自助数据集”。包括过滤、分组汇总、新增列、合并表、自循环列(可以有树结构的数据进行分层等集团性企业)、行列转换等操作。都可以快速进行处理,且可视化无代码。

数据加工总结

相对Tableau Prep而言,FineBI的自助数据集工作流没有Tableau那么全局直观清晰,但是分析过程操作界面更加简单,对普通用户的使用和上手门槛相对更低一些。对于专业的ETL工程师,使用Tableau Prep可能会更加容易上手。

三、数据可视化

数据可视化方面,Tableau虽然一直以可视化著称,但其实FineBI也不弱。操作上,大家都只要点击和拖拽,即可快速进行数据的可视化探索。

a.图表丰富度

两款产品都是基于同样的图形语法(The Grammar Of Graphics)设计,除了常规图表的快速分析之外:

还支持用户将字段绑定到图表的颜色、大小、形状、标签等属性。这样一来图表的可视化展现能力也就更加丰富灵活了,我们可以通过数据——>图表属性的无限组合,尽情地进行数据可视化认知的探索和洞察。

Tableau 数据可视化界面:

tableau可视化作品:

FineBI可视化操作界面:

FineBI可视化作品:

数据可视化总结:

整体看来,两者的可视化操做是类似的,图表丰富度各有所长。该有的属性、布局、样式、配色设置也都有。FineBI还内置了许多经典的配色、样式、风格供意见切换,算是一个对小白用户的一个小惊喜吧。

四、OLAP计算分析

从OLAP多维能力角度来看,两个工具都支持用户进行钻取、联动、切片、切块等分析操作,但是对于预览状态下的维度旋转分析,Tableau只能在仪表板编辑状态下实现。

计算分析能力方面两个工具都支持用户进行排名、排序、过滤、同比、环比、方差、标准差、中位数等快速计算操作,但是在一些高级计算例如移动平均、四分位等分析计算场景,Tableau拥有者更加强大的计算分析能力。

另外Tableau在一些需要进行高级计算的场景下,还支持与Matlab进行集成计算,使用 MATLAB 预处理数据,并将该数据保存到 Tableau 数据提取中以便进一步分析。

OLAP计算分析总结:

总体来看,Tableau前端的一些更为专业和高级计算分析能力更加强大,不过FineBI由于提供了自助数据集供分析用户进行数据处理使用,通常情况下的数据分析计算场景其实也是都能满足的。

五、数据挖掘分析

Tableau目前在数据挖掘内置时序分析预测、聚类算法,可进行简单数据挖掘计算处理(类似分类、关联分析、逻辑回归等算法则是没有的),同时也支持与R语言和Python集成以进行深度的数据挖掘分析。

FineBI的数据挖掘分析模块中除了内置了时序预测、聚类、分类、回归、关联规则五大成熟的模型算法之外,还支持用户进行自定义级别的R语言集成使用。

可以直接可视化数据挖掘。比如说预测未来的销售额,用户群分类,建立商品关联销售模型。

数据挖掘能力总结:

Tableau目前在数据挖掘领域做的相对比较简单,只是内置了预测和聚类两个挖掘分析算法,也许是目前没有大的计划在数据挖掘领域长期发展。FineBI在内置的数据挖掘算法方面相对比较丰富一些,除了预测和聚类之外,还支持分类、回归、关联规则等五大数据挖掘模型算法,官网也有显示说明未来会在数据挖掘领域深入发展,作为不会数据挖掘的小白,期待ing。

但是在挖掘语言集成方面,Tableau目前除了支持R语言(FineBI仅支持R语言集成)之外,还支持与Python语言的集成。

六、集成应用

在WEB集成应用方面,FineBI和Tableau两款产品都可以很方便的进行Iframe网页集成,但是FineBI提供的例如单点登录等WEB接口可以更加方便地进行和例如泛微、用友等业务系统门户进行集成,除此之外还支持与CAS等系统进行深度无缝集成应用。

在移动集成应用中,FineBI支持微信集成和钉钉集成,给当今便捷式社交平台的数据分析查看带来了较大的便利,还支持app移动查看模式等等,这方面的应用Tableau并不支持。

集成应用总结:

集成应用方面,不用多说,FineBI全方位支持。毕竟国内厂商,本土化应用会做得强些,更贴近“国情”。

七、数据权限管控

数据的权限管控能力方面,Tableau支持将做好的内容打包发布为工作簿和数据源并且进行指定用户组分配查看权限,同时由管理员可通过筛选器进行用户组的行级别权限分配,但是无法控制用户查看的列级别的权限粒度。

FineBI具有很完善的数据权限管控能力,除了提供仪表板的权限分配之外,还能够针对不同部门/岗位/角色的人员进行行/列级别的数据权限管控,使得不同的人能够根据权限限制而只能看到自己的部分数据。另外在针对企业集团数据权限管控方面,FineBI提供了强大的多级管控权限供用户进行多层权限分配,为集团性企业的数据权限管控提供了保障。

数据管控能力总结:

数据权限管控能力FineBI是有压倒性的优势的,本身也是企业级应用BI出身,Tableau稍有不足,本质上还是产品定位的区别(Tableau更加适合个人数据分析师用户作为数据可视化工具使用)。

八、学习与技术服务

Tableau本身是一款非常成熟的全球化商业软件,拥有着非常强大的数据可视化分析功能。学习资料方面,官网也有很多学习文档、案例、视频等资源供用户进行上手学习。相较而言,Tableau产品学习曲线相对要陡峭一些,因为更加适合有专业数据技术能力的数据分析师使用。国内主要是代理商提供项目实施和技术服务,本土化稍微弱一些。

FineBI由于是国内帆软的BI分析平台提供商,所以不论是基础的学习文档还是教学视频资料都比较丰富,另外还有着非常活跃的帆软中文社区供所有用户进行学习交流。技术服务方面,尤其是对于企业级别的用户,还会有专业的技术服务团队响应服务,在国内本土化服务做得相当不错。

从仪表板(Dashboard)设计习惯上来说,虽然目前Tableau也有Server版,但是由于部分功能在WEB端缺失,另外使用流畅度和开发也会打些折扣,所以Tableau通常是使用Tableau Desktop来进行开发的,相当于需要单独安装一个C/S的设计器来进行开发。FineBI由于是天然的纯B/S架构,这方面做数据仪表板开发起来更加方便一些,直接在WEB端即可流畅地进行开发。

FineBI 5.0

  1. 下载地址:www.finebi.com
  2. 视频课程:FineBI 5.0基础入门学习

Tableau

  1. 下载地址:www.tableau.com/zh-cn
  2. 视频课程:Tableau 培训与教程

以上,都建议下载最新版!

以上是关于PowerBI 致敬 Tableau 10大表计算的主要内容,如果未能解决你的问题,请参考以下文章

Tableau与Powerbi比较

现在市场上有PowerBi或者Tableau可以做很好的图表,那还有人用Python来制作可视化图表吗?有啥优点?

BI分析工具深度测评:FineBI vs Tableau

powerbi工具都有哪些

主流bi工具都有哪些呢?

Tableau Desktop 企业日常问题 32Tableau 如何在计算中创建换行符的秘诀?&CHAR(10)