数据类型和语义类型
Metabase 区分两种列元数据类型:数据类型和字段类型。
- 数据类型 是数据库中定义的底层列类型,例如
Date
或Text
。Metabase 在 数据库同步过程 中读取数据类型。 - 语义类型,也称为字段类型,是描述数据应如何解释的标签。例如,如果您的列数据类型为
Text
,用于存储电子邮件,您可以添加Email
语义类型,让人们(和 Metabase)知道该列存储的是哪种文本。
数据和语义类型决定了 Metabase 如何格式化数据、可用的图表、筛选器的工作方式以及其他功能。
数据类型
数据类型是数据库中定义的底层列类型。Metabase 在数据库同步过程中读取数据类型。由于 Metabase 连接到许多不同的数据库,它在底层使用自己的类型层次结构,因此它可以处理 PostgreSQL 和 MongoDB 等不同数据库中的日期字段。
Metabase 中的主要数据类型
数据类型 | 数据库类型示例 |
---|---|
数值 | INTEGER , FLOAT |
时间 | DATE , TIMESTAMP |
文本 | VARCHAR , TEXT |
文本类 | MongoDB BSONID , Postgres Enum |
布尔值 | 布尔值 |
集合 | JSON , BigQuery RECORD , MongoDB Object |
Metabase 目前不支持数组类型。对于包含数组的列,您只能通过**为空**或**不为空**进行筛选。
对于某些字段,您可以告诉 Metabase 将字段转换为不同的数据类型(例如,将文本类型更改为日期类型)。
语义类型
您可以将语义类型视为为字段添加含义和上下文,以传达其用途并启用附加功能。可用的语义类型取决于底层数据类型。
任何字段的语义类型
-
实体键。 用于指示该字段唯一标识每一行。可以是产品 ID、序列号等。
-
外键。 用于引用另一个表的实体键,以便连接来自不同相关表的数据。例如,在产品表中,您可能有一个客户 ID 字段指向客户表,其中客户 ID 是实体键。如果您想在仪表板上使用链接筛选器,则必须设置外键关系。
数值字段的语义类型
- 数量
- 分数
- 百分比
- 财务
- 货币
- 折扣
- 收入
- 地点
- 纬度
- 经度
- Category
时间字段的语义类型
- 创建日期
- 创建时间
- 创建时间戳
- 加入日期
- 加入时间
- 加入时间戳
- 生日
文本字段的语义类型
- 实体名称
- 电子邮件
- URL
- 图像 URL
- 头像 URL
- Category
- 名称
- Title
- 描述
- 产品
- 来源
- 地点
- 城市
- 州
- 国家
- 邮政编码
集合字段的语义类型
-
包含 JSON 的字段。
请参阅使用 JSON。
编辑数据和语义类型
管理员和具有管理表元数据权限的用户可以在管理员设置的“表元数据”选项卡中转换数据类型和编辑语义类型。
转换数据类型
数据类型无法在 Metabase 中直接编辑,但您可以将某些数据类型转换为不同类型,以便 Metabase 会将文本数据类型解释为日期类型。
在表格元数据中所做的更改将应用于整个 Metabase。Metabase 目前仅支持在元数据设置中转换为日期时间类型。但是,如果您在查询生成器中构建查询,您可以使用类型转换自定义表达式,例如 date()
或 integer()
,在查询中将字符串转换为不同的类型。
语义类型不改变数据类型
您可以在表格元数据设置中选择与底层数据类型兼容的语义类型。
语义类型只增加含义;它们不应用于类型转换。例如,如果您将文本字段的语义类型设置为“数量”,Metabase 仍会将其视为文本字段。相反,应用语义类型来告诉 Metabase 如何格式化或可视化该字段(例如告诉 Metabase 某个数值表示百分比)。
数据和语义类型的功能
显示格式
某些语义类型会更改字段中数据的显示方式。
表格元数据设置中的格式化设置将应用于您的整个 Metabase,但用户可以针对单个图表进行更改。
语义类型 | 格式 |
---|---|
百分比 | 以百分比形式显示,例如 0.75 将显示为 75% |
货币 | 在图表和详细视图中,值前面会带有货币符号,例如 $134.65 。默认情况下,在表格视图中,货币符号仅显示在标题中,但您可以更改元数据格式设置以在每一行中显示该符号。 |
纬度/经度 | 显示为坐标,例如 0.00000000° N |
电子邮件 | 显示为 mailto 链接 |
URL | 可以格式化为可点击链接 |
图像 URL | 可以显示为图像。请参阅表格格式设置 |
头像 URL | 可以显示为头像圆形图片。请参阅表格格式设置 |
包含 JSON 的字段 | 在详细视图中,显示为美化后的 JSON |
实体和外键 | 在表格视图中突出显示 |
可视化
当您在查询生成器中创建问题时,Metabase 将根据数据类型和“分组依据”步骤中字段的语义类型自动为您选择最合适的图表(您可以稍后更改图表类型)。
按数据类型分组 | 自动图表 |
---|---|
文本/类别 | 条形图 |
时间 | 折线图 |
数值 - 分箱 | 条形图 |
数值 - 未分箱 | 表格 |
布尔值 | 条形图 |
无聚合 | 表格 |
此外,如果您使用位置语义类型
按语义类型分组 | 功能 |
---|---|
经纬度 - 分箱 | 网格地图 |
经纬度 - 未分箱 | 图钉地图 |
国家 | 世界区域地图 |
州 | 美国区域地图 |
从列中提取值
对于某些字段,您可以使用表格视图中的快捷方式或查询生成器中的自定义表达式编辑器快速从列中提取值
按数据类型分组 | 提取 |
---|---|
URL 语义类型 | 提取主机、域、子域、路径 |
电子邮件语义类型 | 提取主机、域 |
时间数据类型 | 提取日期部分,如月份、日期等 |
X 射线
当您X 射线表格、模型或实体时,Metabase 会同时考虑数据类型和字段类型,以显示总结该数据的不同图表。
字段筛选器
了解字段类型及其工作原理对于使用字段筛选器很有帮助,因为您只能为某些字段类型创建字段筛选器。
JSON 展开
请参阅使用 JSON。
在模型中设置语义类型,以使人们能够使用查询生成器探索结果
您可以为模型设置字段类型,这有助于 Metabase 了解如何处理使用 SQL 构建的模型中的数据。如果您在 SQL 模型中设置了每个列的类型,人们将能够使用查询生成器和钻取菜单探索该模型。
对于包含整数实体键的记录,您还可以在模型中配置文本字段,以通过与此列匹配来在搜索中显示单个记录。
延伸阅读
阅读其他版本的 Metabase 的文档。