在网易有数中,我们的目标是使数据分析成为一种愉快的行为。
个人认为一款优秀的数据分析工具应该是能够做到:当用户在使用它做数据分析的时候,已经忘记了工具的存在,而是能够集中关注于发现数据背后揭示的故事。这个可以叫做experience flow,是一种沉浸在数据分析中的喜悦状态。
同时,你一定遇到过这样的情况:有时,你遇到了一个问题,其实是很容易描述清楚的,但当你试图在网易有数中展示并回答,会发现它竟是很难的。此时,刚才提到的experience flow,就没有了感觉,你需要开始思考如何重新处理数据,此时你的分析思路会打断,而不是集中在问题和答案。对于业务分析师来说,这是郁闷的,他们遇到了困境却不知道如何着手。
如上这些问题的核心是:
数据,需要可以自由汇总到不同的粒度,并且不同粒度的数据能够在一张表里进行展现。
这么说比较抽象,我们来举一个具体的电商场景的例子
某家电商成立于2013年,有一天数据分析师在利用网易有数做数据分析,首先她想看一下每年销售额的增长情况,于是在有数中,很容易做出了如下的柱状图。她很满意,销售额一直在增长。
![](https://i-blog.csdnimg.cn/blog_migrate/c30c82f1b8628d4c1614fe6b4ce2889b.jpeg)
此时,她的脑海中出现了新的想法,她想看一下"每年的销售额究竟都是由哪一年的客户贡献的?"
首先我们来分析一下她的问题,什么叫“由哪一年的客户贡献的”?
于是她先在有数中做一个简单的表格,把“客户名称","订单ID","订单日期"放入Y轴,得到如下图表。可以看到,丁君这个客户一共买过4个订单,最早的购买日期是"2013-03-01",那我们就可以认为丁君这个客户是2013年的客户。所以我们就其实就是要在有数中计算出每个客户首次购买时间,这样我们就能知道该客户是哪一年的客户了
![](https://i-blog.csdnimg.cn/blog_migrate/d014872bc92e22f01ae5dc8154d774b3.jpeg)
现在,我们的目标就是计算出“每个客户的首次购买时间”。
怎么做,是不是脑海中浮现出的第一个想法是 min([订单日期]),恭喜你,已经成功了一半了
首先我们创建一个计算度量,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/51591a1b9c744e1c83e125c9d5900f80.jpeg)
然后把这个字段加到图上,却发现,并不是我们期待的效果。“订单日期”和“最早购买日期”这两列的数据完全一样。为什么会这样?这就涉及到了图表聚合粒度的问题,这块内容我会在后续其他文章中详细阐述。
这里我想说的是,当前图表中有“客户名称”,“订单ID”,“订单日期”,这些维度字段都会确定图表的聚合粒度,所以min([订单日期]),这个聚合方式是会收到当前图表粒度影响的。所以才会一模一样。
![](https://i-blog.csdnimg.cn/blog_migrate/bd296a6aaaf365b8b9b74fd121027520.jpeg)
所以,我们现在需要有一种方式,能够指定这个日期的聚合粒度(维度),且不受图表上的粒度所影响。
网易有数在这个版本中加入了重磅功能:跨视图粒度计算表达式(Cross Level Calculation),下文简称CLC。
CLC,一共有三种形式,INCLUDE,EXCLUDE,FIXED,后边我们一点点来揭开他们。
在当前的例子中,我们会需要用到FIXED表达式,他们的格式看起来像这样:
![](https://i-blog.csdnimg.cn/blog_migrate/3cf4c51345a09c3f07c52dde17d40499.jpeg)
注意,蓝色部分看着熟悉吧,就是刚才那个基本的数据聚合公式----最小值。红色的部分是一个新的容器,它告诉网易有数在执行蓝色部分求最小日期的时候,在哪个数据粒度进行计算,如在FIXED公式中,就是告诉网易有数,仅仅在“客户名称”这个粒度,对订单日期求最小,不考虑任何其他的粒度,也就是不考虑当前图表上的粒度。
于是我们创建了一个计算维度,如下写了FIXED表达式
![](https://i-blog.csdnimg.cn/blog_migrate/665aa7c17f1799935a1cbea9323d0e01.jpeg)
此时,再把“每个客户首次购买时间”,拖入图表,这下就对了,这个字段不会受到图表上的粒度影响。
![](https://i-blog.csdnimg.cn/blog_migrate/9f499bbebf857c52ef169ac49fda912f.jpeg)
ok,现在万事俱备了,现在只需要将“每个客户首次购买时间”放到颜色栏,就能区分出每一年的销售额里面,有多少是2013年的客户,有多少是2014年的客户,...贡献的
比如,可以从下图可以看到:
1、2013年是这个电商的第一年,那所有的销售额肯定是当年客户贡献的
2、2014年的销售额中,有224.3万是2013年客户贡献的,有116.8万是2014年客户贡献的
![](https://i-blog.csdnimg.cn/blog_migrate/8cfcc9bfa63921b2cde509d48baef577.jpeg)
如果不想看绝对值,可以将图表改成堆叠百分比柱状图。这样就能看到每年销售额里面,各个年份的客户的贡献百分比。
这样就能看出问题了:
这家电商虽然销售额逐年上升,但是新客的贡献率越来越低
2014年的销售额里面,新客的贡献率只有34.24%
2015年的销售额里面,新客的贡献率降到了9.31%
2016年的销售额里面,新客贡献率更低了
![](https://i-blog.csdnimg.cn/blog_migrate/c38fc743c8412651c74d83dc52b6e4b4.jpeg)
网易有数:企业级大数据可视化分析平台。面向业务人员的自助式敏捷分析平台,采用PPT模式的报告制作,更加易学易用,具备强大的探索分析功能,真正帮助用户洞察数据发现价值。可点击这里免费试用。
了解 网易云 :
网易云官网:https://www.163yun.com/
新用户大礼包:https://www.163yun.com/gift
网易云社区:https://sq.163yun.com/