汇总和分组
此页面介绍了 查询生成器 中的“汇总”和“分组”步骤。

当我们提出一个问题,比如“上周我们每天下载了多少人?”时,我们是在要求对数据进行**汇总**。汇总通常由两部分组成:我们关心的**数字**(在数据术语中称为“指标”),以及我们希望如何**分组**或**细分**这些数字。要回答“上周我们每天下载了多少人?”这个问题:
- 指标将是下载了该应用程序的人数(行的计数)。
- 我们希望按“每天”对该指标进行分组。
- 并且我们希望将行筛选为“上周”。
您可以通过两种常见方式汇总数据:
- 计算表中行的数量
- 获取数字列的总和或平均值
很多时候,您将**按以下方式**对该指标进行分组:
- 时间
- 地点
- Category
汇总指标
添加汇总步骤可让您选择如何聚合上一步骤中的数据。您可以选择一个或多个指标,并可选择按一个或多个维度(列)对这些指标进行分组。选择指标时,您可以选择诸如 sum(求和)、average(平均值)和 count(计数)等基本函数;或者选择管理员定义的常用指标;或者通过编写公式来创建自定义表达式。
常用指标包括:
- 行数:表中的行总数,已应用任何筛选器。如果您查看
Orders(订单)表,并想知道有多少订单的价格超过 40 美元,您将按“价格大于 40”进行筛选,然后选择行数,因为您希望 Metabase 计算有多少订单符合您的筛选条件。 - …的总和:特定列所有值的总和。
- …的平均值:单个列所有值的平均值。
- …的唯一值数量:单个列所有单元格中的唯一值的数量。这在查找诸如上个月销售了多少种不同**类型**的产品(而不是总共销售了多少)等信息时非常有用。
- …的累积总和:这为您提供特定列的累计总数。为了使此指标有用,您需要按日期列进行分组,以便按时间查看。
- 行数的累积计数:这为您提供随时间推移的表中行数的累计总数。与
…的累积总和一样,为了使其有用,您需要按日期列进行分组。 - …的标准差:一个数字,表示列中的值与该列的平均值相比,变化了多少(正负)。
- …的最小值:所选字段中存在的最小值。
- …的最大值:所选字段中存在的值。
如果您汇总并添加分组,然后可以**再次**汇总。您还可以在它们之间添加筛选和/或连接的步骤。例如,您的第一个汇总步骤可以是获取每月订单数,然后您可以选择 …的平均值,您的 count(计数)列,来添加第二个汇总步骤以获取平均每月订单总额。

您还可以在结果页面的侧边栏中添加指标和分组:侧边栏的顶部是您选择要查看的数字(“指标”)的地方,下方是您选择如何分组该数字(或如何“细分”)的地方。
如果您的管理员创建了任何特定于您的公司或组织的命名指标,它们将在此下拉菜单的“**常用指标**”部分下。这些可能包括公司计算收入的官方方式。
默认情况下,Metabase 将聚合行数限制为 10,000 行。您可以使用环境变量 MB_AGGREGATED_QUERY_ROW_LIMIT 更改此限制。
分组您的指标
根据您选择的分组列,Metabase 将显示它认为最适合该汇总的可视化或图表。因此,如果您选择日期列,您将看到类似这样的折线图(您可以点击绿色的 **Summarize**(汇总)按钮来查看汇总侧边栏)。

当您点击与当前选定列不同的分组列时,分组将切换为使用该列。但是,如果您想**添加**额外的分组,只需点击列右侧的加号(+)图标。要删除分组,请点击 X 图标。

某些分组列会提供选择分组大小的选项
- 对于日期时间列,您可以点击
按月来更改分组为日、周、小时、季度、年等。您还可以通过相同的日期时间列添加多个细分,并具有不同的时间粒度(例如,按周和星期几分组)。有关按年份分组的周的信息,请参阅周的年份。 -
对于数字列(如年龄),Metabase 会自动“分箱”结果,因此您会看到您的指标按年龄段分组,例如 0-10、11-20、21-30 等。与日期一样,您可以点击当前分箱选项来将其更改为特定数量的分箱。目前,您无法为分箱选择自己的范围。

如果您选择固定数量的分箱,Metabase 将将数据的范围分成该数量的等大小区间。某些区间可能最终没有数据,Metabase 将不会显示它们。
阅读其他版本的 Metabase 的文档。