度量和维度
如何处理查询中的定量字段和定性字段。
正如我们在概述中提到的,典型的数据库由表组成,表又由行和列组成。根据其数据类型,这些列(或字段)包含定性或定量信息。“维度”和“度量”是帮助我们区分字段中存储的值的类型,进而决定我们可以对这些字段做什么的概念。
仅查看表格形式的数据是有限的;总有一天你需要运行查询或执行操作,使你的数据更有用,例如展示存储在某些字段中的信息的模式。这时度量和维度就派上用场了。
维度:数据中的“谁”、“什么”、“在哪里”和“何时”
包含定性信息的字段是维度。这些是描述性属性,例如产品类别、客户地址或国家。维度可以包含数字字符(如字母数字客户 ID),但不是数字值(例如,将一列中的所有 ID 号相加是没有意义的)。
日期字段也是维度,因为计算订单下达的所有年份的总和可能没有用。相反,你可能想按日期进行分组。日期字段是维度,但持续时间字段不是;对持续时间字段可以进行有价值的计算,例如计算一个人在你的网站上花费时间的平均秒数。
可以这样想:如果一个字段不能(或不应该)计算,那么它就是维度。单独的数字只能说明故事的一部分,维度则用于描述和提供上下文。
让我们看一下 Metabase 的示例数据库。如果我们选择浏览数据,然后选择Products表,我们将以表格形式看到有关我们产品的信息。此表包含八列。

为了确定哪些字段是维度,请考虑哪些字段提供了有关我们产品的描述性信息。我们会立即注意到Title、Category和Vendor是定性的,因为它们用文字描述了我们的产品。尽管ID、Ean和Created At包含数字,但它们也是维度,因为这些数字不是你想计算的。
度量:可计算的数字字段
度量是量化——例如订单小计、购买商品数量或在特定页面上花费的时间。因此,度量是可以计算的。假设你有一个度量,购买商品数量:你可以执行诸如计算平均订单数量、按数量降序排序、计算所有数量的总和等操作。
让我们再次查看Products表以确定哪些字段是度量。这很简单,因为我们已经确定了其中六个是维度。这样我们就剩下Price和Rating,这是有道理的,因为计算这些字段可能对我们的业务有价值。例如,我们可以计算客户对我们产品评价的平均值。
至此,我们已经检查了该表中的每个字段,并确定了哪些是维度,哪些是度量。
维度
- ID
- Ean
- Title
- Category
- Vendor
- Created At
度量
- Price
- Rating
在 Metabase 中使用度量和维度
在 Metabase 中提问时,你可以选择汇总数据、筛选数据,或两者兼有。
按度量和维度汇总
汇总功能使我们能够根据一些特定参数来概括数据,通常是同时包含度量和维度。也许我们想查看产品的平均价格,按类别分组。如上所述,Price字段是我们的度量,而Category是维度。

简而言之:如果你按特定度量进行汇总,你选择的字段就是度量。如果你按分组进行汇总,该字段通常是维度。度量,普遍来说,指的是你对给定度量执行的量化操作的类型。它们是这些汇总的“方式”,无论是平均值、标准差还是不同值的数量。
度量在 Metabase 中是指你和你的团队希望反复使用的已保存的计算数字。管理员可以创建和编辑度量,这样你就无需每次需要调用收入来查询时都重新创建收入等计算值。
尽管分组通常涉及维度字段,但你可以按度量进行分组。如果你这样做,Metabase 会自动将这些数值分成几组,使分组更有用。我们已经按照价格(我们的度量)对Products表进行了分组,Metabase 会为我们分组这些价格。

筛选度量和维度
你可以在 Metabase 中根据度量或维度筛选你的数据。筛选条件根据特定字段限制查询结果。我们决定筛选Products表,要求 Metabase 显示类别不是 Gizmo 且价格大于 50 美元的产品。在此查询中,我们根据维度和度量进行了筛选。

在 Metabase 中,细分是管理员可以创建和保存的命名筛选条件,以便组织内的所有 Metabase 用户都可以重复使用和引用。细分鼓励跨团队数据分析的标准化和一致性;例如,你作为管理员可以创建一个细分来正式定义某个特定组的客户或产品。