<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Metabase教學 on IT 空間</title><link>https://blog.jiatool.com/series/Metabase%E6%95%99%E5%AD%B8/</link><description>Recent content in Metabase教學 on IT 空間</description><generator>Hugo -- gohugo.io</generator><language>zh</language><managingEditor>jia@jiatool.com (Jia)</managingEditor><webMaster>jia@jiatool.com (Jia)</webMaster><copyright>&amp;copy;{year}, Jia All Rights Reserved</copyright><lastBuildDate>Fri, 18 Oct 2024 15:10:00 +0800</lastBuildDate><atom:link href="https://blog.jiatool.com/series/Metabase%E6%95%99%E5%AD%B8/index.xml" rel="self" type="application/rss+xml"/><item><title>[Metabase 系列] Metabase API 使用教學，輕鬆串接自己的系統</title><link>https://blog.jiatool.com/posts/metabase_api/</link><pubDate>Fri, 18 Oct 2024 15:10:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Fri, 18 Oct 2024 15:10:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/metabase_api/</guid><description>前言 前幾篇我們學會了安裝 Metabase、建立提問和圖表、建立 Dashboard，那你有沒有想過能否把 Metabase 串接到自己的系統內呢？例如可以做一些</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>前幾篇我們學會了安裝 Metabase、建立提問和圖表、建立 Dashboard，那你有沒有想過能否把 Metabase 串接到自己的系統內呢？例如可以做一些自動化執行任務，或需要大量批次處理。&lt;/p>
&lt;p>其實 Metabase 本身就有提供很完善的 API。應該說，Metabase 本身連接前端和後端，就是使用這組 API，所以幾乎你在 Metabase 執行的所有操作，都有對應的 API 端點可以使用。&lt;/p>
&lt;br/>
&lt;p>今天我們來學習一下如何使用 Metabase API。&lt;/p>
&lt;br/>
&lt;p>Metabase 系列教學文章：&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_install" target="_blank" rel="noopener">
Metabase 簡介與安裝教學，BI 工具推薦
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_chart" target="_blank" rel="noopener">
建立提問 (Question) 與各式圖表 (Chart) 教學
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_dashboard" target="_blank" rel="noopener">
建立 Dashboard (資訊看板、儀表板) 教學
&lt;/a>&lt;/li>
&lt;li>Metabase API 使用教學，輕鬆串接自己的系統《本篇》&lt;/li>
&lt;/ol>
&lt;br/>
&lt;p>* 本文使用 Metabase 版本為：v0.50.28&lt;/p>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/background.jpg" alt="圖片來源：Metabase 官網" data-caption="圖片來源：Metabase 官網" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
圖片來源：Metabase 官網
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="metabase-api">Metabase API&lt;/h2>
&lt;p>Metabase 本身連接前端和後端，就是使用這組 API，所以幾乎我們在 Metabase 可以執行的所有操作，都有對應的 API 端點。&lt;br />
例如新增資料庫、建立提問、建立 Dashboard、人員權限設定、管理員設定、搜尋功能&amp;hellip;&lt;/p>
&lt;p>* 這邊有官方的 &lt;a href="https://www.metabase.com/learn/metabase-basics/administration/administration-and-operation/metabase-api" target="_blank" rel="noopener">
API 教學
&lt;/a> 和 &lt;a href="https://www.metabase.com/docs/latest/api-documentation" target="_blank" rel="noopener">
API documentation
&lt;/a> 可以參考。&lt;/p>
&lt;br/>
&lt;p>但該如何知道，我們想要的功能該用哪個 API 端點，以及需要帶上哪些參數呢？&lt;/p>
&lt;p>有三種方法可以來尋找：&lt;/p>
&lt;ol>
&lt;li>從 &lt;a href="https://www.metabase.com/docs/latest/api-documentation" target="_blank" rel="noopener">
Metabase API documentation
&lt;/a>&lt;/li>
&lt;li>在 API live docs 進行測試&lt;/li>
&lt;li>使用瀏覽器的開發人員工具&lt;/li>
&lt;/ol>
&lt;br/>
&lt;p>Metabase API documentation 就是官方整理的文件，可以快速查詢。&lt;/p>
&lt;p>但有些看出不出參數要如何帶入，以及它回傳資料的內容與格式，所以我自己比較常用 &amp;quot;開發人員工具&amp;quot; 的方式來查詢。&lt;br />
(API live docs 好像是&lt;a href="https://github.com/metabase/metabase/pull/40162" target="_blank" rel="noopener">
最近才加入
&lt;/a>的功能)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/metabase_api_doc.jpg" alt="Metabase API documentation" data-caption="Metabase API documentation" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase API documentation
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>API live docs 是可以在你自己運行的 Metabase 上，查看透過 RapiDoc 提供的即時 OpenAPI 文件。只要前往 &lt;code>/api/docs&lt;/code> 路徑 (例如 &lt;code>http://localhost:3000/api/docs&lt;/code>)。&lt;/p>
&lt;p>左邊清單可以方便找到 API 端點，點擊右方的 &amp;quot;TRY&amp;quot; 會發送請求，並且會顯示回傳的結果，挺方便的。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/api_live_docs.jpg" alt="API live docs" data-caption="API live docs" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
API live docs
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>而瀏覽器的開發人員工具，就跟我們在寫網站或網路爬蟲時，使用的方式一樣。&lt;/p>
&lt;p>開啟瀏覽器的 &lt;strong>開發人員工具&lt;/strong> (F12 或 Ctrl + Shift + i)，切換到 &amp;quot;Network&amp;quot; &amp;gt; &amp;quot;Fetch/XHR&amp;quot; 分頁。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/browser_devtools.jpg" alt="瀏覽器 的 開發人員工具" data-caption="瀏覽器 的 開發人員工具" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
瀏覽器 的 開發人員工具
&lt;/figcaption>
&lt;/figure>
&lt;ul>
&lt;li>&amp;quot;Headers&amp;quot; 頁面可以查看請求的網址與方法&lt;/li>
&lt;li>&amp;quot;Payload&amp;quot; 頁面可以查看請求的 Body&lt;/li>
&lt;li>&amp;quot;Preview&amp;quot; 頁面可以查看請求的回傳結果&lt;/li>
&lt;/ul>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/request.jpg" alt="瀏覽器 的 開發人員工具" data-caption="瀏覽器 的 開發人員工具" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
瀏覽器 的 開發人員工具
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="api-金鑰-api-key">API 金鑰 (API key)&lt;/h3>
&lt;p>剛剛我們再查看有哪些 API 端點時，因為是在登入的瀏覽器內操作，所以它有自動帶上我們的身分認證，但之後要整合進我們的程式或專案，那就需要使用 API 金鑰做身分認證。&lt;/p>
&lt;br/>
&lt;p>在 Metabase 裡右上角齒輪 &amp;gt; 管理員設定 &amp;gt; 設定 &amp;gt; 授權認證 &amp;gt; API 金鑰。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/admin_setting.jpg" alt="右上角齒輪 &amp;gt; 管理員設定" data-caption="右上角齒輪 &amp;gt; 管理員設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
右上角齒輪 &amp;gt; 管理員設定
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/setting_api_key.jpg" alt="管理員設定內 設定 &amp;gt; 授權認證 &amp;gt; API 金鑰" data-caption="管理員設定內 設定 &amp;gt; 授權認證 &amp;gt; API 金鑰" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
管理員設定內 設定 &amp;gt; 授權認證 &amp;gt; API 金鑰
&lt;/figcaption>
&lt;/figure>
&lt;p>點擊「建立 API 金鑰」。&lt;/p>
&lt;p>金鑰名稱自己取一個，純粹為了區分用。&lt;br />
接下來要選擇一個群組，該 API 金鑰會擁有與此群組相同的權限。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/create_api_key.jpg" alt="建立 API 金鑰" data-caption="建立 API 金鑰" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
建立 API 金鑰
&lt;/figcaption>
&lt;/figure>
&lt;p>建立後，它會顯示完整的 API 金鑰，這時候要將其複製並保存起來。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/copy_api_key.jpg" alt="複製 API 金鑰" data-caption="複製 API 金鑰" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
複製 API 金鑰
&lt;/figcaption>
&lt;/figure>
&lt;p>之後只能編輯 API 金鑰名稱跟改群組，金鑰內容忘記就只能再產生新的了。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/edit_api_key.jpg" alt="編輯 API 金鑰" data-caption="編輯 API 金鑰" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
編輯 API 金鑰
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>在使用 API 時，只要將此 API 金鑰帶入 Headers 內即可：&lt;/p>
&lt;pre>&lt;code>x-api-key: YOUR_API_KEY
&lt;/code>&lt;/pre>&lt;p>關於其他說明，可以參考 &lt;a href="https://www.metabase.com/docs/latest/people-and-groups/api-keys" target="_blank" rel="noopener">
官方文件 API keys
&lt;/a>。&lt;/p>
&lt;br/>
&lt;h4 id="session-token">Session Token&lt;/h4>
&lt;p>除了使用 API key 驗證以外，其實還可以使用 session token 來驗證，這個就等同輸入帳號密碼的方式。&lt;/p>
&lt;p>(在以前的版本，還沒有 API key 的時候，就只能透過 session token 驗證，不過它過一段時間後會過期，需要再重新取得，現在新版都建議直接使用 API key 即可)&lt;/p>
&lt;p>* 帳號 是 email 格式，例如 &lt;code>person@metabase.com&lt;/code>&lt;/p>
&lt;pre>&lt;code class="language-curl" data-lang="curl">curl -X POST \
-H &amp;quot;Content-Type: application/json&amp;quot; \
-d '{&amp;quot;username&amp;quot;: &amp;quot;帳號&amp;quot;, &amp;quot;password&amp;quot;: &amp;quot;密碼&amp;quot;}' \
http://localhost:3000/api/session
&lt;/code>&lt;/pre>&lt;p>它會回傳像是 &lt;code>{ &amp;quot;id&amp;quot;: &amp;quot;38f4939c-ad7f-4cbe-ae54-30946daf8593&amp;quot; }&lt;/code>。&lt;/p>
&lt;p>之後在使用 API 時，將此 id 帶入 Headers 內：&lt;/p>
&lt;pre>&lt;code>X-Metabase-Session: 38f4939c-ad7f-4cbe-ae54-30946daf8593
&lt;/code>&lt;/pre>&lt;br/>
&lt;p>* 預設情況，session token 有效期為 14 天。可以透過設定環境變數 &lt;code>MB_SESSION_AGE&lt;/code> （值以分鐘為單位）來修改持續時間。&lt;br />
* 最好將 session token 保存起來重複使用，直到過期再重新取得。因為安全因素，使用帳密取得 ession token 有速率限制。&lt;/p>
&lt;br/>
&lt;h3 id="api-如何使用">API 如何使用&lt;/h3>
&lt;p>在整合進我們的程式或專案之前，可以先使用 HTTP Request、測試 API 的工具，例如 Postman 來先測試，方便我們理解該如何使用、回傳資料長怎樣。&lt;/p>
&lt;p>以下就以最有名的 Postman 工具來示範。&lt;/p>
&lt;br/>
&lt;br/>
&lt;p>我們就以取得「全部群組的清單」來當第一個例子。&lt;br />
* 官方 API 文件：&lt;a href="https://www.metabase.com/docs/latest/api/permissions#get-apipermissionsgroup" target="_blank" rel="noopener">
GET /api/permissions/group
&lt;/a>&lt;/p>
&lt;pre>&lt;code>Request URL：http://localhost:3000/api/permissions/group
Request Method：GET
Headers：
x-api-key:mb_GEeE7gBEcObtBFvanzyeTMIBzvCUmhEvjYv729OCkIA=
(請換成自己剛剛建立的 API 金鑰)
&lt;/code>&lt;/pre>&lt;p>Send 送出請求後，可以收到回覆，這就是我們目前的全部群組：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">[&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Administrators&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;entity_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;member_count&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;All Users&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;entity_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;member_count&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/api_permissions_group1.jpg" alt="Postman 取得全部群組的清單" data-caption="Postman 取得全部群組的清單" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Postman 取得全部群組的清單
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>還記得剛剛建立 API 金鑰時，有指定一個群組嗎？&lt;br />
我們是選擇「Administrators」，代表它有管理者的權限。那假如我們再創建一個「All Users」群組的 API 金鑰，測試同一個 API 呢？&lt;/p>
&lt;p>可以看到它回覆 &amp;quot;您沒有權限那麼做&amp;quot;，HTTP Status Code 是 403 Forbidden，代表客戶端沒有訪問該資源的權限，這就是權限管控。&lt;/p>
&lt;p>就跟一般使用者登入 Metabase 後，他也沒有權限進入 &amp;quot;管理員設定&amp;quot; 一樣。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/api_permissions_group2.jpg" alt="Postman 取得全部群組的清單 (沒權限)" data-caption="Postman 取得全部群組的清單 (沒權限)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Postman 取得全部群組的清單 (沒權限)
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>再來試一個。&lt;/p>
&lt;p>我想查看一個「提問 (Questions，也就是圖表) 的資訊」，該如何操作？&lt;/p>
&lt;p>* 在 API 中，提問被稱為卡片(card)&lt;br />
* 官方 API 文件：&lt;a href="https://www.metabase.com/docs/latest/api/card#get-apicardid" target="_blank" rel="noopener">
GET /api/card/:id
&lt;/a>&lt;/p>
&lt;br/>
&lt;p>例如網址是在 &lt;code>http://localhost:3000/question/27-products&lt;/code> 的圖表。&lt;/p>
&lt;p>card id 就是在網址後面的數字，以上範例的話就是 &lt;code>27&lt;/code>。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/question_url.jpg" alt="提問 (Questions，也就是圖表) 的網址" data-caption="提問 (Questions，也就是圖表) 的網址" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
提問 (Questions，也就是圖表) 的網址
&lt;/figcaption>
&lt;/figure>
&lt;pre>&lt;code>Request URL：http://localhost:3000/api/card/27
Request Method：GET
Headers：
x-api-key:mb_j6OtF0o24wnnJb3A/wteFfuilW4lKyKHtx9Cl6cQKBE=
(請換成自己剛剛建立的 API 金鑰)
&lt;/code>&lt;/pre>&lt;p>Send 送出請求後，可以收到回覆，就是有關這個提問(圖表)的資訊：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">27&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;name&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Products 依類別分組&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;description&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;archived&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;view_count&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;question&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;query_type&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;query&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;display&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;bar&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;database_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;can_write&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">true&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;average_query_time&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mf">38.0000000000000000&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;enable_embedding&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">false&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;last_query_start&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2024-10-12T13:07:51.402753Z&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;last_used_at&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2024-10-12T13:07:51.422213Z&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;updated_at&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2024-10-12T13:31:43.873511Z&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;created_at&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2024-10-12T13:07:21.456419Z&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;creator_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="err">...以下省略&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/api_card_info.jpg" alt="Postman 取得提問 (圖表) 的資訊" data-caption="Postman 取得提問 (圖表) 的資訊" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Postman 取得提問 (圖表) 的資訊
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>以上兩個範例都是 GET 資料，來看看假如是想要 POST 的請求方式呢？&lt;/p>
&lt;p>例如想取得「提問 (Questions，圖表) 的查詢資料」，也就是網頁底下切換成原始資料的部分。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/question_rawdata.jpg" alt="提問 (圖表) 的查詢資料" data-caption="提問 (圖表) 的查詢資料" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
提問 (圖表) 的查詢資料
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>* 官方 API 文件：&lt;a href="https://www.metabase.com/docs/latest/api/card#post-apicardcard-idquery" target="_blank" rel="noopener">
POST /api/card/:card-id/query
&lt;/a>&lt;/p>
&lt;pre>&lt;code>Request URL：http://localhost:3000/api/card/27/query
Request Method：POST
Headers：
x-api-key:mb_j6OtF0o24wnnJb3A/wteFfuilW4lKyKHtx9Cl6cQKBE=
(請換成自己剛剛建立的 API 金鑰)
Body:
{
&amp;quot;ignore_cache&amp;quot;: true
}
&lt;/code>&lt;/pre>&lt;p>* 這個 API 端點的 Body 非必要，可以省略&lt;/p>
&lt;p>Send 送出請求後，可以收到回覆，是這個提問(圖表)的查詢資料：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;data&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">{&lt;/span>
&lt;span class="nt">&amp;#34;rows&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="p">[&lt;/span>
&lt;span class="p">[&lt;/span>
&lt;span class="s2">&amp;#34;Doohickey&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="mi">42&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="p">[&lt;/span>
&lt;span class="s2">&amp;#34;Gadget&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="mi">53&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="p">[&lt;/span>
&lt;span class="s2">&amp;#34;Gizmo&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="mi">51&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="p">[&lt;/span>
&lt;span class="s2">&amp;#34;Widget&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="mi">54&lt;/span>
&lt;span class="p">]&lt;/span>
&lt;span class="p">],&lt;/span>
&lt;span class="err">...以下省略&lt;/span>
&lt;span class="p">},&lt;/span>
&lt;span class="nt">&amp;#34;cached&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;database_id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;started_at&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;2024-10-12T13:42:49.532062Z&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;status&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;completed&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;context&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;question&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;row_count&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">4&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="nt">&amp;#34;running_time&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="mi">25&lt;/span>&lt;span class="p">,&lt;/span>
&lt;span class="err">...以下省略&lt;/span>
&lt;span class="p">}&lt;/span>
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_api/api_card_query.jpg" alt="Postman 取得提問 (圖表) 的查詢資料" data-caption="Postman 取得提問 (圖表) 的查詢資料" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Postman 取得提問 (圖表) 的查詢資料
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>其他更多說明與 API 端點，可以參考 &lt;a href="https://www.metabase.com/docs/latest/api-documentation" target="_blank" rel="noopener">
Metabase 官方 API documentation
&lt;/a>。&lt;/p>
&lt;br/>
&lt;h3 id="備註">備註&lt;/h3>
&lt;p>雖然他們有說，API 介面盡量不會做更改，但 新功能推出、舊 bug 修復 可能多多少少 API 還是有調整，因此在升級 Metabase 版本之前，可以先參考官方整理的文章：&lt;a href="https://www.metabase.com/docs/latest/developers-guide/api-changelog" target="_blank" rel="noopener">
API 介面的重大更改
&lt;/a>&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>在以上了解 Metabase API 的使用之後，我們就可以把 Metabase 串接到自己的系統內，做更深度的整合，或做些自動化的應用了~&lt;/p>
&lt;p>而且從 API 回傳資料，也可以發現一些沒有顯示在網頁畫面上的資訊 XD&lt;/p>
&lt;br/>
&lt;p>如果對於 Metabase 有興趣的讀者，記得『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專要追蹤起來，才不會錯過最新的發文通知哦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase 官方網站
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/learn/metabase-basics/administration/administration-and-operation/metabase-api" target="_blank" rel="noopener">
Metabase API 官方教學
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/docs/latest/api-documentation" target="_blank" rel="noopener">
Metabase 官方 API documentation
&lt;/a>&lt;br />
&lt;a href="https://github.com/metabase/metabase" target="_blank" rel="noopener">
Metabase 官方 GitHub
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/docs/latest/developers-guide/api-changelog" target="_blank" rel="noopener">
Metabase API 介面的重大更改
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>有那個時間絕望的話，還不如去吃好吃的美食，然後好好睡一覺。&lt;/p>
&lt;p align="right">—— 《法醫女王》(日本電視劇)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/metabase_api.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/metabase_api_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>BI工具</category><category>API</category><category>分享</category><category>Metabase教學</category></item><item><title>[Metabase 系列] 建立 Dashboard (資訊看板、儀表板) 教學</title><link>https://blog.jiatool.com/posts/metabase_dashboard/</link><pubDate>Sat, 27 Jul 2024 20:30:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sat, 27 Jul 2024 20:30:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/metabase_dashboard/</guid><description>前言 上一篇我們一起在 Metabase 裡 建立各式圖表 ，這次要將這些相關圖表放在一張 Dashboard (資訊看板、儀表板)裡，方便讓我們一目了然，而且還可以加上篩選欄位與設定</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>上一篇我們一起在 Metabase 裡 &lt;a href="https://blog.jiatool.com/posts/metabase_chart" target="_blank" rel="noopener">
建立各式圖表
&lt;/a>，這次要將這些相關圖表放在一張 Dashboard (資訊看板、儀表板)裡，方便讓我們一目了然，而且還可以加上篩選欄位與設定圖表間的連動。&lt;/p>
&lt;p>* 在 Metabase 裡，因翻譯的緣故，可能會顯示為「資訊看板」或「儀表板」，但為了方便說明，以下統一都叫「Dashboard」。&lt;/p>
&lt;br/>
&lt;p>Metabase 系列教學文章：&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_install" target="_blank" rel="noopener">
Metabase 簡介與安裝教學，BI 工具推薦
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_chart" target="_blank" rel="noopener">
建立提問 (Question) 與各式圖表 (Chart) 教學
&lt;/a>&lt;/li>
&lt;li>建立 Dashboard (資訊看板、儀表板) 教學《本篇》&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_api" target="_blank" rel="noopener">
Metabase API 使用教學，輕鬆串接自己的系統
&lt;/a>&lt;/li>
&lt;/ol>
&lt;br/>
&lt;p>* 本文使用 Metabase 版本為：v0.50.15&lt;/p>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/background.jpg" alt="圖片來源：Metabase 官網" data-caption="圖片來源：Metabase 官網" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
圖片來源：Metabase 官網
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="dashboard-教學">Dashboard 教學&lt;/h2>
&lt;p>Dashboard 可以把我們之前建立的提問(圖表)放在一起呈現，方便讓我們一目了然，再加上文字卡片來說明，而且還可以再加上篩選欄位與設定圖表間的連動。&lt;/p>
&lt;h3 id="建立-dashboard">建立 Dashboard&lt;/h3>
&lt;p>在網頁右上角，點擊「新的」選擇 &amp;quot;資訊看板&amp;quot; 來建立 Dashboard。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_dashboard.jpg" alt="建立 Dashboard" data-caption="建立 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
建立 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;p>為新 Dashboard 指定名稱和描述，以及要保存的位置。&lt;br />
你可以放在「站內分析總覽」底下的資料夾，讓有權限的成員觀看、一同編輯；或放在「個人集合」資料夾，只有自己能看。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_dashboard_info.jpg" alt="建立 Dashboard - 指定名稱、描述與保存位置" data-caption="建立 Dashboard - 指定名稱、描述與保存位置" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
建立 Dashboard - 指定名稱、描述與保存位置
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>進入 Dashboard 的編輯狀態後，上方可以看到一排功能按鈕。&lt;br />
以下我們就來一一說明。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_ui.jpg" alt="編輯 Dashboard - 上方功能按鈕說明" data-caption="編輯 Dashboard - 上方功能按鈕說明" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
編輯 Dashboard - 上方功能按鈕說明
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="添加-圖表卡片">添加 圖表卡片&lt;/h3>
&lt;p>首先，Dashboard 內最重要的就是我們的圖表啦，&amp;quot;+&amp;quot;加號按鈕可以添加好我們已經做好的提問(圖表、表格)，不管你是柱狀圖、圓餅圖、表格、資料透視表、地圖&amp;hellip;&amp;hellip;全部都可以添加一起呈現。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_chart_card.jpg" alt="添加 圖表卡片 到 Dashboard" data-caption="添加 圖表卡片 到 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
添加 圖表卡片 到 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>添加進來後，會以一張「卡片」的樣子呈現。&lt;/p>
&lt;p>大部分的卡片(包括連結卡片、文字卡片) 都可以拖移放不同位置，右下角按住可以調整卡片大小，其卡片內容也會自動做相應的排版調整。&lt;/p>
&lt;p>(注意看 Dashboard 背景有一格一格的，那個就是放置、縮放的一個最小單位)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/setting_card_size.jpg" alt="設定卡片大小" data-caption="設定卡片大小" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
設定卡片大小
&lt;/figcaption>
&lt;/figure>
&lt;h4 id="卡片設定">卡片設定&lt;/h4>
&lt;p>而當滑鼠移至卡片上方，會出現一排「卡片設定按鈕」。&lt;br />
可以對卡片做更多自定義的設定，包含外觀、點擊行為、複製、刪除&amp;hellip;&amp;hellip;。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/card_settin_buttom.jpg" alt="卡片設定按鈕" data-caption="卡片設定按鈕" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
卡片設定按鈕
&lt;/figcaption>
&lt;/figure>
&lt;p>外觀設定類似在圖表頁面的設定。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/card_view_setting.jpg" alt="卡片顯示設定" data-caption="卡片顯示設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
卡片顯示設定
&lt;/figcaption>
&lt;/figure>
&lt;p>而卡片點擊行為設定，則是當使用者滑鼠點擊圖表時該做什麼事，像是跳轉到另一張圖表、網頁連結，或者將數值帶入上方的篩選欄位 (篩選欄位後續章節會介紹)。&lt;/p>
&lt;p>例如你就可以做到，點擊圖表內其中一個日期，它會將此日期自動帶入上方篩選欄位，達到整張 Dashboard 都呈現此日期的資料。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/card_click_setting.jpg" alt="卡片點擊行為設定" data-caption="卡片點擊行為設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
卡片點擊行為設定
&lt;/figcaption>
&lt;/figure>
&lt;ul>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/dashboards/interactive" target="_blank" rel="noopener">
點擊行為 - 官方文件說明
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h3 id="添加-連結卡片">添加 連結卡片&lt;/h3>
&lt;p>連結卡片可以把它想像成有超連結文字的卡片。可以讓使用者點擊後跳轉到不同圖表或 Dashboard 的頁面，或者也可以設定外部連結(網址)。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_link_card.jpg" alt="添加 連結卡片 到 Dashboard" data-caption="添加 連結卡片 到 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
添加 連結卡片 到 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="添加-篩選">添加 篩選&lt;/h3>
&lt;p>篩選功能讓你可以針對個別或全部的圖表進行篩選，這也是 Dashboard 內一項很常用到的功能。&lt;br />
例如顯示一週內的資料、過濾某一個類別、只顯示五星的訊息&amp;hellip;&amp;hellip;等等之類的應用。&lt;/p>
&lt;p>篩選欄位的類別分為 &amp;quot;時間&amp;quot;、&amp;quot;位置&amp;quot;、&amp;quot;ID&amp;quot;、&amp;quot;數字&amp;quot;、&amp;quot;文本或類別&amp;quot;，對應著不同資料的類別。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_filter.jpg" alt="添加 篩選 到 Dashboard" data-caption="添加 篩選 到 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
添加 篩選 到 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;p>像是 &amp;quot;時間&amp;quot; 的篩選，會列出一些常見的 &amp;quot;日期範圍&amp;quot; 可以直接選擇，或者下方也有 &amp;quot;具體日期&amp;quot;、&amp;quot;相對日期&amp;quot; 來指定單一天。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/filter_date.jpg" alt="日期篩選" data-caption="日期篩選" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
日期篩選
&lt;/figcaption>
&lt;/figure>
&lt;p>或者像是 &amp;quot;文本或類別&amp;quot; 的篩選，會有下拉清單方便使用者使用滑鼠直接點選，不必還要鍵盤輸入。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/filter_text.jpg" alt="文本篩選" data-caption="文本篩選" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
文本篩選
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>當你添加篩選欄位後，先來指定要連結各圖表的哪個欄位。&lt;/p>
&lt;p>而右方為此篩選欄位的一些設定，像是名稱、類型、過濾運算符 (例如要一模一樣的文字、部分包含，還是比對開頭&amp;hellip;)。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/filter_setting_01.jpg" alt="篩選設定 1" data-caption="篩選設定 1" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
篩選設定 1
&lt;/figcaption>
&lt;/figure>
&lt;p>剛剛提到的，像是 &amp;quot;文本或類別&amp;quot; 篩選可以設定下拉清單，方便使用者直接點選、不必鍵盤輸入。&lt;/p>
&lt;p>還可指定為單選或多選、是否必填、預設值。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/filter_setting_02.jpg" alt="篩選設定 2" data-caption="篩選設定 2" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='300px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:300px;height:;"/>
&lt;figcaption style="text-align: center;">
篩選設定 2
&lt;/figcaption>
&lt;/figure>
&lt;p>下拉清單的選項來源可以是另一張提問(圖表)或自己手動輸入。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/filter_setting_list.jpg" alt="篩選設定 - 設定下拉清單" data-caption="篩選設定 - 設定下拉清單" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
篩選設定 - 設定下拉清單
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;ul>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/dashboards/filters" target="_blank" rel="noopener">
篩選 - 官方文件說明
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h3 id="添加-文字卡片">添加 文字卡片&lt;/h3>
&lt;p>文字卡片是為了讓你在 Dashboard 添加說明文字，或標題文字做版面區隔。&lt;/p>
&lt;ul>
&lt;li>標題：預先格式化的標題文字卡，只能單行，字體大小、粗細固定無法改。&lt;/li>
&lt;li>文本：可自訂的文字卡片，支援 &lt;a href="https://commonmark.org/help/" target="_blank" rel="noopener">
Markdown
&lt;/a> 格式。&lt;/li>
&lt;/ul>
&lt;p>因為 &amp;ldquo;文本&amp;rdquo; 支援 Markdown 格式，卡片背景也可以像 &amp;ldquo;標題&amp;rdquo; 改為透明，所以我自己幾乎都是用 &amp;ldquo;文本&amp;rdquo;。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/add_text_card.jpg" alt="添加 文字卡片 到 Dashboard" data-caption="添加 文字卡片 到 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
添加 文字卡片 到 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>而文字卡片其內容也可以顯示上面提到的 &amp;quot;篩選欄位的值&amp;quot;，只要使用雙大括號 &lt;code>{{&lt;/code> 和 &lt;code>}}&lt;/code> 就可以了，中間的名稱自訂(但要用英文，並且不能有空格)。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/text_card_variables.jpg" alt="文字卡片 帶入 篩選欄位的值" data-caption="文字卡片 帶入 篩選欄位的值" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
文字卡片 帶入 篩選欄位的值
&lt;/figcaption>
&lt;/figure>
&lt;p>當然也要把篩選欄位與文字卡片內的變數連結起來。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/text_card_variables_link.jpg" alt="文字卡片 帶入 篩選欄位的值 連結" data-caption="文字卡片 帶入 篩選欄位的值 連結" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
文字卡片 帶入 篩選欄位的值 連結
&lt;/figcaption>
&lt;/figure>
&lt;p>保存後，當選擇篩選時，其值就會帶入文字卡片內。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/text_card_variables_show.jpg" alt="文字卡片 帶入 篩選欄位的值 顯示" data-caption="文字卡片 帶入 篩選欄位的值 顯示" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
文字卡片 帶入 篩選欄位的值 顯示
&lt;/figcaption>
&lt;/figure>
&lt;p>* 進階用法：使用雙中括號 &lt;code>[[&lt;/code> 和 &lt;code>]]&lt;/code>，這樣當沒有選擇時，中括號內的文字就不會顯示。例如：&lt;code># 產品分析 [[from {{category}}]]&lt;/code>。&lt;/p>
&lt;br/>
&lt;h3 id="分頁標籤-tab">分頁標籤 (Tab)&lt;/h3>
&lt;p>在 Metabase v0.47 版本之後，引進了「分頁標籤 (Tab)」這個實用的功能，可以在一張 Dashboard 中切分不同的分頁，讓你的 Dashboard 更有條理、版面更簡潔。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_tab.jpg" alt="分頁標籤 (Tab)" data-caption="分頁標籤 (Tab)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
分頁標籤 (Tab)
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="其他功能">其他功能&lt;/h3>
&lt;h4 id="訂閱">訂閱&lt;/h4>
&lt;p>訂閱功能可以讓你將 Dashboard 發送給其他人，包含沒有 Metabase 帳號的人，可透過電子郵件或 Slack 的方式。&lt;/p>
&lt;p>(使用前須先至系統管理員，設定電子郵件或 Slack 的相關配置)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_subscribe.jpg" alt="訂閱 Dashboard" data-caption="訂閱 Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
訂閱 Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;ul>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/dashboards/subscriptions" target="_blank" rel="noopener">
訂閱 - 官方文件說明
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;h4 id="公開分享">公開分享&lt;/h4>
&lt;p>Dashboard 製做好後，還可以透過右上角的 &amp;quot;分享按鈕&amp;quot;，有分為「公開分享」和「嵌入」功能，將 Dashboard 分享給其他人觀看。&lt;/p>
&lt;p>(跟在 &lt;a href="https://blog.jiatool.com/posts/metabase_chart/#%e5%85%ac%e9%96%8b%e5%88%86%e4%ba%ab" target="_blank" rel="noopener">
上一篇建立圖表
&lt;/a> 文章內的 &amp;quot;公開分享&amp;quot; 功能差不多，只是新版本在 UI 介面上有調整)&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_share.jpg" alt="Dashboard 分享 - 公開連結 &amp;amp; 嵌入" data-caption="Dashboard 分享 - 公開連結 &amp;amp; 嵌入" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
Dashboard 分享 - 公開連結 &amp;amp; 嵌入
&lt;/figcaption>
&lt;/figure>
&lt;h5 id="公開連結">公開連結&lt;/h5>
&lt;p>如同上次介紹的圖表，Dashboard 製做好後也可以公開分享給其他人查看，不需要登入。&lt;/p>
&lt;p>同樣，需要先確認此功能是否有開啟，至 &amp;quot;系統管理員&amp;quot; &amp;gt; &amp;quot;設定&amp;quot; &amp;gt; &amp;quot;公開分享&amp;quot; 來啟用，&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_share_link.jpg" alt="Dashboard 分享 - 公開連結" data-caption="Dashboard 分享 - 公開連結" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
Dashboard 分享 - 公開連結
&lt;/figcaption>
&lt;/figure>
&lt;h5 id="嵌入">嵌入&lt;/h5>
&lt;p>而「嵌入」功能同樣也需要系統管理員先至 &amp;quot;系統管理員&amp;quot; &amp;gt; &amp;quot;設定&amp;quot; &amp;gt; &amp;quot;嵌入&amp;quot; 來啟用。&lt;/p>
&lt;p>可以將 Dashboard 或 提問(圖表) 嵌入到你自己的應用程式或網頁中，進一步地將 Metabase 與自己的服務整合。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_embed.jpg" alt="Dashboard 分享 - 嵌入" data-caption="Dashboard 分享 - 嵌入" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Dashboard 分享 - 嵌入
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>同樣的，因為公開分享等於把 Dashboard 或 提問(圖表) 的資料給不用登入的人員觀看，為了更好管控資料權限安全，「公開分享」只限制給有 &amp;quot;系統管理群組&amp;quot; 權限的使用者來開啟。&lt;br />
所以如果你發現公開分享按鈕無法使用，可以先確認你是否擁有系統管理群組的權限哦。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/admin_permission.jpg" alt="公開分享功能 需要系統管理員權限" data-caption="公開分享功能 需要系統管理員權限" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
公開分享功能 需要系統管理員權限
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h4 id="全螢幕顯示--定時刷新--導出為-pdf">全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 導出為 PDF&lt;/h4>
&lt;p>Dashboard 右上角的功能按鈕，還有其他像是 &amp;quot;全螢幕顯示&amp;quot;、&amp;quot;定時刷新資料&amp;quot; 和 &amp;quot;導出為 PDF&amp;quot; 等等功能。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_fullscreen.jpg" alt="Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 導出為 PDF" data-caption="Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 導出為 PDF" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='350px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:350px;height:;"/>
&lt;figcaption style="text-align: center;">
Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 導出為 PDF
&lt;/figcaption>
&lt;/figure>
&lt;p>在全螢幕顯示時，還可以切換成深色模式。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_dashboard/dashboard_fullscreen2.jpg" alt="Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 深色模式" data-caption="Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 深色模式" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
Dashboard 全螢幕顯示 &amp;amp; 定時刷新 &amp;amp; 深色模式
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>除了我上面介紹的這些，關於更多功能或更進階的用法，可以參考 &lt;a href="https://www.metabase.com/docs/latest/dashboards/introduction" target="_blank" rel="noopener">
Metabase 官方 Dashboard 介紹文章
&lt;/a>。&lt;/p>
&lt;p>下一次 &lt;a href="https://blog.jiatool.com/series/Metabase%e6%95%99%e5%ad%b8/" target="_blank" rel="noopener">
Metabase 教學系列文章
&lt;/a>，我預計要來介紹「Metabase API」，讓你可以自己寫程式達到自動化的操作，或者可以跟自己的應用程式做更深度的整合。&lt;/p>
&lt;br/>
&lt;p>如果對於 Metabase 有興趣的讀者，記得『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專要追蹤起來，才不會錯過最新的發文通知哦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase 官方網站
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/docs/latest/dashboards/introduction" target="_blank" rel="noopener">
Metabase 官方文件 - Dashboards
&lt;/a>&lt;br />
&lt;a href="https://github.com/metabase/metabase" target="_blank" rel="noopener">
Metabase 官方 GitHub
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>樹木結疤的地方，也是樹幹最堅硬的地方，&lt;br />
而我們遍體鱗傷的地方，到後來都會成最強壯的秘方。&lt;/p>
&lt;p align="right">—— 楊勇緯 (臺灣柔道運動員)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/metabase_dashboard.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/metabase_dashboard_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>BI工具</category><category>分享</category><category>Metabase教學</category></item><item><title>[Metabase 系列] 建立提問 (Question) 與繪製各式圖表 (Chart) 教學</title><link>https://blog.jiatool.com/posts/metabase_chart/</link><pubDate>Sun, 11 Feb 2024 17:45:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sun, 11 Feb 2024 17:45:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/metabase_chart/</guid><description>前言 本篇文章延續第一篇安裝完 Metabase ，來開始在 Metabase 裡創建提問 (Question) 與繪製圖表 (Chart)。 如果你還沒有安裝 Metabase 或不知道 Metabase 是什麼的話，可先前往本系列第一篇</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>本篇文章延續第一篇安裝完 &lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase
&lt;/a>，來開始在 Metabase 裡創建提問 (Question) 與繪製圖表 (Chart)。&lt;/p>
&lt;p>如果你還沒有安裝 Metabase 或不知道 Metabase 是什麼的話，可先前往本系列第一篇文章。&lt;/p>
&lt;br/>
&lt;p>Metabase 系列教學文章：&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_install" target="_blank" rel="noopener">
Metabase 簡介與安裝教學，BI 工具推薦
&lt;/a>&lt;/li>
&lt;li>建立提問 (Question) 與各式圖表 (Chart) 教學《本篇》&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_dashboard" target="_blank" rel="noopener">
建立 Dashboard (資訊看板、儀表板) 教學
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_api" target="_blank" rel="noopener">
Metabase API 使用教學，輕鬆串接自己的系統
&lt;/a>&lt;/li>
&lt;/ol>
&lt;br/>
&lt;p>* 本文使用 Metabase 版本為：v0.48.4&lt;/p>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/background.jpg" alt="圖片來源：Metabase 官網" data-caption="圖片來源：Metabase 官網" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
圖片來源：Metabase 官網
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;!--adsense-->
&lt;br/>
&lt;h2 id="提問與圖表教學">提問與圖表教學&lt;/h2>
&lt;h3 id="建立提問">建立提問&lt;/h3>
&lt;p>網頁右上角，點擊「新的」可創建 &amp;quot;提問&amp;quot;、&amp;quot;SQL查詢&amp;quot;、&amp;quot;資訊看板 (Dashboard)&amp;quot;、&amp;quot;Collection (資料夾)&amp;quot;、&amp;quot;模型&amp;quot;，我們這邊示範 &amp;quot;提問&amp;quot;。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/add_new.jpg" alt="加入新提問" data-caption="加入新提問" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='250px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:250px;height:;"/>
&lt;figcaption style="text-align: center;">
加入新提問
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>選擇我們要查詢的資料庫(DB)、表格(Table)後，下方就有幾種查詢會用的操作，像是 篩選器(where)、匯總(group by)、關聯(join)、自訂欄位、排序(order by)、行限制(limit)，讓我們透過 UI 來快速操作。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/question_notebook.jpg" alt="提問編輯器" data-caption="提問編輯器" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
提問編輯器
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>點擊下方的可視化，會來到資料檢視畫面，呈現查詢的結果。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/question_preview.jpg" alt="資料檢視畫面" data-caption="資料檢視畫面" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
資料檢視畫面
&lt;/figcaption>
&lt;/figure>
&lt;p>* 為了效能緣故，最多顯示 2000 筆資料。不過在網頁右下角可以下載完整的資料，有提供 ‵.csv‵、‵.xlsx‵、‵.json‵、‵.png‵ 等檔案格式可以選擇。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/download_data.jpg" alt="下載完整結果" data-caption="下載完整結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
下載完整結果
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>在網頁 UI 介面上，有三個地方可以添加條件。&lt;/p>
&lt;p>第一個是直接點擊 &amp;quot;表格的資料&amp;quot; 或 &amp;quot;欄位名稱&amp;quot;，第二個是右上角的 &amp;quot;篩選器&amp;quot;、&amp;quot;匯總&amp;quot; 按鈕，最後就是剛剛講的在 &amp;quot;提問編輯器&amp;quot; 裡最完整的介面。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/three_filter.jpg" alt="有三個地方可以添加條件" data-caption="有三個地方可以添加條件" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
有三個地方可以添加條件
&lt;/figcaption>
&lt;/figure>
&lt;p>我們直接點選資料，也會出現如下的篩選條件，並且它會依照是 字串、數字、日期 不同的格式，而給出不同的選項。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/click_data_filter.jpg" alt="新的" data-caption="新的" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
新的
&lt;/figcaption>
&lt;/figure>
&lt;h3 id="可視化圖表">可視化圖表&lt;/h3>
&lt;p>點擊左下角的「可視化」按鈕，會打開左側的圖表選擇頁面，常見的 柱狀圖、橫條圖、折線圖、分佈圖、地圖&amp;hellip;當然有，它還有些是為了在 資訊看板 (Dashboard) 顯示的圖表，像是數字、趨勢、標尺&amp;hellip;等等。&lt;/p>
&lt;p>雖然相較於其他 BI 工具，可能圖表樣式種類還沒到那麼多，但其實常用的那幾種都有支援了。&lt;/p>
&lt;p>* 避免佔版面、影響閱讀，我將各式圖表的樣子截圖放在文章&lt;a href="#%e5%90%84%e5%bc%8f%e5%9c%96%e8%a1%a8" target="_blank" rel="noopener">
最後面的章節
&lt;/a>。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_type.jpg" alt="有多樣圖表可以選擇" data-caption="有多樣圖表可以選擇" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='400px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:400px;height:;"/>
&lt;figcaption style="text-align: center;">
有多樣圖表可以選擇
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/sample_chart.jpg" alt="柱狀圖" data-caption="柱狀圖" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
柱狀圖
&lt;/figcaption>
&lt;/figure>
&lt;p>而左下角的齒輪符號，會切換到圖表參數設定頁面，有一些關於此圖表的設定可以調整，座標軸是否顯示、座標軸名稱、座標軸範圍、顏色、數值設定&amp;hellip;&amp;hellip;等等。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_setting.jpg" alt="圖表參數設定" data-caption="圖表參數設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表參數設定
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="範例">範例&lt;/h3>
&lt;p>我這邊隨意加幾個條件給大家看看。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/question_notebook_setting.jpg" alt="稍微複雜的查詢條件" data-caption="稍微複雜的查詢條件" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
稍微複雜的查詢條件
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>其中的「自定欄位」，可以讓你在原有的欄位上去擴充更多需要的欄位，像是取出日期中的年份、轉換時區、取得兩個日期之間的相差、合併多個字串、字串轉大寫、判斷欄位使否為空，它也有提供一些函式可以使用，有點類似 Excel 的公式，但當然還沒那麼強大。&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/questions/query-builder/expressions.html" target="_blank" rel="noopener">
Metabase官方 自訂表達式 介紹
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/questions/query-builder/expressions-list" target="_blank" rel="noopener">
Metabase官方 表達式(公式)列表
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;p>例如我們想要取出 Birth Date 欄位中的年份，另外放在 Birth year 新欄位，可能後續會需要用來做什麼動作。&lt;/p>
&lt;p>就可以如下設定自定欄位：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/custom_field_setting.jpg" alt="自定欄位設定" data-caption="自定欄位設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='450px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:450px;height:;"/>
&lt;figcaption style="text-align: center;">
自定欄位設定
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/custom_field.jpg" alt="自定欄位呈現結果" data-caption="自定欄位呈現結果" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
自定欄位呈現結果
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>最後，我把它選擇用橫條圖(行)的圖表呈現，並做一些圖表相關的設定，結果如下：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/example_chart.jpg" alt="橫條圖表呈現" data-caption="橫條圖表呈現" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
橫條圖表呈現
&lt;/figcaption>
&lt;/figure>
&lt;p>點擊中間下方的按鈕，可在圖表和原始數據切換。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/example_chart_raw_data.jpg" alt="中間下方的按鈕，可在圖表和原始數據切換" data-caption="中間下方的按鈕，可在圖表和原始數據切換" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
中間下方的按鈕，可在圖表和原始數據切換
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>沒問題後，記得要點擊右上角的「儲存」。&lt;/p>
&lt;h3 id="創建-sql-查詢">創建 SQL 查詢&lt;/h3>
&lt;p>在一開始，我們有提到網頁右上角，點擊「新的」可創建 &amp;quot;SQL查詢&amp;quot;。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/add_new_sql.jpg" alt="新的 &amp;gt; SQL 查詢" data-caption="新的 &amp;gt; SQL 查詢" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='250px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:250px;height:;"/>
&lt;figcaption style="text-align: center;">
新的 &amp;gt; SQL 查詢
&lt;/figcaption>
&lt;/figure>
&lt;p>它可以讓我們直接輸入 SQL 語法，這對於比較複雜的查詢或已經熟悉 SQL 的工程師來說可能比較方便，但使用這種就沒有一些 UI 上快捷的功能可以使用(排序、篩選&amp;hellip;)，不過你也可以將 &amp;quot;SQL查詢&amp;quot; 再另存成 &amp;quot;提問&amp;quot;，就一樣會有 UI 上的快捷功能了。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/example_sql.jpg" alt="SQL 查詢" data-caption="SQL 查詢" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
SQL 查詢
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>SQL 查詢也可以讓我們帶入變數，這樣會在上方有個篩選欄位方便查詢使用，只要在 SQL 內使用雙大括號 &amp;quot;{{}}&amp;quot; 即可，同時網頁右方會跳出變數設定頁面，可以做一些變數格式、篩選欄位名稱、篩選欄位單選或多選、篩選欄位下拉清單&amp;hellip;等等設定。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/example_sql_var.jpg" alt="SQL 查詢帶入變數" data-caption="SQL 查詢帶入變數" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
SQL 查詢帶入變數
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="公開分享">公開分享&lt;/h3>
&lt;p>製做好的圖表除了讓其他使用者登入查看外，如果你想給沒有權限登入的人查看，也就是只要有連結就能看到圖表的話，可以使用「公開分享」功能。&lt;/p>
&lt;p>預設它是沒有開啟的，需至 &amp;quot;系統管理員&amp;quot; &amp;gt; &amp;quot;設定&amp;quot; &amp;gt; &amp;quot;公開分享&amp;quot; 來啟用，&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/public_share.jpg" alt="&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;設定&amp;#34; &amp;gt; &amp;#34;公開分享&amp;#34;" data-caption="&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;設定&amp;#34; &amp;gt; &amp;#34;公開分享&amp;#34;" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='700px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:700px;height:;"/>
&lt;figcaption style="text-align: center;">
&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;設定&amp;#34; &amp;gt; &amp;#34;公開分享&amp;#34;
&lt;/figcaption>
&lt;/figure>
&lt;p>接下來就可以在圖表的右下角 &amp;quot;分享按鈕&amp;quot;&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/share_button.jpg" alt="圖表右下角的分享按鈕" data-caption="圖表右下角的分享按鈕" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='250px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:250px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表右下角的分享按鈕
&lt;/figcaption>
&lt;/figure>
&lt;p>複製 &amp;quot;公開連結&amp;quot; 給別人。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/public_share_chart.jpg" alt="圖表開啟公開分享" data-caption="圖表開啟公開分享" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='500px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:500px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表開啟公開分享
&lt;/figcaption>
&lt;/figure>
&lt;p>網址打開後就會呈現類似這樣的網頁囉，當然這邊是沒辦法編輯的。&lt;/p>
&lt;p>* 注意看網址跟一般我們在編輯圖表時是不一樣的。&lt;br />
* 我因為只是在我自己的電腦執行 Metabase 服務，所以網域是 localhost。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/public_chart_url.jpg" alt="公開圖表網頁" data-caption="公開圖表網頁" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
公開圖表網頁
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>另外稍微注意，因為公開分享等於把這張圖表的資料給不用登入的人觀看，多少還是會擔心有資安問題，因此「公開分享」只限制給有 &amp;quot;系統管理群組&amp;quot; 權限的使用者來開啟。&lt;br />
所以如果你發現怎麼都沒有公開分享按鈕，可以先確認你是否有系統管理員權限哦。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/admin_people.jpg" alt="&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;帳號管理&amp;#34;" data-caption="&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;帳號管理&amp;#34;" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
&amp;#34;系統管理員&amp;#34; &amp;gt; &amp;#34;帳號管理&amp;#34;
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="各式圖表">各式圖表&lt;/h3>
&lt;p>這邊我列出各式圖表的樣子截圖給大家參考：&lt;/p>
&lt;p>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_bar.jpg" alt="圖表：柱" data-caption="圖表：柱" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：柱
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_line.jpg" alt="圖表：線段" data-caption="圖表：線段" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：線段
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_area.jpg" alt="圖表：區域" data-caption="圖表：區域" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：區域
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_combo.jpg" alt="圖表：組合(Combo)" data-caption="圖表：組合(Combo)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：組合(Combo)
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_row.jpg" alt="圖表：行(Row)" data-caption="圖表：行(Row)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：行(Row)
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_pie.jpg" alt="圖表：圓餅圖" data-caption="圖表：圓餅圖" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：圓餅圖
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_scatter.jpg" alt="圖表：分散" data-caption="圖表：分散" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：分散
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_waterfall.jpg" alt="圖表：瀑布" data-caption="圖表：瀑布" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：瀑布
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_funnel.jpg" alt="圖表：漏斗" data-caption="圖表：漏斗" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：漏斗
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_pivottable.jpg" alt="圖表：資料透視表" data-caption="圖表：資料透視表" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：資料透視表
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_number.jpg" alt="圖表：數字" data-caption="圖表：數字" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：數字
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_trend.jpg" alt="圖表：趨勢(Trend)" data-caption="圖表：趨勢(Trend)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：趨勢(Trend)
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_gauge.jpg" alt="圖表：標尺" data-caption="圖表：標尺" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：標尺
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_progress.jpg" alt="圖表：處理" data-caption="圖表：處理" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：處理
&lt;/figcaption>
&lt;/figure>&lt;br />
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_chart/chart_map.jpg" alt="圖表：地圖" data-caption="圖表：地圖" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='550px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:550px;height:;"/>
&lt;figcaption style="text-align: center;">
圖表：地圖
&lt;/figcaption>
&lt;/figure>&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>上次我們安裝好 Metabase，這次建立好各式圖表，在下一次的系列文章，將帶大家來把多張相關圖表放在一張資訊看板(Dashboard)裡，方便讓我們一目了然，而且還可以加上篩選欄位與設定圖表間的連動。&lt;/p>
&lt;p>如果對於 Metabase 有興趣的讀者，記得『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專要追蹤起來，才不會錯過最新的發文通知哦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase 官方網站
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/docs/latest/" target="_blank" rel="noopener">
Metabase 官方文件
&lt;/a>&lt;br />
&lt;a href="https://github.com/metabase/metabase" target="_blank" rel="noopener">
Metabase 官方 GitHub
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>過ぎ去った時間をもう一度 やり直せても&lt;br />
僕はまたきっとこの道を選ぶ&lt;/p>
&lt;p>就算將已經逝去的時間再重新來過&lt;br />
我一定會再次選擇這條路&lt;/p>
&lt;p align="right">—— 【Answer】幾田りら (YOASOBI 主唱 ikura)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/metabase_chart.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/metabase_chart_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>BI工具</category><category>分享</category><category>Metabase教學</category></item><item><title>[Metabase 系列] Metabase 簡介與安裝教學，BI 工具推薦</title><link>https://blog.jiatool.com/posts/metabase_install/</link><pubDate>Sun, 27 Aug 2023 19:10:00 +0800</pubDate><author>jia@jiatool.com (Jia)</author><atom:modified>Sat, 10 Feb 2024 21:10:00 +0800</atom:modified><guid>https://blog.jiatool.com/posts/metabase_install/</guid><description>前言 最近因緣際會下，接觸到 Metabase 這項 BI (Business Intelligence) 工具，跟有名的 Tableau 和 Power BI 類似，雖然 Metabase 相對來說比較簡潔，但其實大部分常見的功能都有，重點它是免費的！！ Metabase 系</description><content:encoded>&lt;h2 id="前言">前言&lt;/h2>
&lt;p>最近因緣際會下，接觸到 &lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase
&lt;/a> 這項 BI (Business Intelligence) 工具，跟有名的 Tableau 和 Power BI 類似，雖然 Metabase 相對來說比較簡潔，但其實大部分常見的功能都有，重點它是免費的！！&lt;/p>
&lt;br/>
&lt;p>Metabase 系列教學文章：&lt;/p>
&lt;ol>
&lt;li>Metabase 簡介與安裝教學，BI 工具推薦《本篇》&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_chart" target="_blank" rel="noopener">
建立提問 (Question) 與各式圖表 (Chart) 教學
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_dashboard" target="_blank" rel="noopener">
建立 Dashboard (資訊看板、儀表板) 教學
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://blog.jiatool.com/posts/metabase_api" target="_blank" rel="noopener">
Metabase API 使用教學，輕鬆串接自己的系統
&lt;/a>&lt;/li>
&lt;/ol>
&lt;br/>
&lt;p>本篇文章會先介紹 Metabase 的特點，再來手把手教學如何使用 Docker 的方法來安裝 Metabase。&lt;/p>
&lt;br/>
&lt;p>* 本文使用 Metabase 版本為：v0.47.0&lt;/p>
&lt;br/>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/background.jpg" alt="圖片來源：Metabase 官網" data-caption="圖片來源：Metabase 官網" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
圖片來源：Metabase 官網
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;div class="alert alert-info" role="alert" data-dir="ltr">[小廣告] 我製作了一款可愛的「&lt;a href="https://blog.jiatool.com/posts/penguin_wizard_sticker">企鵝魔法師&lt;/a>」貼圖~&lt;br />
歡迎下載：&lt;a href="https://line.me/S/sticker/31703222">LINE 貼圖&lt;/a>、&lt;a href="https://t.me/addstickers/penguin_wizard">Telegram 貼圖 (免費)&lt;/a>&lt;/p>
&lt;img src="https://res.cloudinary.com/jiablog/penguin_wizard_sticker/show.png" caption="企鵝魔法師" width="600px" position="center">&lt;/div>
&lt;br/>
&lt;h2 id="metabase-簡介">Metabase 簡介&lt;/h2>
&lt;blockquote>
&lt;p>Fast analytics with the friendly UX and integrated tooling to let your company explore data on their own.&lt;/p>
&lt;/blockquote>
&lt;blockquote>
&lt;p>Help your team answer their own questions about data in just 5 minutes—no SQL required.&lt;/p>
&lt;/blockquote>
&lt;p>Metabase 是一種 BI (Business Intelligence) 工具，可以繪製圖表、Dashboard，或者探索你的資料，提供 UI 圖形化的查詢 (關聯、篩選、聚合、排序&amp;hellip;等等)，方便從沒學習過 SQL 的人使用，上手快速，也較容易推廣到非程式專業的人員使用。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/dashboard.jpg" alt="Metabase 擁有容易使用的操作、漂亮的 UI 畫面" data-caption="Metabase 擁有容易使用的操作、漂亮的 UI 畫面" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 擁有容易使用的操作、漂亮的 UI 畫面
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="價格">價格&lt;/h3>
&lt;p>Metabase 有分為三種方案：&amp;quot;開源&amp;quot;、&amp;quot;專業版&amp;quot;、&amp;quot;企業&amp;quot;。&lt;br />
並可以選擇部署在他們的 Server 上(不用自己管理)，或自己建置在自己的 Server(當然就要自己管理)。&lt;br />
如果是&amp;quot;開源&amp;quot;並建置在自己的 Server 是完全免費的~&lt;/p>
&lt;p>詳細比較在這：&lt;a href="https://www.metabase.com/pricing/#compare">https://www.metabase.com/pricing/#compare&lt;/a>&lt;br />
我覺得開源免費的方案其實就夠用了。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_pricing.jpg" alt="Metabase 價格方案" data-caption="Metabase 價格方案" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 價格方案
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>Metabase License：&lt;a href="https://www.metabase.com/license/">https://www.metabase.com/license/&lt;/a>&lt;/p>
&lt;br/>
&lt;h3 id="提問圖表--資訊看板dashboard">提問(圖表) &amp;amp; 資訊看板(Dashboard)&lt;/h3>
&lt;p>網頁 UI 圖形化的查詢(關聯、篩選、聚合、排序&amp;hellip;等等)，方便從沒學習過 SQL 的人使用。&lt;br />
(當然它也提供自己寫 SQL 的方式)&lt;/p>
&lt;p>雖然提供的圖表樣式沒有到非常多，但常見的樣式都有，其實一般用途有這些都足夠了。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/question.jpg" alt="提問(圖表)" data-caption="提問(圖表)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
提問(圖表)
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/question_notebook.jpg" alt="提問(圖表) 編輯器" data-caption="提問(圖表) 編輯器" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
提問(圖表) 編輯器
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>當你做好多張圖表之後，可以使用 &amp;quot;資訊看板(Dashboard)&amp;quot; 將圖表放在同一個頁面中展示，並還可以加上篩選框、文本卡片加強。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/dashboard.jpg" alt="資訊看板(Dashboard)" data-caption="資訊看板(Dashboard)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
資訊看板(Dashboard)
&lt;/figcaption>
&lt;/figure>
&lt;p>資訊看板(Dashboard) 在全螢幕展示時，也可以切換為深色主題：&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/dashboard_dark.jpg" alt="資訊看板(Dashboard) 深色主題" data-caption="資訊看板(Dashboard) 深色主題" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='850px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:850px;height:;"/>
&lt;figcaption style="text-align: center;">
資訊看板(Dashboard) 深色主題
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;p>除了要登入才能觀看(編輯)提問、Dashboard，它也可以個別將其公開分享出來，不需要登入就可以查看，需要分享給其他人非常方便。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/share.jpg" alt="公開分享 提問、Dashboard" data-caption="公開分享 提問、Dashboard" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='600px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:600px;height:;"/>
&lt;figcaption style="text-align: center;">
公開分享 提問、Dashboard
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="database-資料庫">Database 資料庫&lt;/h3>
&lt;p>製作圖表 &amp;amp; Dashboard 的源頭就是資料來源，在 Metabase 官方提供以下幾種可以連接 Database 的種類：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/athena" target="_blank" rel="noopener">
Amazon Athena
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/bigquery" target="_blank" rel="noopener">
BigQuery
&lt;/a> (Google Cloud Platform)&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/druid" target="_blank" rel="noopener">
Druid
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/mongodb" target="_blank" rel="noopener">
MongoDB (版本 4.2 以上)
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/mysql" target="_blank" rel="noopener">
MySQL (版本 5.7 以上，以及 MariaDB 版本 10.2 以上)
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/oracle" target="_blank" rel="noopener">
Oracle
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/postgresql" target="_blank" rel="noopener">
PostgreSQL
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/presto" target="_blank" rel="noopener">
Presto
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/redshift" target="_blank" rel="noopener">
Redshift (Amazon Web Services)
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/snowflake" target="_blank" rel="noopener">
Snowflake
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/sparksql" target="_blank" rel="noopener">
SparkSQL
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/sql-server" target="_blank" rel="noopener">
SQL Server
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/sqlite" target="_blank" rel="noopener">
SQLite
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://www.metabase.com/docs/latest/databases/connections/vertica" target="_blank" rel="noopener">
Vertica
&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>或者由官方認證的合作夥伴：&lt;/p>
&lt;ul>
&lt;li>&lt;a href="https://github.com/ClickHouse/metabase-clickhouse-driver" target="_blank" rel="noopener">
Clickhouse
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/exasol/metabase-driver" target="_blank" rel="noopener">
Exasol
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://docs.firebolt.io/integrations/business-intelligence/connecting-to-metabase.html" target="_blank" rel="noopener">
Firebolt
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/Xeograph/metabase-ocient-driver" target="_blank" rel="noopener">
Ocient
&lt;/a>&lt;/li>
&lt;li>&lt;a href="https://github.com/starburstdata/metabase-driver" target="_blank" rel="noopener">
Starburst (與 Trino 兼容)
&lt;/a>&lt;/li>
&lt;/ul>
&lt;br/>
&lt;p>可以看到比較有名的 DB 都有包含在裡面了。&lt;/p>
&lt;p>而資料來源除了連接 DB，在最新的 0.47.0 版本也提供讓使用者自行&lt;a href="https://www.metabase.com/docs/latest/databases/uploads" target="_blank" rel="noopener">
上傳 CSV 檔案
&lt;/a>的方式。&lt;/p>
&lt;br/>
&lt;h3 id="登入方式">登入方式&lt;/h3>
&lt;p>除了一般的 &amp;quot;email&amp;amp;密碼&amp;quot; 之外，也提供 &amp;quot;Google帳號登入&amp;quot;、&amp;quot;LDAP&amp;quot; 的方式，如果公司內部有在使用 LDAP/AD 驗證登入的話，那 Metabase 就可以也採用同樣 LDAP 的方式，員工就不需要還要註冊(記憶)另外一組帳密，還是挺方便的。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_authentication.jpg" alt="Metabase 登入方式" data-caption="Metabase 登入方式" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 登入方式
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="權限設定">權限設定&lt;/h3>
&lt;p>可以針對 資料庫(甚至細到表格)、資料夾(集合) 去做權限的區分、控管。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_permissions.jpg" alt="Metabase 權限設定" data-caption="Metabase 權限設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 權限設定
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;h3 id="api">API&lt;/h3>
&lt;p>還有一點我覺得很不錯的，因為 Metabase 前後端是透過 WebAPI 溝通(幾乎大部分你在網站上的操作，都可以呼叫 API 來完成)，所以你假如會自己寫程式，或有專案想跟 Metabase 整合，就可以透過 WebAPI 跟 Metabase 互動。&lt;/p>
&lt;p>Metabase API 使用教學：&lt;a href="https://www.metabase.com/learn/administration/metabase-api">https://www.metabase.com/learn/administration/metabase-api&lt;/a>&lt;br />
Metabase API 文件：&lt;a href="https://www.metabase.com/docs/latest/api-documentation">https://www.metabase.com/docs/latest/api-documentation&lt;/a>&lt;/p>
&lt;br/>
&lt;h3 id="更多功能">更多功能&lt;/h3>
&lt;p>其他還有 &amp;quot;導出成 csv、xlsx、json&amp;quot;、&amp;quot;快取查詢結果&amp;quot;、&amp;quot;設定警告提醒&amp;quot;、&amp;quot;透視(X-RAY)&amp;quot;、&amp;quot;連接Slack&amp;quot;&amp;hellip;等等功能，有興趣的可以自行摸索，或等待我之後文章分享。&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="安裝-metabase">安裝 Metabase&lt;/h2>
&lt;p>Metabase 有好幾種安裝方式(官方網站都有教學文章)，我這邊就以最簡單的 Docker 方法來示範。&lt;/p>
&lt;p>官方安裝文件：&lt;a href="https://www.metabase.com/docs/latest/installation-and-operation/start">https://www.metabase.com/docs/latest/installation-and-operation/start&lt;/a>&lt;/p>
&lt;br/>
&lt;h3 id="docker-run">Docker Run&lt;/h3>
&lt;p>首先確認電腦有安裝 Docker (網路上有許多文章可以參考，這邊就不贅述了)。&lt;/p>
&lt;p>並且執行以下指令來 &amp;quot;下載 image&amp;quot;、&amp;quot;啟動 container&amp;quot;，簡簡單單就將 Metabase 跑起來了。&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="c1"># 從 Docker Hub 上下載 metabase image&lt;/span>
docker pull metabase/metabase:latest
&lt;span class="c1"># 將 image 建立並啟動 container&lt;/span>
docker run -d -p 3000:3000 --name metabase metabase/metabase
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_install_docker.png" alt="安裝 Metabase，使用 docker run" data-caption="安裝 Metabase，使用 docker run" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
安裝 Metabase，使用 docker run
&lt;/figcaption>
&lt;/figure>
&lt;p>(下方還有說明使用 Docker Compose 的作法)&lt;/p>
&lt;br/>
&lt;p>啟動後，接下來要做一些初始化設定。&lt;/p>
&lt;p>打開瀏覽器至 &lt;a href="http://localhost:3000">http://localhost:3000&lt;/a>，會出現這個歡迎畫面 (雖然是簡體中文，但下一步我們可以改語言)。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_install_start1.jpg" alt="Metabase 安裝後，初始歡迎畫面" data-caption="Metabase 安裝後，初始歡迎畫面" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='650px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:650px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 安裝後，初始歡迎畫面
&lt;/figcaption>
&lt;/figure>
&lt;p>這邊設定預設語言。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_install_start2.jpg" alt="Metabase 安裝後，初始設定畫面 (選擇語言)" data-caption="Metabase 安裝後，初始設定畫面 (選擇語言)" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='750px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:750px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 安裝後，初始設定畫面 (選擇語言)
&lt;/figcaption>
&lt;/figure>
&lt;p>接下來是一些其他設定，這些在之後都可以進入管理員後台修改。&lt;/p>
&lt;p>DB 可以先不用新增，Metabase 有預設的 Sample 資料可以讓我們體驗。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_install_start3.jpg" alt="Metabase 安裝後，初始設定畫面" data-caption="Metabase 安裝後，初始設定畫面" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 安裝後，初始設定畫面
&lt;/figcaption>
&lt;/figure>
&lt;p>完成後會進到首頁，到這邊就算安裝&amp;amp;初始化完成。&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_home.jpg" alt="Metabase 首頁" data-caption="Metabase 首頁" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 首頁
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;p>從右上角的設定按鈕，可以進入管理員後台做一些系統方面的設定，包含帳號管理、全線管理、資料庫設定&amp;hellip;&amp;hellip;&lt;/p>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_setting.jpg" alt="Metabase 右上角設定" data-caption="Metabase 右上角設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='300px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:300px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 右上角設定
&lt;/figcaption>
&lt;/figure>
&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/metabase_backstage.jpg" alt="Metabase 管理員設定" data-caption="Metabase 管理員設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='900px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:900px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 管理員設定
&lt;/figcaption>
&lt;/figure>
&lt;br/>
&lt;br/>
&lt;h3 id="docker-compose">Docker Compose&lt;/h3>
&lt;p>除了使用 &lt;code>docker run&lt;/code>，我們也可以改使用 Docker Compose 的方式來啟動，並且把 Metabase 本身的 DB 改至另外的 PostgreSQL。&lt;/p>
&lt;p>* Metabase 本身的 DB 預設是使用附帶的嵌入式 H2，但對於正式生產環境建議使用另外的 DB，目前支援 PostgreSQL、MySQL、MariaDB。(&lt;a href="https://www.metabase.com/docs/latest/installation-and-operation/migrating-from-h2" target="_blank" rel="noopener">
官方說明
&lt;/a>)&lt;/p>
&lt;br/>
&lt;p>以下是 docker-compose.yml 的範例，請依照自己的需求再做修改：&lt;/p>
&lt;div class="expand">
&lt;button type="button" class="expand__button" aria-label="Expand Button">
&lt;span class="expand-icon expand-icon__right">
&lt;svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">&lt;path fill="currentColor" d="M9.29 15.88L13.17 12 9.29 8.12c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0l4.59 4.59c.39.39.39 1.02 0 1.41L10.7 17.3c-.39.39-1.02.39-1.41 0-.38-.39-.39-1.03 0-1.42z"/>&lt;/svg>
&lt;/span>
docker-compose.yml
&lt;/button>
&lt;div class="expand__content">
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="k">version&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s1">&amp;#39;3&amp;#39;&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w">&lt;/span>&lt;span class="k">services&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">metabase&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">image&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>metabase/metabase&lt;span class="p">:&lt;/span>latest&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">container_name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>metabase&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">restart&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>always&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># volumes:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># - ./metabase/plugins:/plugins&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">ports&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>- &lt;span class="m">3000&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="m">3000&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_TYPE&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>postgres&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_HOST&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>postgres&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_PORT&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="m">5432&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_DBNAME&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>metabase&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_USER&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>admin&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">MB_DB_PASS&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>password&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">networks&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>- metanet&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">depends_on&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>- postgres&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">postgres&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">image&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>postgres&lt;span class="p">:&lt;/span>latest&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">container_name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>postgres&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># ports:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># - 30003:5432&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">restart&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>always&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">volumes&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>- ./postgres&lt;span class="p">:&lt;/span>/var/lib/postgresql/data&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">environment&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">POSTGRES_DB&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>metabase&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">POSTGRES_USER&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>admin&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">POSTGRES_PASSWORD&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>password&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">networks&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>- metanet&lt;span class="w">
&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w">&lt;/span>&lt;span class="k">networks&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">metanet&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w">
&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">driver&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>bridge&lt;span class="w">
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>建好我們 mount 出來的資料夾(如上範例是 &lt;code>./postgres&lt;/code>)，並在 docker-compose.yml 的路徑下執行指令啟動：&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="c1"># Create and start containers&lt;/span>
docker-compose up -d
&lt;span class="c1"># Stop and remove containers, networks&lt;/span>
docker-compose down
&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;figure >
&lt;img data-src="https://res.cloudinary.com/jiablog/metabase_install/docker-compose.png" alt="Metabase 管理員設定" data-caption="Metabase 管理員設定" src="data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='800px' height='' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0V0z'/%3E%3Cpath fill='%23aaa' d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm-4.44-6.19l-2.35 3.02-1.56-1.88c-.2-.25-.58-.24-.78.01l-1.74 2.23c-.26.33-.02.81.39.81h8.98c.41 0 .65-.47.4-.8l-2.55-3.39c-.19-.26-.59-.26-.79 0z'/%3E%3C/svg%3E" class="lazyload" style="width:800px;height:;"/>
&lt;figcaption style="text-align: center;">
Metabase 管理員設定
&lt;/figcaption>
&lt;/figure>
&lt;p>後續初始化的內容與上方一樣。&lt;/p>
&lt;br/>
&lt;!--adsense-->
&lt;h2 id="結語">結語&lt;/h2>
&lt;p>「&lt;a href="https://blog.jiatool.com/series/Metabase%E6%95%99%E5%AD%B8/" target="_blank" rel="noopener">
Metabase 系列
&lt;/a>」後續的文章我預計會陸續介紹 &amp;quot;提問(圖表)&amp;quot;、&amp;quot;資訊看板(Dashboard)&amp;quot;、&amp;quot;權限&amp;quot; 等等功能。&lt;/p>
&lt;p>如果對於 Metabase 有興趣的讀者，記得『&lt;a href="https://www.facebook.com/jiatool" target="_blank" rel="noopener">
IT空間
&lt;/a>』FB 粉專要追蹤起來，才不會錯過最新的發文通知哦~🔔&lt;/p>
&lt;br/>
&lt;br/>
&lt;hr />
&lt;p>參考：&lt;br />
&lt;a href="https://www.metabase.com/" target="_blank" rel="noopener">
Metabase 官方網站
&lt;/a>&lt;br />
&lt;a href="https://www.metabase.com/docs/latest/" target="_blank" rel="noopener">
Metabase 官方文件
&lt;/a>&lt;br />
&lt;a href="https://github.com/metabase/metabase" target="_blank" rel="noopener">
Metabase 官方 GitHub
&lt;/a>&lt;/p>
&lt;br/>
&lt;blockquote>
&lt;p>仰慕對手是無法超越他們的，我們是來超越的，是來登上第一的，&lt;br />
今天就好，把那些仰慕捨棄掉吧，只要想著勝利就好。&lt;/p>
&lt;p align="right">—— 大谷翔平 (MLB 棒球選手)&lt;/p>
&lt;/blockquote></content:encoded><dc:creator>Jia</dc:creator><media:content url="https://blog.jiatool.comimages/cover/metabase_install.jpg" medium="image"><media:title type="html">featured image</media:title></media:content><media:content url="https://blog.jiatool.comimages/posts/metabase_install_meta.jpg" medium="image"><media:title type="html">meta image</media:title></media:content><category>BI工具</category><category>分享</category><category>Metabase教學</category></item></channel></rss>