Tableau 实战案例:企业经营分析看板

Posted by YEY on July 30, 2021

1. 案例背景

1.1 背景介绍

某在线职业教育公司,目前开设有大数据、软件开发、设计、Python四大学院,主打数据分析、 大数据开发、大前端、java工程师、UI设计、PS、Python数据挖掘等课程,覆盖当今互联网企业多个主流热门岗位的职业培训。

该公司是通过 “站内 + 站外广告投放” 的形式获取对课程有需求的潜在学员线索,然后统一由销售顾问团队跟进线索,逐步引导线索学员对体验课进行试听,实现第一步转化,之后再对有大课需求的试听学员做进一步的转化,让其购买平台内的综合大课,成为平台正式学员。

随着该公司业务规模不断壮大,CEO每天都需要看各部门(市场部、教学部、运营部、产品部、研发部……)几十甚至上百张报表才能掌握公司的日常经营情况,占用了他大量时间,而且数据分析人员每天都需要拉数据、做报表,效率非常低,为了解决公司这个问题,数据分析团队搭建了一套BI智能分析的看板,通过该看板能实时掌握公司整体以及各部门的经营现状,能够随时发现、定位问题并及时采取策略进行调整。

三个核心环节:获客 + 试听 + 大课转化

相关技术应用:数据分析思维和方法论 + MySQL + Tableau

目标成果展示:

其中:

  • 板块 1:本月业绩目标达成情况。例如这里本月以 100.42% 的业绩超额达成目标。
  • 板块 2:课程业绩排名。反映了哪些课程对公司的业绩贡献比较大。
  • 板块 3:课程分类。通过月环比增长率和每月目标达成率这两个指标将课程分为 4 个象限:右上角表示当月达成率超过 100% 并且月环比为正增长,说明位于该象限的都是优质课程;左上角表示当月达成率低于 100%(没有达成既定目标)但是月环比为正增长,说明下个月这些课程需要更加努力完成既定目标;左下角表示相比上月呈现环比下降趋势,并且也没有达成目标,说明这些课程质量较低,需要进行课程改革;右下角表示课业绩程已经达到目标,但是月环比为负增长,说明我们对其目标定的有点低,下个月可以将目标适当调高。

  • 板块 4:看板的 核心 内容:成单量对应大课转化环节;新增试听用户对应试听环节;新增用户数对应获客环节。

  • 板块 5:本月业绩走势。反映了每天的业绩波动情况,如果出现波动剧烈的情况,我们就可以及时采取相应的干预措施。
  • 板块 6:付费用户地域分布。可以看出客户主要分布在哪些地区。
  • 板块 7:新增用户渠道来源。反映各渠道对于新增用户的贡献占比,例如这里百度、微信公众号和头条是对线索贡献最大的三个渠道。
  • 板块 8:各渠道试听率。我们不仅关心各渠道获得的线索量,同时也关系这些线索的质量,而质量则是通过这些线索的后续行为反映,例如后续试听率和转化率。
  • 板块 9:各环节转化情况。转化漏斗:新增 $\Longrightarrow$ 试听 $\Longrightarrow$ 付费。

注意:这里不仅是 CEO 需要每天关注该看板,其他部门同样需要关注该看板的数据。例如:业务部门需要重点关注板块 1(业绩目标达成情况)和板块 5(本月业绩走势);教研部门则需要重点关注板块 2(课程业绩排名)和板块 3(课程分类);市场运营部门需要重点关注板块 7、8、9(新增用户渠道来源、各渠道试听率、各环节转化情况);产品部门则需要重点关注板块 4和板块 6(新增用户情况)。

1.2 主要工作流程

工作流程主要分为 5 个步骤:

  1. 分析老板需求:老板主要存在两方面需求:掌握公司经营情况;避免查看大量报表(会花费过多时间)。因此我们需要搭建一个经营分析看板。
  2. 确定看板指标:接下来,我们需要确定将哪些指标放进看板中。例如,新增用户、新增试听用户、成单量都是比较核心的数据指标。
  3. 提取并连接数据源:根据确定的看板指标,从 MySQL 数据库中提取数据,然后连接到 BI 软件 Tableau。
  4. 制作并设计看板:通过 Tableau 对数据指标进行可视化展示,并设计制作数据看板。
  5. 发布共享看板:将成果发布出来,共享给老板和各部门同事。

2. 分析老板需求

这里,我们采用常见的 5W2H 分析法 来对老板的需求进行分析:

3. 确定指标

3.1 梳理在线教育公司业务流

在分析完老板的需求之后,接下来我们就需要确定看板上展示哪些指标和内容。为此,我们首先需要梳理一下公司的业务流,根据业务流,我们才能具体确定在每个业务环节需要采用哪些主要的数据指标。

本案例中的在线教育公司的业务流:

在线教育业务模式包含三个主要环节:

  • 获客:获取线索量。主要有两种方式:
    • 站内广告:在自己的 App 产品内投放站内广告。
    • 站外投放:百度搜索、微信公众号、头条、知乎、抖音等。
  • 试听:对线索量进行追踪,引导他们去进行试听。

    当客户看到我们的投放广告后,如果感兴趣就可以通过点击跳转到我们的产品落地页上,里面包含了详细的课程介绍。有些用户看完课程介绍后可能会非常感兴趣并且直接报名大课。另外一些用户可能想先体验一下小课,如果感觉不错可能就会直接报名大课。另外一些用户可能会反复试听一些不同类型的小课,然后可能会再报名大课。

  • 转化:试听之后,我们还需要做进一步的付费转化。

    在报名大课的用户群体当中,有些用户可能会觉得课程内容不错,然后推荐给其他潜在客户来报名大课,从而形成口碑。或者,可能后面有其他需求时,会选择复购其他大课。

在了解了业务模式之后,我们就可以更加清晰地确定看板数据指标了。

3.2 确定数据指标

4. 提取并连接数据源

4.1 数据源表结构和 ER 图

在提取数据之前,我们先到数据库中看一下数据源的情况:

这里我们主要用到了 3 张表:

  • dw_kpi:第一张是 KPI 表,包含 3 个字段:

    • course:课程名称(主键)
    • college:课程所属学院
    • kpi:课程月度目标

    其中,course 为主键,同时作为表 dw_order 中的外键在两表之间建立了一个连接关系。

  • dw_order:第二张是订单表,包含 7 个字段:

    • order_id:订单 ID(主键)
    • user_id:用户 ID
    • college:课程所属学院
    • course:课程名称
    • area:用户所在地区
    • pay_dt:订单支付日期
    • money:订单支付金额
  • dw_user:第三张是用户表,包含 5 个字段:

    • register_dt:用户注册日期(即用户新增的日期)
    • channel:新增用户的渠道来源
    • new_user:当天新增用户数
    • listen_user:当天试听用户数
    • apply_user:当天报名用户数

4.2 搭建数据源

4.2.1 创建在线教育数据库

打开 Navicat,新建一个 MySQL 连接:

创建数据库 online_edu

1
CREATE DATABASE online_edu;

4.2.2 业绩目标表 dw_kpi

创建业绩目标表 dw_kpi

1
2
3
4
5
6
7
8
USE online_edu;
DROP TABLE IF EXISTS dw_kpi;

CREATE TABLE dw_kpi(
  course VARCHAR(10) PRIMARY KEY,
  college VARCHAR(10),
  kpi INT
);

导入数据:

1
2
3
4
5
6
7
INSERT INTO dw_kpi VALUES ('Python数据挖掘','Python学院',500000);
INSERT INTO dw_kpi VALUES ('大数据开发','大数据学院',9000000);
INSERT INTO dw_kpi VALUES ('数据分析','大数据学院',9000000);
INSERT INTO dw_kpi VALUES ('java工程师','软件开发学院',8000000);
INSERT INTO dw_kpi VALUES ('大前端','软件开发学院',2000000);
INSERT INTO dw_kpi VALUES ('PS','设计学院',800000);
INSERT INTO dw_kpi VALUES ('UI设计','设计学院',800000);

预览数据:

1
SELECT * FROM dw_kpi LIMIT 10;

4.2.3 订单记录表 dw_order

创建订单记录表 dw_order

1
2
3
4
5
6
7
8
9
10
11
12
13
USE online_edu;
DROP TABLE IF EXISTS dw_order;

CREATE TABLE dw_order(
  order_id VARCHAR(10) PRIMARY KEY,
  user_id VARCHAR(10),
  college VARCHAR(10),
  course VARCHAR(10),
  area VARCHAR(6),
  pay_dt DATE, 
  money DOUBLE,
  CONSTRAINT emp_course FOREIGN KEY(course) REFERENCES dw_kpi(course)
);

导入数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
INSERT INTO dw_order VALUES ('D000001','u000001','软件开发学院','java工程师','沈阳','2020-09-01',2900);
INSERT INTO dw_order VALUES ('D000002','u000002','大数据学院','大数据开发','合肥','2020-09-01',2900);
INSERT INTO dw_order VALUES ('D000003','u000003','大数据学院','数据分析','合肥','2020-09-01',4200);
INSERT INTO dw_order VALUES ('D000004','u000004','大数据学院','大数据开发','大连','2020-09-01',4400);
INSERT INTO dw_order VALUES ('D000005','u000005','软件开发学院','java工程师','沈阳','2020-09-01',3400);
INSERT INTO dw_order VALUES ('D000006','u000006','软件开发学院','java工程师','南昌','2020-09-01',3900);
INSERT INTO dw_order VALUES ('D000007','u000007','软件开发学院','java工程师','沈阳','2020-09-01',3400);
INSERT INTO dw_order VALUES ('D000008','u000008','软件开发学院','java工程师','西安','2020-09-01',3900);
INSERT INTO dw_order VALUES ('D000009','u000009','设计学院','UI设计','合肥','2020-09-01',2700);
INSERT INTO dw_order VALUES ('D000010','u000010','软件开发学院','java工程师','沈阳','2020-09-01',3400);
INSERT INTO dw_order VALUES ('D000011','u000011','大数据学院','数据分析','合肥','2020-09-01',2500);
INSERT INTO dw_order VALUES ('D000012','u000012','软件开发学院','java工程师','西安','2020-09-01',2900);
...

预览数据:

1
SELECT * FROM dw_order LIMIT 10;

4.2.4 用户表 dw_user

创建用户表 dw_user

1
2
3
4
5
6
7
8
9
10
USE online_edu;
DROP TABLE IF EXISTS dw_user;

CREATE TABLE dw_user(
  register_dt DATE,
  channel VARCHAR(10),
  new_user INT,
  listen_user INT,
  apply_user INT
);

导入数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
INSERT INTO dw_user VALUES ('2020-10-01','百度',1615,985,30);
INSERT INTO dw_user VALUES ('2020-10-01','微信公众号',1411,975,33);
INSERT INTO dw_user VALUES ('2020-10-01','头条',1349,1055,40);
INSERT INTO dw_user VALUES ('2020-10-01','知乎',971,809,33);
INSERT INTO dw_user VALUES ('2020-10-01','合作渠道1',630,538,22);
INSERT INTO dw_user VALUES ('2020-10-01','合作渠道2',466,407,17);
INSERT INTO dw_user VALUES ('2020-10-01','抖音',400,253,7);
INSERT INTO dw_user VALUES ('2020-10-01','快手',219,120,3);
INSERT INTO dw_user VALUES ('2020-10-01','搜狗',84,42,1);
INSERT INTO dw_user VALUES ('2020-10-02','百度',2033,1252,38);
INSERT INTO dw_user VALUES ('2020-10-02','微信公众号',1688,1170,40);
INSERT INTO dw_user VALUES ('2020-10-02','头条',1520,1169,45);
...

预览数据:

1
SELECT * FROM dw_user LIMIT 10;

4.3 将数据源连接到 Tableau

4.3.1 连接服务器

4.3.2 连接数据库 online_edu

4.3.3 SQL 测试

使用 Tableau 中的自定义 SQL 功能查询 9 月份的所有订单记录:

1
2
3
SELECT *
FROM dw_order
WHERE pay_dt >= '2020-09-01' AND pay_dt <= '2020-09-30'

5. 制作并设计看板

5.1 图表绘制

5.1.1 成单量

关键操作步骤:

  1. 计算每月新增订单量:数据源选择 dw_order 表,在工作表中将 Pay DtOrder Id 两个字段分别拖到列、行功能区。将 Pay Dt 展开到 “月”(并移除 “年” 和 “季度”),将 Order Id 的 “度量” 选择 “计数(不同)”。
  2. 计算新增订单量月环比增速:将行功能区的 Order Id 字段复制一份(按住 ⌘/Ctrl 键拖拽一次),在 “快速表计算” 中选择 “百分比差异”,在右上角 “智能推荐” 中将图表类型选为文本表。
  3. 添加标识符并调整颜色:在左侧标记面板的下拉菜单中选择 “形状”,选择 “$\blacktriangle$​​​​”。按住 ⌘/Ctrl 键将左侧度量值面板中的 计数(不同)(Order Id) △ 字段拖拽到标记面板中的 “颜色”。在右侧图例栏中选择 “编辑颜色”,在 “色板” 下拉菜单中选择 “自定义发散”,勾选 “渐变颜色”,阶数设为 2,左边设为绿色,右边设为红色;然后在 “高级” 选项中勾选 “开始”、“结束”、“中心”,并分别设为 -100、100、0。
  4. 展示调整:由于没有八月份的数据,因此九月份的月环比增速数据为空,因此我们选中九月份的数据,右击 “隐藏”。另外,这里我们不希望显示标题,因此选中十月份数据,右击取消勾选 “显示标题”。另外,在数据名称上右击 “编辑别名”,将展示数据重命名为 “本月累计” 和 “环比上月”。最后,将工作表重命名为 “成单量”。

结果展示:

5.1.2 新增试听用户数

关键操作步骤:

  1. 新建数据源:由于用户信息在 dw_user 表中,所以我们需要再新建一个数据源。点击顶部菜单栏中的 “数据”,选择 “新建数据源”,选择 MySQL,连接 online_edu 数据库,将 dw_user 表添加到画布区,然后新建一个工作表,在左侧数据区可以看到 dw_user 表已经被添加进来了。
  2. 计算新增试听用户数:Register DtListen User 两个字段分别拖到列、行功能区。和之前一样,我们将注册日期 Register Dt 下钻到 “月”。
  3. 计算新增试听用户数月环比增速:和之前一样,将行功能区的 Listen User 字段复制一份,在 “快速表计算” 中选择 “百分比差异”,图表类型选择文本表。
  4. 添加标识符并调整颜色:和之前一样,在标记卡中添加 “形状”,选择 “$\blacktriangle$”。将上面的环比增速字段 总和(Listen User) △ 拖到 “颜色”,和之前一样,编辑颜色,红色表示正数,绿色表示负数。
  5. 展示调整:和之前一样,隐藏九月份的数据,并取消勾选 “显示标题”。将展示数据重命名为 “试听用户数” 和 “环比上月”。最后,将工作表重命名为 “新增试听用户”。

结果展示:

5.1.3 新增用户数

关键操作步骤:

  1. 计算新增用户数:同样,数据源选择 dw_user 表。将 Register DtNew User 两个字段分别拖到列、行功能区,并将注册日期 Register Dt 下钻到 “月”。
  2. 计算新增用户数月环比增速:和之前一样,将行功能区的 New User 字段复制一份,在 “快速表计算” 中选择 “百分比差异”,图表类型选择文本表。
  3. 添加标识符并调整颜色:和之前一样,在标记卡中添加 “形状”,选择实心三角形 “$\blacktriangle$​”。将上面的环比增速字段 总和(New User) △ 拖到 “颜色”,和之前一样,编辑颜色,红色表示正数,绿色表示负数。
  4. 展示调整:和之前一样,隐藏九月份的数据,并取消勾选 “显示标题”。将展示数据重命名为 “本月累计 ” 和 “环比上月 ”(注意,由于之前 “新增试听用户数” 工作表的数据同样来自 dw_user 表,且已经在重命名时使用过这两个别名,所以这里我们在重命名时末尾加上一个空格防止命名冲突)。最后,将工作表重命名为 “新增用户数”。

结果展示:

5.1.4 本月业绩目标达成情况(靶心图)

关键操作步骤:

  1. 编辑数据混合关系:这里靶心图涉及 dw_orderdw_kpi 两张表,我们需要添加数据混合关系。首先,通过顶部菜单栏中的 “数据”,选择 “新建数据源”,将 dw_order 表和 dw_kpi 表添加进来。然后,点击顶部菜单栏 “数据”,选择 “编辑混合关系”,主数据源为 dw_order 表,辅助数据源为 dw_kpi 表,通过 CollegeCourse 字段确定数据混合关系。

  2. 绘制靶心图:dw_order 表中的 Money 字段拖进列功能区中。然后,在 dw_kpi 表中,点击 CollegeCourse 字段后面的链接图标,启用数据混合关系。然后将 Kpi 字段拖进列功能区,图表类型选择靶心图。此时,图中的水平条为目标数据,参考线为业绩数据。因此我们选中坐标轴,右击菜单中选择 “交换参考线字段”,令水平条显示为业绩数据,参考线显示为目标数据。

  3. 筛选数据:由于这里的 kpi 目标是十月份的,而业绩数据是九月份和十月份的总和,因此需要将十月份的数据单独筛选出来。将 dw_order 表中的 Pay Dt 字段拖到 “筛选器” 中,选择 “年/月”,在 “从列表中选择” 下勾选 “2020年10月”,点击 “确定”。

  4. 计算目标达成率:在左侧数据区域下拉菜单中选择 “创建计算字段”,新建一个计算字段 “业绩目标达成率” :

    1
    
    SUM([Money]) / SUM([dw_kpi (online_edu)].[Kpi])
    

    将创建的 业绩目标达成率 拖到标记卡区域中的 “标签” 上,然后在标签 聚合(业绩目标达成率) 下拉菜单中点击 “设置格式”,在默认值的 “数字” 下面选择 “百分比”,保留 2 位小数。最后,将工作表重命名为 “本月业绩目标达成情况”。

结果展示:

5.1.5 本月业绩走势(折线图)

关键操作步骤:

  1. 绘制折线图:选择 dw_order 表作为数据源,将 Pay DtMoney 两个字段分别拖到列、行功能区中,选择折线图。
  2. 筛选数据:和之前一样,将日期字段 Pay Dt 添加到 “筛选器” 中,日期范围选择 “年/月”,从列表中选择 “2020年10月”。将列功能区中的 年(Pay Dt) 字段下钻到 天(Pay Dt)。然后将业绩字段 Money 添加到标记卡中的 “标签”。
  3. 添加每日业绩目标参考线:我们还希望添加一个每日业绩目标参考线(例如,80万)。选中纵坐标轴 Money,右键 “添加参考线”,在 “线” 下面设置常量值 800000,线条格式设置红色虚线。最后,将工作表重命名为 “本月业绩走势”。

结果展示:

5.1.6 课程分类(散点图)

关键操作步骤:

  1. 计算月环比增速:我们希望在散点图中显示各课程的目标达成率和月环比增速,而目标达成率我们在之前已经计算得到了,现在我们还需要计算月环比增速。这里有一个小技巧,我们无需创建一个新的计算字段,也可以在图中显示月环比增速。首先,数据源选择 dw_order 表,将日期字段 Pay Dt 拖到列功能区中,并下钻到 “月”。然后,将业绩字段 Money 也拖到列功能区中,在字段下拉菜单的 “快速表计算” 中选择 “复合增长率”。图表类型选择文本表,可以看到十月份相较九月份的环比增速为 17.39%(由于缺少八月份数据,九月份的环比增速为 0.00%,我们将其隐藏掉)。
  2. 绘制散点图:将之前的计算字段 业绩目标达成率 拖到列功能区中,图表类型选择散点图。可以看到图示只有一个点,所以我们还需要按照课程进行解聚,将课程字段 Course 拖到标记卡中的 “颜色” 和 “标签” 上,可以看到不同课程的名称和颜色都已经显示在图上。
  3. 添加参考线:选中横坐标轴 “业绩目标达成率”,右键 “添加参考线”,选择 “线”,设定范围为 “每区”,常量值为 1(达成即大于等于 100%,未达成即小于 100%),线条格式选择虚线。同理,为纵坐标轴 “Money 中的差异%” 添加参考线,常量值为 0(正增长即大于 0,负增长即小于 0)。可以看到,整个散点图已经被分割为 4 个区域。
  4. 展示调整:选中纵坐标轴 “Money 中的差异%”,右键 “编辑轴”,范围选择 “固定”,“固定开始” 和 “固定结束” 分别设为 -0.35 和 0.35,轴标题改为 “月环比”。同理,将横坐标轴 “业绩目标达成率” 范围设定在 0.5 到 1.5 之间。将坐标轴格式设置为百分比形式。在标记卡中调整大小,“形状” 选择实心圆 “$\large \bullet$”,并按照数据点所在的不同区域调整颜色。最后,将工作表重命名为 “课程分类”。

结果展示:

5.1.7 课程业绩排名(水平条形图)

关键操作步骤:

  1. 绘制水平条形图:数据源选择 dw_order 表,将 CollegeCourse 字段拖到行功能区,将 Money 字段拖到列功能区,得到课程业绩的水平条形图。
  2. 展示调整:在行功能区的 College 字段下拉菜单中选择 “排序”,排序依据选择 “字段”,字段名称选择 “Money”,排序顺序为 “降序”。同理,再对 Course 字段进行排序。将 Money 字段拖到标记卡中的 “颜色” 和 “标签” 上。最后,将工作表重命名为 “课程业绩排名”。

结果展示:

5.1.8 新增用户渠道来源(环形图)

关键操作步骤:

  1. 创建环形图参数:数据源选择 dw_user 表,在左侧数据区下拉菜单中选择 “创建参数”,命名为 “环形图参数”,参数值设定为 1。
  2. 创建饼图:New User 字段拖到行功能区,Channel 字段拖到标记卡中的 “颜色” 上,图表类型选择饼图。将 环形图参数 拖到行功能区,然后在行功能区将该参数复制一份(按住 ⌘/Ctrl 键拖动一次),得到两个相同的饼图。
  3. 绘制圆环图:在行功能区第二个 环形图参数 下拉菜单中选择 “双轴”,然后选中图中右侧纵坐标轴,右键选择 “同步轴”,将两个饼图同心叠放。选中图中左侧纵坐标轴,右键选择 “编辑轴”,范围选择 “固定”,将 “固定开始” 和 “固定结束” 分别设为 0.9 和 1.1,实现饼图居中显示。 选中左侧纵坐标轴,右键取消勾选 “显示标题”,实现隐藏刻度。此时,左侧标记卡区域中有两个环形图参数项,先将第二个 环形图参数(2) 的所有字段信息都移除掉并将 “颜色” 设为白色,然后适当调整两个环形图参数项的大小,得到环形图。然后,将 ChannelNew User 字段拖到第一个 环形图参数 的 “标签” 上,单击 “标签” 在底部勾选 “允许标签覆盖其他标记”。最后,将工作表重命名为 “新增用户渠道来源”。

结果展示:

5.1.9 各环节转化情况(漏斗图)

关键操作步骤:

  1. 绘制漏斗图:数据源选择 dw_user 表,将日期字段 Register Dt 拖进筛选器,日期范围选择 “年/月”,从列表中选择 “2020年10月”。然后,将 New UserListen UserApply User 三个用户字段各复制一份(之前在其他工作表中已经对这些字段创建过别名,为了方便在图中重新编辑别名,我们这里将使用它们的副本),并将副本分别拖进行功能区。将图表类型设置为水平条形图,在行功能区的 度量名称 下拉列表中选择 “排序”,排序依据选择 “数据源顺序”,排序顺序选择 “降序”。然后选中横坐标轴,右键 “编辑轴”,比例项下面勾选 “倒序”,使水平条形图按照右对齐呈现。然后,将列功能区的 度量值 复制一份(按住 ⌘/Ctrl 键拖动),得到两个中心对称的水平条形图。
  2. 展示调整:点击左侧标记卡区域的 “标签”,勾选 “显示标记标签”。按住 ⌘/Ctrl 键,将列功能区的 度量值 拖到标记卡中的 “颜色”。将图中 New User(复制)Listen User(复制)Apply User(复制) 三个字段分别设置别名 新增用户试听用户付费用户。选中横坐标轴,右键取消勾选 “显示标题”。最后,将工作表重命名为 “各环节转化情况”。

结果展示:

5.1.10 各渠道试听率(水平条形图)

关键操作步骤:

  1. 创建试听率的计算字段:数据源选择 dw_user表,在左侧数据区域下拉菜单选择 “创建计算字段”,字段名称为 “试听率”:

    1
    
    SUM([Listen User]) / SUM([New User])
    
  2. 绘制水平条形图:将注册日期字段 Register Dt 添加到筛选器,日期范围选择 “年/月”,从列表中选择 “2020年10月”。将渠道字段 Channel 和计算字段 试听率 分别拖到行、列功能区,得到水平条形图。在纵坐标轴 Channel 下拉菜单 “字段” 中选择 “聚合(试听率)”,将数据按照试听率降序排列。

  3. 计算排名:将列功能区的 聚合(试听率) 复制一份。在第一个 聚合(试听率) 下拉菜单中选择 “离散”(将该度量转换成维度),然后在下拉菜单的 “快速表计算” 中选择 “排序”,“计算依据” 按照默认选择 “表(向下)”。然后,将该离散字段 聚合(试听率) △ 从列功能区拖到行功能区,得到包含试听率排名信息的水平条形图。当然,这里我们其实不需要显示试听率排名,所以我们可以将该字段 聚合(试听率) △ 从行功能区移除。

  4. 展示调整:选中横坐标轴,右键 “设置格式”,在 “轴” 的 “比例” 下将 “数字” 设置为 “百分比”,小数位数为 0。将列功能区中的 聚合(试听率) 拖到标记卡中的 “标签” 上,并将在下拉菜单中选择 “格式设置“,在 “区” 的 “默认值” 下将 “数字” 设置为 “百分比”,小数位数为 0。然后,将 聚合(试听率) 再次拖到标记卡中的 “颜色” 上。另外,为了更加明显地区分各渠道试听率数据,我们可以重新设置横坐标轴的显示范围,选中横坐标轴 “试听率”,右键 “编辑轴”,范围选择 “固定”,开始和结束分别设置为 0.4 和 1。最后,将工作表重命名为 “各渠道试听率”。

结果展示:

5.1.11 付费用户地域分布

关键操作步骤:

  1. 地理维度字段转换:数据源选择 dw_order 表,在左侧数据区中选择地区字段 Area,下拉菜单中选择 “地理角色” 中的 “城市”。
  2. 绘制地图:双击转换后的地理维度字段 Area(默认将 纬度(自动生成)经度(自动生成) 分别拖入行、列功能区),生成地图(注意匹配国家设置为 “中国”)。在顶部菜单栏 “地图” 下拉菜单中 “背景地图” 里选择 “普通”。在左侧标记卡中添加 “形状”,选择 “更多形状” 下的 “性别” 中的人形图标。将度量字段 dw_order(计数) 拖到标记卡中的 “颜色” 和 “标签” 上,同时将地理维度字段 Area 也拖到 “标签” 上。在右侧图例下拉菜单中选择 “编辑颜色”,在 “色板” 下拉菜单中选择 “自定义发散”,选择两端颜色。
  3. 筛选数据:将日期字段 Pay Dt 添加到 “筛选器” 中,日期范围选择 “年/月”,从列表中选择 “2020年10月”。最后,将工作表重命名为 “付费用户地域分布”。

结果展示:

5.2 布局设计

通常,目前主流显示器屏幕尺寸为 16:9,我们可以将它划分为 12(4 × 3)个区域。然后,具体内容排版通常遵循主要内容放在中心的原则。例如:

布局 1:

布局 2:

5.3 整合看板

关键操作步骤:

  1. 新建仪表板:通过底部菜单栏新建一个仪表板,并在左侧 “仪表板” 区域中的 “大小” 选项的下拉菜单中选择合适的尺寸(例如:1600 × 900)。
  2. 组合图表:将之前绘制的各工作表(图表)拖进工作区,在左侧 “布局” 区域中勾选 “浮动”。移除各图表的图例项。按照设计好的布局调整各图表的大小、位置。
  3. 添加背景图:在左侧 “仪表板” 区域中的 “对象” 窗口下,点击 “图像”,插入背景图(推荐具有科技感的深色背景图),选项勾选 “适合图像”。
  4. 展示调整:调整各图表的文字和背景颜色,以适应背景图。

最终结果展示:

6. 发布和共享看板

6.1 将看板发布到 Tableau Public

点击顶部菜单栏中的 “服务器”,在下拉菜单中的 “Tableau Public” 中选择 “保存到 Tableau Public”。在弹出的登录界面中输入 Tableau Public 的账户和密码,点击 “登录”,完成发布(需要先注册一个 Tableau Public 账户):

6.2 通过 Tableau Public 共享看板

将看板发布到 Tableau Public 后,在浏览器中登录到 Tableau Public 的个人主页下,即可看到刚才发布的看板文件:

点击查看:

点击右上角的 “Share” 图标,即可共享看板文件:

https://public.tableau.com/shared/D8G65WQBN?:display_count=n&:origin=viz_share_link

知识共享许可协议本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 欢迎转载,并请注明来自:YEY 的博客 同时保持文章内容的完整和以上声明信息!