Skip to main content
Edit this page on GitHub

探索 Superset 中的数据

在本教程中,我们将通过探索一个包含2011年英国某组织员工航班的实际数据集,介绍 Apache Superset 的关键概念。每个航班提供以下信息:

  • 旅客的部门。为了本教程的目的,部门已被重命名为橙色、黄色和紫色。
  • 机票费用。
  • 旅行舱位(经济舱、高级经济舱、商务舱和头等舱)。
  • 机票是单程还是往返。
  • 旅行日期。
  • 出发地和目的地的信息。
  • 出发地和目的地之间的距离,以公里(km)为单位。

启用数据上传功能

您可能需要启用上传 CSV 或 Excel 文件到数据库的功能。以下部分解释了如何为示例数据库启用此功能。

在顶部菜单中,选择 数据 ‣ 数据库。在列表中找到 示例 数据库并选择 编辑 按钮。

在弹出的模态窗口中,切换到 额外 标签,并勾选 允许数据上传 复选框。最后点击 保存 按钮。

加载 CSV 数据

GitHub 下载 CSV 数据集到您的计算机。在 Superset 菜单中,选择 数据 ‣ 上传 CSV

然后,将 表名 输入为 tutorial_flights,并从您的计算机中选择 CSV 文件。

接下来,在 解析日期 字段中输入 Travel Date

保持所有其他选项为默认设置,选择页面底部的 保存

表格可视化

您现在应该在 数据集 标签中看到 tutorial_flights 作为数据集。点击该条目以使用此数据集启动探索工作流程。

在本节中,我们将创建一个表格可视化,以显示每个旅行舱位的航班数量和费用。

默认情况下,Apache Superset 仅显示最近一周的数据。在我们的示例中,我们希望可视化数据集中的所有数据。点击 时间 ‣ 时间范围 部分,并将 范围类型 更改为 无过滤器

点击 应用 保存。

现在,我们希望通过使用 分组依据 选项来指定表格中的行。在这个示例中,我们想要了解不同的旅行舱位,因此在此菜单中选择 旅行舱位

接下来,我们可以使用 指标 选项指定我们希望在表格中看到的指标。

  • COUNT(*),表示表格中的行数(在本例中,每个旅行舱位的航班数量)
  • SUM(Cost),表示每个旅行舱位的总费用

最后,选择 运行查询 以查看表格的结果。

要保存可视化,请点击屏幕左上角的 保存。在接下来的模态窗口中,

  • 选择 另存为 选项,并将图表名称输入为 Tutorial Table(您将能够通过顶部菜单中的 图表 屏幕再次找到它)。
  • 选择 添加到仪表板 并输入 Tutorial Dashboard。最后,选择 保存并转到仪表板

仪表板基础

接下来,我们将探索仪表板界面。如果您按照上一节操作,您应该已经打开了仪表板。否则,您可以通过选择顶部菜单中的 Dashboards,然后从仪表板列表中选择 Tutorial dashboard 来导航到仪表板。

在这个仪表板上,您应该看到上一节中创建的表格。选择 编辑仪表板,然后将鼠标悬停在表格上。通过选择表格右下角(光标也会改变),您可以通过拖放来调整其大小。

最后,通过选择右上角的 Save changes 保存您的更改。

透视表

在本节中,我们将使用更复杂的可视化——透视表来扩展我们的分析。在本节结束时,您将创建一个表格,显示前六个月各部门按旅行舱位的航班支出。

通过选择右上角的 + ‣ 图表 创建一个新图表。选择 tutorial_flights 再次作为数据源,然后点击可视化类型以进入可视化菜单。选择 数据透视表 可视化(你可以通过在搜索框中输入文本来筛选),然后点击 创建新图表

时间 部分,保持时间列为旅行日期(这会自动选择,因为我们数据集中只有一个时间列)。然后选择时间粒度为月份,因为每日数据过于细粒度,难以观察模式。接着,通过点击时间范围部分的“上周”,然后在自定义中分别选择2011年1月1日和2011年6月30日作为开始/结束日期,来选择2011年的前六个月的时间范围(可以直接输入日期或使用日历小部件,通过选择月份名称和年份,可以更快地移动到较远的日期)。

接下来,在 查询 部分,移除默认的 COUNT(*),并添加成本,保持默认的 SUM 聚合。注意,Apache Superset 会通过列表左侧的符号指示指标的类型(ABC 表示字符串,# 表示数字,时钟面表示时间等)。

分组依据 中,选择 时间:这将自动使用我们在时间部分定义的时间列和时间粒度选择。

中,首先选择部门,然后选择旅行类别。一切就绪 – 让我们 运行查询 来看看数据!

你应该会看到月份在行中,部门和旅行类别在列中。将此图表发布到你之前创建的教程仪表板中。

折线图

在本节中,我们将创建一个折线图,以了解整个数据集中每月机票的平均价格。

在时间部分,与之前一样,保持时间列为旅行日期,时间粒度为月份,但这次在时间范围中选择“无过滤器”,因为我们想查看整个数据集。

在指标中,移除默认的 COUNT(*) 指标,并添加 AVG(Cost),以显示平均值。

接下来,选择 运行查询 以在图表上显示数据。

这看起来如何?我们可以看到平均成本在12月上升。然而,或许将单程票和往返票合并在一起并不合理,而是应该为每种票类型显示两条单独的线。

让我们通过在分组依据框中选择单程或往返票,然后再次选择 运行查询 来实现这一点。很好!我们可以看到,平均而言,单程票比往返票便宜,12月的大幅上涨是由往返票引起的。

我们的图表看起来已经很不错了,但让我们通过进入左侧窗格中的自定义选项卡来进一步定制。在这个窗格中,尝试更改配色方案,通过在显示范围过滤器下拉菜单中选择“否”来移除范围过滤器,并使用 X 轴标签和 Y 轴标签添加一些标签。

完成后,将图表发布到你的教程仪表板中。

标记语言

在本节中,我们将在仪表板中添加一些文本。如果你已经在那里,可以通过选择顶部菜单中的仪表板,然后从仪表板列表中选择教程仪表板来导航到仪表板。通过选择 编辑仪表板 进入编辑模式。

在插入组件窗格中,将一个 Markdown 框拖放到仪表板上。寻找蓝色线条,它们指示框将放置的锚点。

现在,要编辑文本,选择该框。你可以输入文本,使用 Markdown 格式(参见 这个 Markdown 速查表 了解更多关于此格式的信息)。你可以通过框顶部的菜单在编辑和预览之间切换。

要退出,选择仪表板的任何其他部分。最后,别忘了使用 保存更改 保存你的修改。

发布你的仪表板

如果你已经按照上一节中的所有步骤操作,你应该有一个如下所示的仪表板。如果你愿意,可以通过选择 编辑仪表板 并拖放来重新排列仪表板的元素。

如果你想让你的仪表板对其他用户可用,只需在左上角的仪表板标题旁边选择“草稿”,将其更改为“已发布”状态。你还可以通过选择星星来收藏此仪表板。

注释

注释允许你为图表添加额外的上下文。在本节中,我们将添加一个 在上一节中,我们制作了一个教程折线图。具体来说,我们将添加英国民航局在冰岛格里姆火山爆发期间(2011年5月23日至25日)取消某些航班的日期。

首先,通过导航到管理 ‣ 注释层来添加一个注释层。通过选择绿色加号添加新记录来添加一个新的注释层。输入名称“火山爆发”并保存。我们可以使用这个层来引用多个不同的注释。

接下来,通过导航到管理 ‣ 注释,然后通过选择绿色加号创建一个新的注释来添加一个注释。然后,选择“火山爆发”层,添加简短描述“格里姆火山”和爆发日期(2011年5月23日至25日),最后保存。

然后,通过转到图表,然后从列表中选择教程折线图来导航到折线图。接下来,转到注释和层部分,并选择添加注释层。在此对话框中:

  • 将层命名为“火山爆发”
  • 将注释层类型更改为“事件”
  • 将注释源设置为“Superset注释”
  • 指定注释层为“火山爆发”

选择应用以查看图表上显示的注释。

如果愿意,您可以通过更改显示配置部分中的设置来更改注释的外观。否则,选择确定,最后选择保存以保存您的图表。如果您保持默认选择以覆盖图表,您的注释将被保存到图表中,并自动出现在教程仪表板中。

高级分析

在本节中,我们将探索Apache Superset的高级分析功能,该功能允许您对数据应用额外的转换。三种类型的转换是:

设置基础图表

在本节中,我们将设置一个基础图表,然后可以对其应用不同的高级分析功能。首先,使用相同的_tutorial_flights_数据源和折线图可视化类型创建一个新图表。在时间部分中,将时间范围设置为2011年10月1日至2011年10月31日。

接下来,在查询部分中,将指标更改为成本的总和。选择运行查询以显示图表。您应该看到2011年10月每天的总成本。

最后,将可视化保存为教程高级分析基础,并将其添加到教程仪表板中。

滚动平均

数据中有很多变化,这使得很难识别任何趋势。我们可以采取的一种方法是显示时间序列的滚动平均值。为此,在高级分析移动平均子部分中,在滚动框中选择平均值,并将周期和最小周期都输入为7。周期是滚动周期的长度,表示为时间粒度的倍数。在我们的例子中,时间粒度是天,因此滚动周期是7天,因此在2011年10月7日显示的值将对应于2011年10月的前七天。最后,通过将最小周期指定为7,我们确保我们的平均值始终在7天基础上计算,并避免任何启动期。

通过选择运行查询显示图表后,您将看到数据的变化较小,并且系列开始较晚,因为排除了启动期。

将图表保存为教程滚动平均,并将其添加到教程仪表板中。

时间比较

在本节中,我们将比较时间序列中的值与一周前的值。首先,通过转到顶部菜单中的图表,然后从列表中选择可视化名称,打开教程高级分析基础图表(或者,在教程仪表板中找到图表,并从该可视化的菜单中选择探索图表)。

接下来,在高级分析的时间比较子部分中,通过输入“减去1周”来输入时间偏移(注意此框接受自然语言输入)。运行查询以查看新图表,该图表有一个额外的系列,具有相同的值,时间向后偏移一周。

然后,将计算类型更改为绝对差异,并选择运行查询。我们现在只能看到一个系列,这次显示了我们之前看到的两个系列之间的差异。

将图表保存为教程时间比较,并将其添加到教程仪表板中。

数据重采样

在本节中,我们将探索Apache Superset的高级分析功能,该功能允许您对数据应用额外的转换。三种类型的转换是:

设置基础图表

在本节中,我们将设置一个基础图表,然后可以对其应用不同的高级分析功能。首先,使用相同的_tutorial_flights_数据源和折线图可视化类型创建一个新图表。在时间部分中,将时间范围设置为2011年10月1日至2011年10月31日。

接下来,在查询部分中,将指标更改为成本的总和。选择运行查询以显示图表。您应该看到2011年10月每天的总成本。

请注意,现在我们每7天只有一个数据点。在我们的例子中,显示的值对应于这七天每日数据点的中位数值。有关本节中各种选项含义的更多信息,请参阅Pandas文档

最后,将您的图表保存为“重采样教程”,并将其添加到“教程仪表板”中。转到教程仪表板,查看四个图表并排显示,并比较不同的输出结果。