度量和维度
如何在查询中使用定量和定性字段。
正如我们在 概述 中介绍的那样,典型的数据库由表组成,表由行和列组成。根据它们的 数据类型,这些列(或字段)包含定性或定量信息。维度 和 度量 是帮助我们区分字段中存储的值类型,进而决定我们可以对这些字段执行哪些操作的概念。
以表格形式查看您的数据只能让您走到这一步;在某些时候,您需要运行查询或执行操作,使您的数据更有用,例如向您显示存储在某些字段中的信息模式。这就是度量和维度的用武之地。
维度:数据的 Who、What、Where 和 When
包含定性信息的字段是 维度。这些是描述性属性,例如产品类别、客户地址或国家/地区。维度可以包含数字字符(如字母数字客户 ID),但不是数字值(例如,将列中所有 ID 号相加是没有意义的)。
日期字段也是维度,因为计算订单下达年份的总和可能没有帮助。相反,您可能希望按日期分组。日期字段是维度,但持续时间字段不是;您可以使用持续时间字段进行有价值的计算,例如计算一个人在您的网站上花费的平均时间(以秒为单位)。
这样想:如果您不能(或不希望)计算字段,则它是一个维度。数字本身只能说明部分情况,维度描述并添加上下文。
让我们看一下 Metabase 的示例数据库。如果我们选择 浏览数据,然后选择 产品
表,我们将以表格形式呈现有关我们产品的信息。此表包含八列。
要确定哪些字段是维度,请考虑哪些字段提供有关我们产品的描述性信息。我们会立即注意到 标题、类别 和 供应商 是定性的,因为它们用文字告诉我们关于我们产品的信息。虽然它们包含数字,但 ID、Ean 和 创建于 也是维度,因为这些数字不是您想要计算的数字。
度量:您可以计算的数字字段
度量 是量化 - 诸如订单小计、购买商品数量或在特定页面上花费的时间之类的字段。因此,度量是可计算的。假设您有一个度量,即购买商品的数量:您可以执行诸如计算平均订购数量、按降序数量排序、对所有数量求和等操作。
让我们再次查看 产品
表,以确定哪些字段是度量。这很容易,因为我们已经确定其中六个是维度。这给我们留下了 价格 和 评分,这很有意义,因为计算这些字段可能对我们的业务有价值。例如,我们可以计算客户给我们产品的平均评分。
此时,我们已经检查了此表中的每个字段,并确定了哪些是维度,哪些是度量
维度
- ID
- Ean
- 标题
- 类别
- 供应商
- 创建于
度量
- 价格
- 评分
在 Metabase 中使用度量和维度
在 Metabase 中提问时,您可以选择 汇总 您的数据、筛选 数据,或两者都做。
按指标和分组汇总
汇总 函数允许我们根据某些特定参数(通常是度量和维度)请求对数据进行封装。也许我们想查看产品的平均价格,按类别 细分。正如我们上面确定的那样,价格 字段是我们的度量,而 类别 是一个维度。
简而言之:如果您按特定指标汇总,则您选择的字段是度量。如果您按组汇总,则该字段通常是维度。指标,从广义上讲,是指您在给定度量上执行的定量操作的类型。它们是这些摘要的“方式”,无论是平均值、标准差还是不同值的数量。
Metabase 中的指标 是指您和您的团队想要一遍又一遍使用的已保存的计算数字。管理员可以创建和编辑指标,因此您不必在每次需要从收入中提取查询时都重新创建像收入这样的计算值。
即使分组通常涉及维度字段,您可以按度量分组。如果您这样做,Metabase 将自动将这些数值划分为更有用的分组箱。我们已根据价格(我们的度量)对 产品
表进行了分组,Metabase 为我们分箱了这些价格
筛选度量和维度
您可以根据 Metabase 中的度量或维度筛选数据。过滤器根据特定字段限制查询结果。我们已决定筛选 产品
表,要求 Metabase 向我们显示类别不是 Gizmo 且价格高于 50 美元的产品。在此查询中,我们同时按维度和度量进行了筛选。
在 Metabase 中,段 是管理员可以创建和保存的命名过滤器,以供组织内的所有 Metabase 用户重用和引用。段鼓励跨团队进行数据分析的标准化和一致性;例如,作为管理员,您可以创建一个段,该段正式定义特定的一组客户或产品。
下一步:事实表分析工程
如何基于真实分析用例为事实表建模数据。