第一次创建Tableau报表的经历

来到新公司后,领导布置的第二项工作任务是在公司的Tableau Server上建立一个反映业务宏观概况的仪表盘。

早就听说过Tableau这款图形化的BI工具,只是以前在互联网公司的业务团队,大家倾向于“自己动手,丰衣足食”,可视化BI的工具都是自己开发了,一直没有机会接触到这样业界常用的BI工具。前一段时间投简历时也看到很多公司的招聘要求里有使用Tableau的工具,所以也对使用这款工具有了足够的好奇心,这次终于有机会接触,决定好好研究一下。

目前部门在Tableau Server上有自己的项目,其中有36个不同的工作簿,大多是根据运营和技术人员的具体要求来定制开发的。领导的诉求是目前没有一个地方能够直观地看到业务的整体经营状况,此前一直没有人手来做这件事情,现在希望我能建立这样一个工具,也正好利用这个机会进一步熟悉业务流程和相关数据指标。

为了保证我能够理解他的需求,他专门抽了时间两次向我和其他的新同事说明了当前的业务流程,并描述了他所关注的若干指标,以便我们能够对相关的数据分析框架有所了解。

为了更好地了解现有的数据分析指标,我首先将Tableau Server上已有的36个工作簿进行了整理,记录下每个工作簿中的工作表、图形样式、使用指标。完成了这份档案,我对于部门常用的分析指标就更加熟悉了。

此外,还专门请负责策略分析的同事对业务流程做了更详细地说明,重点在于部分指标的计算公式和可能影响计算的业务关键点。

整理好了背景信息,就开始动手搭建Tableau使用环境。安装Tableau Desktop后,为了能够连接Hadoop,还需要额外安装Haddop odbc驱动。点击连接的Cloudera Hadoop数据源,输入公司服务器的地址和端口,选择Hive Server,传输使用SASL方式,输入个人的用户名和密码,就连接好了。

进入之后在架构中添加部门所在的数据库名称,就能够开始添加具体的表使用数据源了。如果能够确定要用到的数据比较小,后续筛选比较简单,可以直接输入数据表的名称,在Tableau中完成数据筛选。如果筛选过程比较复杂,数据表比较庞大,我觉得还是使用自定义SQL更好,这样后续的操作比较方便。

输入SQL之后,可以选择“实时”或“数据提取”方式获取数据。前者适用于数据比较小时,如果数据比较大,最好使用“数据提取”方式将数据下载到本地,这样后续操作时不用每次都连接到数据库进行查询,费时费力。

在动手搭建BI仪表之前,我先规划了要监测业务的哪些方面,用到哪些指标,构建哪种形式的图表。考虑到领导需要的是宏观层面的监测,因此将大方向定为数量和财务两个方向,前者主要涉及业务的数量指标,如销售量等,后者主要涉及销售收入、成本等财务指标。我决定一开始将指标尽可能多地包罗在这个框架里面,当然其中有一些维度和指标可能暂时没有办法获得准确的数字,或者需要进行校准,但是在第一期工作中列出来,有助于确定之后的工作方向,根据对业务的重要性进行选择。

由于对Tableau的性能不够熟悉,我决定一开始限定一下数据源需要采集的字段值,如限定产品类别。事实证明这一步还是很有必要的,由于当前处于同时摸索工具性能与操作,以及指标和数据库架构的过程中,对数据的筛选存在一些没有考虑到的地方,导致了数据提取时间过长。根据这一情况,对仪表所涉及的时间进行了限制,决定集中反映最近7天的数据,首先保证能够成功获取数据。

接下来就可以开始操作工作表了。时值中秋假期,我决定首先学习一下Tableau的操作,官方网站上虽然有比较详细的视频讲解,但是在使用时查阅起来并不方便,所以购买了美智讯编写的两本Tableau教材,利用假期和上下班的通勤时间完成了阅读,大致了解了操作的基本流程和设计套路,于是开始自己动手了。

因为前期的指标规划比较详细,因此具体搭建图表的过程还比较顺利,只是在绘制标靶图时,遇到了一点小困难,一下子无法按照需要添加参考线,很快通过复原使用的图表类型就得到了解决。一些需要衍生计算的字段,通过使用函数也都得到了解决。

完成工作表的搭建后,就开始搭建仪表盘了。这一部分相对而言就更为简单了,因为是第一次使用Tableau,我也没有打算修饰得过于复杂,直接拼在一起就可以了。稍微加的一点装饰是调整了一下图例的位置,把度量说明放在了每个工作表视图旁边,方便阅读。

然后就是发布上线的环节了,顺利连接到了公司的Tableau Server,确定好发布项目、名称、更新时间点后,顺利上线了。

向领导简单进行了展示后,领导提供了几点反馈意见,包括增加一个从门店平均水平进行观测的仪表盘,同时需要增加的包括两个数量和财务指标,以及产品类别,另外还希望对产品名称进行筛选,去除已经下架和最近无售卖的产品。

这些需求中的增加指标和产品类别,筛选产品名称都通过修改提取数据的SQL进行了实现。新增加的指标在Tableau中需要进行额外的聚合计算,这个并不复杂。比较难办的展示形式,经过仔细思考,一方面增加了一个工作表以容纳这些指标,另一方面通过首先在第二坐标轴上添加指标后隐藏,再增加参考线的方式,满足了利用标靶图展示的要求。为了更好地效果,还去掉了参考线的选择数据点时强调的设置,避免造成误解。

此外,由于产品类别和产品名称,以及城市和门店名称存在从属关系,还对筛选器进行了级联设置,保证了在上一级进行筛选后,下一级只出现相关值,方便了使用。

至于门店平均水平的仪表盘,决定放到下一期再进行开发。一方面是因为本次项目的时间所限,另一方面是对这个仪表盘需要重新设计,特别是有关指标需要全部重新计算,工作量也相对较大,决定和库存相关指标放到一起来实现。

最后在页面上增加了更新点的文字说明,调整了数据更新时间点(原来的设定时间比数据源的更新时间还早),随后再次发布上线,本次项目完成。待解决项,如门店平均水平仪表盘和库存指标,将在熟悉并修改库存相关指标后进行。

你可能感兴趣的:(第一次创建Tableau报表的经历)