動作簡介

目前,動作僅適用於 PostgreSQL 和 MySQL。

Example action

什麼是動作?

動作是 Metabase 中的實體,可讓您建立自訂表單和業務邏輯。

動作可讓您編寫參數化的 SQL,以寫回您的資料庫。動作可以附加到儀表板上的按鈕,以建立自訂工作流程。您甚至可以公開分享動作產生的參數化表單來收集資料。

以下是一些您可以使用動作的想法

  • 將您在儀表板中檢視的客戶標記為 VIP。
  • 讓團隊成員移除多餘的資料。
  • 建立客戶意見回饋表單並將其嵌入您的網站。

動作必須新增至模型,但動作僅在支援這些模型的原始表格上執行(因此動作永遠不會編輯您的模型定義)。

為資料庫啟用動作

若要讓動作運作,您首先需要執行以下兩件事

  1. 為資料庫連線啟用模型動作。若要為資料庫連線啟用動作,管理員應按一下右上角的齒輪圖示,並導覽至管理設定 > 資料庫,然後按一下您要為其建立動作的資料庫。在連線設定表單的右側,切換模型動作選項。若要讓動作運作,資料庫使用者帳戶(您用來連線至資料庫的帳戶)必須具有寫入權限。而且目前,動作僅支援 PostgreSQL 和 MySQL 資料庫。
  2. 從該資料庫建立至少一個模型。 動作與模型相關聯,因此您需要先建立(或有權存取)至少一個模型,才能開始建立動作。

誰可以使用動作

  • 若要建立或編輯動作,人員必須屬於具有原生查詢編輯權限的群組才能存取相關資料庫。
  • 若要執行動作,您只需要檢視動作的模型或儀表板的權限(或公開動作的連結)。

動作類型

動作有兩種類型

執行動作

有多種方式可以執行動作

動作會變更表格中的資料,這會影響模型

這裡有一些需要釐清的地方:動作即使新增至模型,也會變更模型查詢的基礎表格。這表示任何有權存取基礎表格,或以該表格為基礎的問題或其他模型的人員,都將能夠看到動作的效果。連線至該資料庫的 Metabase 以外的工具也會接收到這些變更。

從這個意義上來說,模型是動作的容器;模型是一種組織動作的方式。事實上,您可以在理論上將自訂動作新增至模型,以執行一些與其模型資料無關的更新。例如,您可以編寫一個自訂動作來更新 Accounts 表格,並將該動作新增至僅查詢不相關表格的模型(例如,Orders 表格)。但是,您知道,也許不要這樣做(除非您有非常好的理由)。但是,基本動作僅適用於包裝單一原始表格的模型。

在生產環境中使用動作之前,請考慮在一些範例資料(例如 Metabase 隨附的範例資料庫)上試用動作,以了解它們的運作方式。

動作注意事項

  • 如果為相關表格或模型啟用快取,您可能在 Metabase 重新整理資料之前看不到動作的效果(不過您可以隨時手動重新整理資料)。
  • 在缺乏自動產生主索引鍵的表格上建立記錄時,您需要輸入可用的 ID(即另一個記錄尚未使用的 ID)。
  • 您無法「復原」動作。但是,您可以建立並執行動作來重新建立已刪除的記錄,或將更新的記錄變更回其原始值(前提是您知道原始值)。
  • 動作不適用於公開儀表板,以及靜態嵌入中的儀表板。

延伸閱讀

閱讀其他Metabase 版本的文件。