如何用Tableau做象限分析(Quadrant Analysis)

如何用Tableau做象限分析(Quadrant Analysis)

如果你是数据科学生态系统中的一员,你一定听说过 Gartner 的魔力象限 (Gartner’s Magic Quadrant – MQ)

这些MQ是一系列的报告,包含对几家科技公司的市场研究和分析,也是这个领域最受期待的报告之一。

通过这个链接,你可以查看 2020 年分析和商业智能平台魔力象限:https://www.qlik.com/us/gartner-magic-quadrant-business-intelligence

你可以清楚地看到,四个不同的象限表示了四个不同的类别。

图源:https://www.qlik.com/us/gartner-magic-quadrant-business-intelligence

技术角度而言,象限图是一个散点图,分为四个相等的部分或象限,因此得名。象限分析图结合了相似的数据点,然后把它们放在同一个象限中。Tableau 是当今业界广泛使用的优秀数据分析和可视化工具。在本文中,我们将学习如何在 Tableau 中创建象限图,深入探讨,并投入运用。如果你想了解更多数据分析相关内容,可以阅读以下这些文章:
数据分析的Regression算法到底是什么?
Meta问世——他们会开放哪些数据分析岗位?
假期将近——旅游行业是如何应用数据分析的?
数据分析新工具MindsDB–用SQL预测用户流失

案例分析

我们将用有名的 Superstore 数据集进行演示。这是美国超市的数据,包含有关产品、销售、利润等信息。你可以用这个数据集确定这个虚拟的公司需要改进的重要领域。第一步是导入数据集并进行研究。

点击此链接下载数据集:https://github.com/parulnith/Data-Visualisation-libraries/blob/master/Data%20Visualisation%20with%20Tableau/Quadrant%20Analysis%20in%C2%A0Tableau/Sample-Superstore%20.xls

先决条件

本教程假设你已基本了解 Tableau、它的属性、以及在分析时的用途。

Python中的基本EDA

接下来,让我们用 Python 导入数据集并研究。

import pandas as pd  
import numpy as np
superstore_data = pd.read_excel('Sample-Superstore .xls',header = 3)  
superstore_data.head()

这个数据框显示了数据集的前五行,包含了不同属性。我们还要检查是否存在缺失值:

superstore_data.info()

上图显示没有空值,共有9994条记录。现在,在 tableau 工作区中导入这个数据集。

连接到数据源

  • 将数据从计算机导入 Tableau 工作区。
  • 在工作表选项卡(Sheets Tab)下,将显示三个页面,即Order、People和Returns。在本文中,我们将只关注Order相关数据。用打开电子表格的方式双击Order表。
  • 我们观察到,前三行数据看起来不一样,并且不是我们想要的格式。我们用 Data Interpreter(也在 Sheets 选项卡下)纠正这个问题。Data Interpreter将现有工作表转换为为格式良好的工作表。
https://miro.medium.com/max/700/0*OefhSPO8wxDbH0sC.gif 图片由作者提供

创建散点图

假设我们想看看Discount与Profit的关系,以及哪些产品利润更高。第一步,是在Discount和Profit Ratio之间创建一个简单的散点图。Profit Ratio比单独的Profit更能说明问题。原始数据中没有Profit Ratio属性。因此,我们将按如下方式创建它:

  • 打开一个新的工作表,并用下面的公式创建一个名为Profit Ratio的新计算字段。
sum([Profit])/sum([Sales])
https://miro.medium.com/max/700/0*cg_WnY6IGr-WDeMe.gif 图片由作者提供
  • 拖动Discount到列,拖动Profit Ratio到行。然后将Sub Category拖到颜色架。将Discount的度量方式转换为Average。你会得到一个散点图,其中每个圆圈代表一个特定产品。
https://miro.medium.com/max/700/0*iwlk5E3ZN474e4io.png 图片由作者提供

创建参数

现在我们有了一个基本的散点图,是时候创建两个参数,用来作为象限计算的参考了。在本例中,我们将创建一个Discount Parameter和一个Profit Ratio Parameter,这两个参数分别来自Discount和Profit Ratio。

Discount参数

单击 Discount filed > Create > Parameter 并填写下图所示的值。点击当前值设置中的选择的任何值。(在本例中为 0.2)

https://miro.medium.com/max/700/0*Q51zW5PicKgfhJXh.png  图片由作者提供

Profit Ratio参数

使用Profit Ratio字段执行与上述相同的步骤,创建Profit Ratio参数。

https://miro.medium.com/max/700/0*jQUAiSJ_aF4glQc4.png 图片由作者提供

现在,在包含新创建的参数的工作表中,我们可以看到一个名为“Parameters”的新标题。

图片由作者提供

添加参考线

Tableau 的参考线只是表示参考点的图表上的一条垂直线或水平线。例如,在销售图表上画一条参考线可以轻松区分高销量和低销量。我们将创建两条参考线,每条线对应一个轴。

  • 右键单击Profit Ratio轴 (y),然后选择Add Reference Line。
  • 将参考线值设置为Profit Ratio参数。
  • 保留其他字段的默认值,然后单击OK。
  • 右键单击Avg Discount轴 (x) 并选择Add Reference Line。
  • 将参考线值设置为Avg Discount参数。
  • 保留其他字段的默认值,然后单击OK。
https://miro.medium.com/max/700/0*AvWVvnHKytoRM0rU.gif  图片由作者提供

为每个象限分配颜色

我们现在有四个象限,但每个象限中的数据点都是随机着色。我们可以编写一个简单的运算,根据数据点的象限(即右上、左上、右下或左下)为其分配颜色。

单击Analysis > Create calculated field并将该字段命名为Quadrant Color。

输入公式如下:

IF AVG([Discount]) >= [Discount Parameter]  
AND [Profit Ratio] > [Profit Ratio Parameter] THEN 'UPPER RIGHT'  
ELSEIF AVG([Discount]) < [Discount Parameter]   
AND [Profit Ratio] > [Profit Ratio Parameter] THEN 'UPPER LEFT'  
ELSEIF AVG([Discount]) >[Discount Parameter]   
AND [Profit Ratio] < [Profit Ratio Parameter] THEN 'BOTTOM RIGHT'  
ELSE 'BOTTOM LEFT'  
END
https://miro.medium.com/max/700/0*FKfBRckY_aiO-CLb.gif  图片由作者提供
  • 当前数据点已按Sub-Category着色。但是,我们想用其各自象限为着色。把Sub-Category字段拖到详细信息卡上,将Quadrant Color字段拖到颜色上。现在,所有数据点都立即按照其所在的象限着色。将Shape更改为圆形,获得实心圆圈,并相应地调整大小和工具提示框。
https://miro.medium.com/max/700/0*zvgOP68lO2Kj4g7c.gif  图片由作者提供

这就是我们对这家美国超市的Discount和Profit Ratio进行的象限分析。从图中可以看出,位于右下角的产品是利润最低的产品,而位于左上角的产品是最利润最高的产品。

创建动态象限图

上图中的象限是固定的,只有在我们更改链接参考线的值后才能出现变动。如果我们想用不同的阈值查看产品如何实时改变其所在象限,可以实现吗?该怎么做呢?答案是可以实现,即动态象限图,我们可以通过Actions实现。

Actions

Actions是 Tableau 中的一项功能,可让我们向数据添加交互性。有了这个功能的帮助,我们可以通过选择、单击或悬停在它们上来与可视化进行交互。Actions可以在可视化中执行以下任务:

图片由作者提供

现在我们通过以下步骤设置工作表Action:

  • 转到Worksheet>Actions,并添加change parameter操作。因为我们想要创建一个相应更改参数的操作。
图片由作者提供
  • 接下来,我们将Action命名为 Update Discount Parameter,并选择相应的 Target Parameter 和 Value,在本例中分别为 Discount Parameter 和 AVG(Discount)。
https://miro.medium.com/max/700/0*_Q4eLgmwLVXwnUq2.gif   图片由作者提供
  • 同样,我们将创建另一个名为 Update Profit Ratio Parameter 的Action。
https://miro.medium.com/max/700/0*bUV_hlcU_nVA533B.gif  图片由作者提供

现在,我们点击一个数据点时,它就会变成象限的中心。因此,我们得到的是一个动态象限图。我们可以看到Profit Ratio和Discount值的变化是如何改变产品在象限中的位置的。

https://miro.medium.com/max/700/0*XXipxH3YRMH5issb.gif    图片由作者提供

结论

在本文中,我们学习了如何将散点图转换为交互式象限图。象限图提供了数据的整体视图。作为一项活动,你可以从现有数据集中选择两个字段,并在这些字段中执行象限分析,巩固这一概念。感谢你的阅读!你还可以订阅我们的YouTube频道,观看大量数据科学相关公开课:https://www.youtube.com/channel/UCa8NLpvi70mHVsW4J_x9OeQ;在LinkedIn上关注我们,扩展你的人际网络!https://www.linkedin.com/company/dataapplab/

原文作者:Parul Pandey
翻译作者:Lia
美工编辑:过儿
校对审稿:Jiawei Tong
原文链接:https://towardsdatascience.com/quadrant-analysis-in-tableau-6a3ee42d26ff