透视表

数据透视表目前仅支持在查询生成器中构建的问题。数据透视表不支持 MongoDB 等 NoSQL 数据库。

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

数据透视表与普通表格

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

Unpivoted table

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

Pivoted table

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

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

如何创建数据透视表

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

  1. 在查询生成器中创建一个具有汇总(至少有一个分组,例如“Count of orders by Category and Month”)的问题。

    您可以在查询中拥有多个度量(例如,“Count *和 Average of Total of orders* by Category and Month”)。

    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.