操作简介

目前,操作功能仅适用于 PostgreSQL 和 MySQL。

Example action

什么是操作?

操作是 Metabase 中的实体,可让您构建自定义表单和业务逻辑。

操作可让您编写参数化的 SQL,将数据写回数据库。操作可以附加到仪表板上的按钮,以创建自定义工作流。您甚至可以公开分享操作生成的参数化表单以收集数据。

以下是您可以使用操作实现的一些想法

  • 将您在仪表板中查看的客户标记为 VIP。
  • 让团队成员删除冗余数据。
  • 创建一个客户反馈表单并将其嵌入到您的网站上。

操作必须添加到模型中,但操作仅在支持这些模型的原始表上运行(因此操作永远不会编辑您的模型定义)。

为数据库启用操作

为了让操作能够正常工作,您首先需要做以下两件事

  1. 为数据库连接启用模型操作。要为数据库连接启用操作,管理员应点击右上角的齿轮图标,然后导航到管理设置 > 数据库,再点击您想为其创建操作的数据库。在连接设置表单的右侧,切换模型操作选项。为了使操作能够工作,数据库用户帐户(您用来连接数据库的帐户)必须具有写权限。目前,操作仅支持 PostgreSQL 和 MySQL 数据库。
  2. 从该数据库创建至少一个模型。操作与模型相关联,因此在开始创建操作之前,您需要创建(或有权访问)至少一个模型。

谁可以使用操作

  • 要创建或编辑操作,用户必须属于具有相关数据库原生查询编辑权限的用户组。
  • 要运行操作,您只需要对操作的模型或仪表板的查看权限(或一个指向公共操作的链接)。

操作的类型

有两种类型的操作

运行操作

有多种方式可以运行操作

操作会更改表中的数据,从而影响模型

这里需要澄清一点:操作虽然是添加到模型中的,但它们实际上是对模型查询的底层表进行更改。这意味着任何有权访问底层表、或基于该表的问题或其他模型的人,都将能够看到操作的效果。连接到该数据库的 Metabase 以外的其他工具也会检测到这些更改。

从这个意义上说,模型是操作的容器;模型是一种组织操作的方式。实际上,您可以(理论上)将一个自定义操作添加到一个模型中,该操作执行一些与其模型数据无关的更新。例如,您可以编写一个更新 Accounts 表的自定义操作,并将其添加到一个只查询不相关表(例如 Orders 表)的模型中。但是,您知道的,最好不要这样做(除非您有非常充分的理由)。然而,基本操作仅适用于包装单个原始表的模型。

在生产环境中使用操作之前,建议先在一些示例数据(如 Metabase 附带的示例数据库)上试用操作,以了解它们的工作原理。

操作的注意事项

  • 如果为相关表或模型启用了缓存,您可能在 Metabase 中看不到操作的效果,直到 Metabase 刷新数据(不过您可以随时手动刷新数据)。
  • 在没有自动生成主键的表上创建记录时,您需要输入一个可用的 ID(即,一个未被其他记录使用的 ID)。
  • 您无法“撤销”操作。但是,您可以创建并运行一个操作来重新创建已删除的记录,或将更新的记录恢复到其原始值(前提是您知道原始值)。
  • 操作不适用于公共仪表板和静态嵌入中的仪表板。

延伸阅读

阅读其他版本的 Metabase 的文档。

这有帮助吗?

感谢您的反馈!
想要改进这些文档吗?提出更改建议。
© . This site is unofficial and not affiliated with Metabase, Inc.