模型
模型是 Metabase 中的基本构建块。模型整理来自同一数据库中另一个或多个表的数据,以预测人们将提出的数据问题类型。您可以将它们视为派生表,或一种特殊的已保存问题,旨在用作新问题的起点。您可以基于 SQL 或查询构建器问题创建一个模型,这意味着您可以在模型中包含自定义的计算列。
模型
- 允许您更新列描述和自定义元数据,从而为探索创建良好的起点。
- 在搜索结果中排名更高,并在其他用户开始新问题时突出显示,以促进重用。
- 存在于集合中,以使其与混乱的数据库模式分开。
- 可以 通过与此列匹配在搜索结果中显示单个记录。
- 可以 持久化以加快加载速度。
有关为何以及如何使用模型的深入探讨,请查看我们的关于模型的学习文章。
如何使用模型
您可以使用模型来
- 创建模型,此处模型指的是对您业务中某些概念的直观描述,您将其编纂为一组列。示例模型可以是“客户”,这是一个从多个表中提取客户信息并添加计算列(例如添加终身价值 (LTV) 列)的表。此模型表示您认为与理解客户相关的度量和维度。
- 让人们使用查询构建器探索 SQL 查询的结果(前提是您设置了列类型)。
- 创建汇总表,从多个表中提取或聚合数据。
- 清理掉不必要的列和过滤掉行的表。
模型的想法是为其他人提供一个良好的“起始点表”,使其更容易回答他们对所建模主题的任何疑问。
创建模型
首先,搜索已存在的模型。如果您找不到满足您需求的模型,您可以创建一个模型
您创建的模型会自动钉选到当前集合。
从头开始创建模型
- 在右上角,单击新建 + > 模型。
- 选择查询构建器或原生查询(如果您想使用 SQL)。使用查询构建器的优势在于 Metabase 将能够为您填写一些元数据;如果您使用 SQL,则必须手动填写该元数据。
- 选择您的数据。
- 创建并保存您的查询。
从已保存的问题创建模型
- 提出问题,使用查询构建器或 SQL 编辑器,或选择您想要转换为模型的现有已保存问题。
- 保存问题。
- 单击 … > 转换为模型。
模型详情
要查看模型的详细信息,请访问该模型并单击右上角的信息按钮。在这里您将看到几个选项卡
- 概述:包括描述、创建者和最后编辑者,以及模型中包含的字段列表。以及模型的实体 ID。
- 历史记录:列出对模型的更改以及更改者。
- 关系:列出哪些问题使用该模型,以及该模型链接到哪些表。
- 操作:列出基于模型创建的操作。
- 洞察:有关模型使用情况的信息。仅对Pro 或 Enterprise 计划的管理员可见。
向模型中的列添加元数据
元数据是模型的秘诀。当您编写 SQL 查询时,Metabase 可以显示结果,但它无法“知道”它返回的数据类型(就像使用查询构建器构建的问题一样)。这在实践中意味着人们将无法使用查询构建器探索结果,因为 Metabase 不理解结果是什么。但是,对于模型,您可以告诉 Metabase 每个返回列中的数据类型,以便 Metabase 仍然可以执行其查询魔术。元数据还可以通过显示正确的筛选器小部件使筛选更美观,并且它将帮助 Metabase 为结果选择合适的可视化。
如果您只设置一种元数据,请设置列类型,以便 Metabase 知道它正在处理的数据类型。
显示名称
人们将看到的列名。
描述
用于为列编写有帮助的上下文的地方。
此列映射到的数据库列
对于基于 SQL 查询的模型,您可以告诉 Metabase 该列是否与现有数据库列的类型相同。
列类型
您可以设置列类型。默认值为“无特殊类型”。
如果您的模型基于 SQL 查询,并且您希望人们能够使用查询构建器探索结果,则需要为模型中的每个列设置列类型。
此列应显示在…
您可以指定列应显示在表视图中,还是仅显示在详细信息视图中(当您单击行的实体/主键时)。
- 表格和详细视图
- 仅详细视图
显示为
- 文本
- 链接(这是一个人们应该能够单击的 URL)
通过与此列匹配,在搜索中显示单个记录
对于具有整数实体键的记录中的字符串字段,Metabase 将为您提供一个选项,使该字段中的值在人们搜索您的 Metabase 时显示出来。本质上,Metabase 将索引这些值,并使它们可用于 Metabase 的搜索引擎。当人们经常想要直接跳转到模型中的单个记录时,此选项非常方便。
例如,如果您有一个包含帐户的模型,您可以为列出帐户名称或电子邮件的列启用此选项,以便人们可以从 Metabase 中的任何位置快速搜索模型中的特定帐户。当人们单击搜索结果中的记录时,Metabase 将直接跳转到模型和该记录的对象详细信息。
此索引存在一些限制
- 索引字段必须是文本/字符串类型。
- 包含该字段的记录必须具有整数实体键。
- 为了保持搜索速度,Metabase 将仅索引该字段中的 5000 个唯一值,因此对于记录量很大的表,此选项不是最佳选择。
编辑模型的查询
您可以通过单击模型名称旁边的向下箭头并单击编辑查询定义来编辑模型的查询。当您进行编辑时,请务必保存您的更改。与问题不同,问题会提示您另存为新问题,此处的任何更改都将覆盖现有模型。如果您想从现有模型创建新模型,请从模型侧边栏(两个重叠正方形的图标)中选择复制此模型。
从模型开始提问
请参阅提问。
在 SQL 查询编辑器中引用模型
您可以在 SQL 查询中引用模型,就像您可以引用已保存的问题一样
SELECT * FROM {{#1-customer-model}}
或者作为公用表表达式 (CTE)
WITH model AS {{#3807-invoice-model}}
SELECT *
FROM model;
只需键入 {{#}}
即可搜索模型(例如,您可以键入 {{#customer}}
来搜索标题中包含“customer”一词的模型、问题和表)。
您还可以使用数据参考侧边栏浏览可用的模型。要打开数据参考侧边栏,请单击图书图标。
模型版本历史
对于问题、仪表盘和模型,Metabase 会保留该项目的前十五个版本的版本历史记录。您可以查看更改并恢复到以前的版本。
请参阅历史记录。
删除模型
您可以将过时或不需要的模型移动到回收站,或永久删除它们。删除模型将影响使用它作为数据源的问题。
请参阅删除和恢复项目。
验证模型
请参阅内容验证。
模型持久化
请参阅模型持久化
进一步阅读
阅读其他Metabase 版本的文档。