透视表

数据透视表目前仅支持在查询构建器中创建的问题。像 MongoDB 这样的 NoSQL 数据库不支持数据透视表。

数据透视表允许您交换行和列、对数据进行分组,并在表格中包含小计。您可以按一个或多个维度对一个或多个指标进行分组。

数据透视表 vs. 普通表格

您典型的基本表格是一个单元格网格。每个维度(也称为属性、“分组依据”)都由一列表示。每条记录都表示为一行。例如,在下表中,SourcePlanCreated at 是指标值 Sum of SeatsCount 的维度/属性。

Unpivoted table

数据透视表是一种在行和列中都有维度,并在单元格中有指标值的表格。数据透视表可以包含带有这些维度总计的汇总行。

Pivoted table

它们之所以被称为数据透视表,是因为您可以将一列旋转(“透视”)90度,使该列中的值本身成为列标题。当分析跨多个属性(如时间、地点和类别)的数据时,将值透视为列标题非常有用。您可以将多个行透视为列,反之亦然,或者完全不进行透视。

数据透视表是 Metabase 中唯一一种(当然,除了普通表格)可以同时显示多个指标和多个维度的可视化类型。

如何创建数据透视表

要创建数据透视表,您需要使用查询构建器。目前,您无法为用 SQL 编写的问题构建数据透视表,因为 Metabase 需要修改您的 SQL 代码才能计算小计。如果您确实需要使用 SQL,解决方法是将您的问题分两步创建:首先在 SQL 中完成所有您需要做的复杂操作,将结果保存为一个问题,然后使用该保存的 SQL 问题作为新查询构建器问题的起点,以汇总该数据。

  1. 在查询构建器中创建一个问题,该问题至少包含一个分组汇总,例如“按CategoryMonth统计订单的Count”。

    您可以在查询中包含多个指标(例如,“按CategoryMonth统计订单的CountAverage of Total”)。

    Pivot table notebook

  2. 点击可视化
  3. 要将可视化更改为数据透视表,请点击左下角的可视化图标,并在侧边栏中选择数据透视表
  4. 要配置在数据透视表中显示为行和列的字段,请点击齿轮图标,并将字段分配到三个“桶”中的一个:度量

    • 应包含维度,或分组依据——换句话说,就是您用来分组的字段,如 CategoryCreated at
    • 度量应包含您的汇总或指标——例如CountAverage of Total

    Pivot table options

    您可以在“行”和“列”桶中放入多个字段,但请注意,字段的顺序会改变 Metabase 显示表格的方式:每个额外的字段都会嵌套在前一个字段中。

目前,您查询中的所有维度和指标都必须作为行、列或度量出现在数据透视表中(尽管您可以将行折叠到它们的总计)。如果您不想在数据透视表中显示某个分组或指标,您需要从查询中移除它——您不能在数据透视表中隐藏它。

总计和总计

在有意义的地方,Metabase 会自动为分组的行包含小计。

Pivot table options

例如,如上图所示,因为我们首先按 Source 分组行,然后按 Plan 分组,Metabase 将列出每个 Source 的每个计划,然后聚合该来源的指标。

要折叠数据透视表上的一个组,您可以点击组标题旁边的减号(–)按钮(或加号(+)按钮来展开它)。当您保存数据透视表时,Metabase 会记住哪些组是展开的,哪些是折叠的。

您可以要求 Metabase 隐藏总计,方法是转到数据透视表设置(齿轮图标)并关闭“显示行/列总计”。

数据透视表中的条件格式

您可以根据条件或使用值范围向数据透视表添加颜色。

Conditional formatting

Metabase 不会格式化总计或总计。

数据透视表的条件格式化与普通表格的工作方式相同,因此请参阅条件格式化

将数据透视表用作热图

您可以在数据透视表中使用条件格式来模拟按维度划分的值的“热图”。

  1. 使用汇总块创建一个查询构建器问题,该问题具有
  • 一个定义热图中单元格强度的指标
  • 两个用于定义地图水平和垂直组件的分组
  1. 将查询可视化为数据透视表。
  2. 添加一个“颜色范围”条件格式。

例如,要构建一个按星期几划分的每小时活动热图,请使用一个按小时和星期几分组的查询。

Query for the heatmap

使用带有条件格式的数据透视表

Pivot table as a heatmap

数据透视表导出

将数据透视表导出为 XLSX 文件时有特殊考虑。请参阅导出数据透视表

数据透视表的限制

  • 数据透视表仅适用于 SQL 数据库。
  • 查询中指定的所有指标和维度都将显示在数据透视表中。
  • 数据透视表仅适用于使用查询构建器创建的问题。
  • 查询构建器问题必须有一个汇总块。

如果您必须使用 SQL,并且您的 SQL 查询没有参数,您可以保存该 SQL 查询,然后使用其结果作为查询构建器问题的起点来构建问题。这里的技巧是在查询构建器中进行聚合和分组。也就是说,使用 SQL 问题获取您想要处理的原始数据(也许可以创建一个模型),然后在查询构建器中开始一个新问题来筛选、汇总和分组这些数据。

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想要改进这些文档吗?提出更改建议。
© . This site is unofficial and not affiliated with Metabase, Inc.