数据可视化技能的进阶路线:SQL+BI+Echarts

2019-01-09 14:14

数据可视化技能的进阶路线:SQL+BI+Echarts



  “数据可视化” 是一种使用技术手段表达数据结果的一种方式,但是大部分数据可视化=各种图表,这是十分外行的想法。

  数据可视化是一个需要理解业务需求、数据结构、数据交互原理、数据表达逻辑以及考察审美的复杂工作。

  数据可视化一般是整个数据分析链路的最后一个环节。在数据可视化之前,我们需要对原始数据进行大量的整理和清洗处理,这一环节首选数据库SQL,数据处理之后才是分析和可视化。数据可视化有两个方向很值得去尝试:商业智能BI与动态交互图表。

  所以,这里推荐一个数据可视化技能的进阶路线:SQL+BI+Echarts

数据可视化技能的进阶路线:SQL+BI+Echarts

  接下来以分析一个电商销售数据的实操案例,来演示如何用SQL、BI商业智和Echarts制作数据可视化。

  首先,互联网公司每天都需要处理大量数据,这些数据不可能都存储在某个人的PC上。在这种情况下,一般用数据库来存储数据,数据都在数据库里,SQL又是数据库语言,所以当然必备了。

  其次,Excel对十万条以内的数据处理起来一点不虚,但是资深的数据分析师还是笑摸狗头,Too Young Too Sample,爷搞得都是百万数据。要百万数据,就得上数据库。

  SQL是数据分析师的核心技能之一。有些公司并不给数据库权限,需要分析师写邮件提需求,这非常不好。数据分析师经常有各类假设需要验证,很多时候写十几行SQL就能得到的答案,还得麻烦其他部门导出数据。

  在数据可视化之前,我们需要对数据进行大量的处理工作,以“某电商订单”为例。其数据量为37000+,包括7个原始字段:

数据可视化技能的进阶路线:SQL+BI+Echarts

  下图演示的是使用最强大的开源数据库PostgreSQL处理数据的流程,当然MySQL也用的很多:

数据可视化技能的进阶路线:SQL+BI+Echarts

  以上数据整理工作也可以在excel中完成,步骤包括:数据筛选、数据透视、Vlookup连接数据等。但是由于数据量较大,期间你有可能面临灰屏、死机、程序跳出未保存等各种风险。总结来说,在企业级的数据量处理中,excel是不行的。一般10W以上的数据量都要借助数据库。

  对于SQL(数据库语言),处理几万条乃至更大体量的数据,效率都是非常高,并且SQL语言应该是最容易理解的语言了。

  回到可视化,SQL作为数据可视化工作的第一步,完成了数据管理及清洗工作。

  接下来我们来看看另外两条路:用商业智能BI做数据商业价值挖掘,或者用交互式图表表达数据内容。

  亦或是一名财务数据分析师:关注企业资产负债率、现金流动负债率、应收款项周转率、应收款项周转率。

  你都经常要做一件事——向你的同事、老板、甲方表达你的研究成果,并且用数据、图表、表格来展示。那这个时候商业智能BI是最好的选择。

  商业智能BI是目前各大公司常用的数据工作和数据可视化平台。它可以将数据进行快速准确的整合,计算,并提供出结果图表及决策依据,辅助决策。

  而对于BI,目前最主流的工具平台有Tableau、PowerBI、FineBI,成熟商用的有Tableau、Qlik、FineBI。这里推荐的FineBI,部署速度快,可视化库丰富,能支持R/Python/等,还有一些数据挖掘模型。商用性价比高于其他,能对接各类大数据平台方案。关键个人版免费,不限功能,且均支持WIN、OS和Lunix系统。

数据可视化技能的进阶路线:SQL+BI+Echarts

  接着上面的“电商销售数据案例”,该数据在清洗后,一共有21个品牌4398个商品,那么如果想了解不同品牌的销售情况,如“最大打折力度”、“销售相关KPI指数”),可以通过FineBI来创建以下仪表盘:

  BI可以解决大部分可视化分析需求,但它始终是既定好的图表,只能优化组合,无法自由创作。数据可视化作为一种表达艺术,自然有更自由更专业的工具和方式,比如用Echarts制作复杂交互图表!

  复杂交互图表是一种蕴含更大体量数据及更复杂数据结构的可视化,可以使读者和可视化图表之间有更好的互动。其形式包括地理空间可视化、层次关系网络可视化、基于时间的多图表可视化等等。

数据可视化技能的进阶路线:SQL+BI+Echarts

  使用Echarts的工作流可以简单概括为:使用SQL将数据处理成合适的格式(这个格式称为JSON),再读懂echarts图表中的JS参数,修改对应参数并加载JSON数据,实现可视化效果。

  还是以电商销售数据为例,我们通过修改现有案例的参数来绘制一个交互式图表:

数据可视化技能的进阶路线:SQL+BI+Echarts

  最终的图表内容中,横坐标是双十一前后10天的日期节点,我们选择了三个品牌来展示不同商品的价格变化趋势,通过图表互动,也可以看到三个品牌在双十一期的打折率、价格和营销策略的区别:

  打折思路:双十一当天最低价,之后涨价但少于双十一前价格妮维雅产品价格区间主要在100-200元之间;相宜本草产品价格区80-400之间;自然堂产品价格区间较分散看到这儿,可能很多小伙伴儿会有疑问,以上的两种可视化途径,优劣势如何,上手难度又怎样?

  其实,上面的工具都很好学,SQL是一种数据库语言,前面说过了必须掌握,可视化FineBI基本就是拖拽操作,上手非常简单,除了复杂的数据处理工作需要写公式来新增数据字段,条件语句。Echarts需要掌握一点JS语句,熟练了也很容易上手,复杂的需求就不评价了。

  应对大部分业务场景的可视化分析,FineBI就足够了,自身可视化效果也有数十种,多了也未必会用。毕竟用起来最简单。

  专业的可视化,比如新闻可视化,科学研究,海量数据洞察等,结合Echarts使用的较多,因为开源,而且可以随意个性化自定义。