使用 JSON
篩選 JSON
在查詢產生器中,Metabase 無法剖析欄位中的 JSON,因此您只能依「為空」或「非空」篩選。
JSON 展開
使用某些資料庫,Metabase 可以將 JSON 欄位展開為其組成欄位,然後您可以使用查詢產生器依這些欄位進行篩選。
這是一個包含 JSON 欄位的表格。
Metabase 可以展開該 JSON 欄位,使 JSON 物件中的每個鍵都成為表格中自己的欄位。以下是上方圖片中包含 JSON 欄位的表格展開後的欄位
以下是在表格中看到的值
這種展開方式可讓您篩選原始 JSON 物件中找到的值。
Metabase 會在展開的欄位名稱前加上包含 JSON 的原始欄位名稱。您可以在「管理設定」> 表格元數據中變更欄位名稱,或建立模型並編輯欄位元數據。
切換資料庫的 JSON 展開
如果您注意到 JSON 展開對效能造成影響,我們建議將其關閉。
關閉資料庫的 JSON 展開:
- 按一下右上角的「齒輪」圖示。
- 選擇「管理設定」
- 瀏覽至「資料庫」標籤。
- 選擇相關的資料庫。
- 按一下「顯示進階選項」。
- 切換「允許展開 JSON 欄位」。
- 向下捲動並按一下「儲存變更」按鈕。
- 按一下「立即同步資料庫綱要」。
- 按一下「立即重新掃描欄位值」。
切換特定欄位的 JSON 展開
如果效能下降,或者您希望將 JSON 保留在原始欄位中,您可以在個別欄位的設定中關閉展開。
- 按一下右上角的「齒輪」圖示。
- 選擇「管理設定」。
- 瀏覽至「表格元數據」標籤。
- 選擇包含您要更新之欄位的資料庫。
- 選擇包含該欄位的表格。
- 選擇包含原始 JSON 的欄位
- 捲動至「展開 JSON」選項,然後選擇「是」或「否」。如果欄位已展開,Metabase 會隱藏此 JSON 欄位,因此如果您希望 JSON 欄位再次可見,您需要將欄位的可見性變更為「到處」。
- 向下捲動並按一下「重新掃描此欄位」。
為了使 JSON 展開生效,欄位的資料類型必須為 JSON
例如,如果您上傳包含 JSON 的 CSV,您可能需要更新資料庫中的 data/type。請注意,您無法透過 Metabase 編輯資料類型;您只能變更其欄位類型。因此,即使 Metabase 中的欄位類型為 Field containing JSON
,如果 data/type 不是 JSON
,Metabase 也不會讓您選擇展開欄位。您需要在資料庫本身中變更欄位類型。
支援 JSON 展開的資料庫
關於 BigQuery 的注意事項:Metabase 支援 BigQuery 中的 STRUCT 資料類型,但不會展開以 JSON 類型儲存在 BigQuery 中的 JSON。如果您的資料以 STRUCT
類型儲存在 BigQuery 中,您可以查詢表格的巢狀欄位。背景說明:BigQuery 與其他資料庫的不同之處在於,巢狀欄位是表格定義本身的一部分。因此,當 Metabase 與您的 BigQuery 資料庫同步時,它將能夠取得關於您任何表格的元數據,包括包含巢狀欄位的表格。但是,查詢巢狀欄位並不適用於 BigQuery 中的陣列 (REPEATED (STRUCT))。
閱讀其他版本的 Metabase 文件。