用量
view: view_name {
dimension: field_name {
link: {
label: "desired label name"
url: "desired_url"
icon_url: "url_of_an_image_file"
}
# Possibly more links
}
}
|
階層
link |
可能的欄位類型
維度、指標
接受
各種參數
|
定義
link 參數可在維度和測量指標中加入網頁連結,方便使用者直接從 Looker 瀏覽相關內容。link 參數的格式如下:
dimension: field_name {
link: {
label: "desired label name"
url: "desired_url"
icon_url: "url_of_an_image_file"
}
# Possibly more links
}
link 參數有幾個子參數:
label是要向使用者顯示的連結名稱。url是您要連結前往的網址。如要讓連結動態變化,可以使用液體變數,詳情請參閱本頁的「搭配link使用液體變數」一節。icon_url是使用者瀏覽器可存取的網址,內含圖片檔案。這樣一來,使用者就能一目瞭然連結的用途。如果不需要圖示,則icon_url參數為選填。如需公司標誌,可在 Google 搜尋使用http://www.google.com/s2/favicons?domain=[company website of interest]模式,找到.ico格式的圖片。
範例
電子商務公司希望員工能直接從 Looker 內容 (例如顯示上個月待處理訂單的 Look) 聯絡倉庫支援團隊。Look 包含訂單 ID,以及與每筆訂單相關聯的顧客使用者 ID。

您可以為「訂單 ID」維度新增連結,讓查看 Look 的使用者執行這項操作:
dimension: id {
primary_key: yes
type: number
sql: ${TABLE}.id ;;
link: {
label: "Contact Warehouse Support"
url: "mailto:warehouse@altostrat.com"
}
}
在 Look 中,使用者會看到「訂單 ID」欄位中任何值的 3 點選單,點選後即可存取連結選單,並在選項中看到「Contact Warehouse Support」(聯絡倉庫支援團隊) 連結。

使用者點選連結名稱後,就會前往連結的內容。在本例中,系統會開啟新分頁,並建立空白電子郵件草稿,收件者為指定的電子郵件地址。
連結行為
使用者點選連結時,Looker 會在新瀏覽器分頁或相同分頁 (或嵌入式查詢的 iframe) 中開啟連結:
- 絕對連結 (例如
https://example.looker.com) 會在新瀏覽器分頁中開啟。 - 相對連結 (例如
/dashboards/456) 會在同一個瀏覽器分頁或 iframe 中開啟。開啟連結後,使用者可以點選瀏覽器的「返回」,返回原始查詢。
使用者必須具備 explore 或 see_drill_overlay 權限,才能存取連結。
搭配 link 使用 Liquid 變數
link 參數支援 Liquid 變數,讓內容在資料列和值層級更具互動性。LookML 支援兩種 Liquid 用法標記:值輸入 {{ }} 標記和條件式邏輯 {% %} 標記。
這兩者中,{{ }} 最常與 value 和 _filters['view_name.field_name'] Liquid 變數搭配使用,因為 {{ }} 標記會直接在放置位置輸入值,例如網址內。link
如要瞭解如何使用 Liquid {{ }} 標記搭配 value 和 _filters['view_name.field_name'] 變數,讓內容與 link 互動,請參閱本頁面的範例。
連結至外部內容
舉例來說,假設您有 artist_name 維度,並希望使用者能直接從 Looker 執行該藝人的 Google 搜尋,您可以使用 value Liquid 變數,將該選項新增至維度,如下所示:
dimension: artist_name {
link: {
label: "Google"
url: "http://www.google.com/search?q={{ value }}"
icon_url: "http://google.com/favicon.ico"
}
}
當使用者點選「藝人姓名」欄位值的三點選單時,Looker 會顯示「連結」選單,其中包含在範例 LookML 中建立的連結。這個連結會開啟新的瀏覽器分頁,並在 Google 搜尋中顯示所選藝人的相關資訊。所選藝人姓名會插入 {{ value }} 所在位置的網址。
使用者瀏覽器可存取的其他外部網站 (例如支援單管理系統、客戶管理系統和其他商務相關工具),也適用於這個模式,方便在網頁應用程式之間瀏覽。
連結至 Looker 中的內容
除了外部網站,您也可以使用 link 參數,將使用者導向其他相關的 Looker 探索、Look 或資訊主頁,打造自訂鑽取體驗。您也可以將相同範例套用至欄位 LookML html 參數中的連結。
首先,您需要取得要連結的現有探索、Look 或資訊主頁網址。接著,您可以使用含有 value 和 _filters['view_name.field_name'] 變數的 {{ }} 標記,取代網址的特定元素,例如篩選器值和名稱。變數會將使用者選取的值輸入至取代的網址元素。內容網址的基本結構如下:
- 探索:
/explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...- 如要取得現有「探索」的網址,請選取「完整網址」齒輪圖示選項。
- 探索篩選器會以
f[view_name.field_name]形式顯示在網址中。如需範例,請參閱「連結至相關探索」一節。
- Look 圖表:
/looks/YOUR_LOOK_NUMBER- 如要取得現有 Look 的網址,請從 Look 頁面複製瀏覽器網址。
- 網址中的 Look 篩選器會顯示為
f[view_name.field_name]。如需範例,請參閱「將現有篩選器值傳遞至連結內容」一節。
使用者定義資訊主頁:
/dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE- 如要取得現有資訊主頁的網址,請從資訊主頁頁面複製瀏覽器網址。
LookML 資訊主頁:
/dashboards/YOUR_MODEL::YOUR_DASHBOARD- 如要取得現有 LookML 資訊主頁的網址,請從資訊主頁頁面複製瀏覽器網址。
使用者定義和 LookML 資訊主頁的資訊主頁篩選器都會以 filter_name 形式顯示在網址中,其中 filter_name 是資訊主頁上篩選器的名稱。如需範例,請參閱「將現有篩選器值傳遞至連結內容」一節。
網址元素 (例如篩選器值和名稱) 會經過網址編碼,並使用特殊字元,例如 ? 表示查詢字串的開頭、& 分隔元素,以及 %20 表示空格。如需範例,請參閱「其他比較運算子的網址編碼」一節。
取得要連結的內容網址後,您可以使用 Liquid,透過 value 或 _filters['view_name.field_name'] 變數和 {{ }} 標記,將欄位值插入網址的任何元素。如要進一步瞭解查詢網址的各個部分,請參閱「使用網址和查詢參數」Looker 社群貼文。
範例:連結至相關的「探索」
我們有一個名為「城市」的維度。我們希望使用者能存取另一個現有的「探索」,當中包含城市指標和「城市」篩選器。我們希望連結的「探索」頁面會根據使用者選取的城市進行篩選。
如要達成這個目標,請按照下列步驟操作:
- 取得要向下鑽取的現有探索網址。
- 在「城市」維度中新增
link參數:
dimension: city {
type: string
sql: ${TABLE}.city ;;
link: {
label: "City Metrics Explore"
url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]=&sorts=orders.count+desc&limit=500"
}
}
這裡的網址已縮短為 limit=500,限制探索結果最多顯示 500 列,為求明確 — 如有需要,您可以加入網址的其餘部分,通常包括視覺化設定的網址編碼。
- 在要將值插入網址的位置,插入 Liquid
{{ value }}標記和變數。在本例中,我們要在網址字串中篩選器元素f[users.city]=所在的位置插入值,以便根據使用者選取的城市篩選探索:
dimension: city {
type: string
sql: ${TABLE}.city ;;
link: {
label: "City Metrics Explore"
url: "/explore/ecommerce_model/order_items_explore?fields=users.city,orders.count,users.count&f[users.city]={{ value }}&sorts=orders.count+desc&limit=500"
}
}
「城市」維度隨即會顯示三點連結選單,其中包含「城市指標探索」選項。

使用者點選連結後,系統會將他們重新導向至「城市指標探索」,並依所選城市篩選資料。

您也可以在連結至 Looker 內容時保留現有的篩選器值,如下例所示。
範例:將現有篩選器值傳遞至連結內容
link 參數支援的另一個 Liquid 變數是 _filters['view_name.field_name']。這個變數會擷取篩選條件的現有輸入值,並將這些值傳遞至連結的「探索」、資訊主頁或 Look。
在內容網址中,您可以查看篩選器值的指定位置,並將其替換為 _filters['view_name.field_name'] 變數。如要瞭解查詢網址的各個部分,請參閱 Using URLs and query parameters Looker 社群貼文。
以下是維度的範例,該維度會在 link 參數中使用 _filters['view_name.field_name'] 變數,傳遞名為 users.state 的欄位現有篩選條件值:
dimension: name {
link: {
label: "Business Pulse By State Dashboard"
url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
}
}
在這個範例中,如果使用者依據 users.state 維度篩選查詢,系統會自動依據原始查詢中選取的相同狀態,篩選連結的資訊主頁。本範例中包含 Liquid 篩選器 url_encode,可將不安全的網址字串轉換為百分比編碼字串,確保含有特殊字元 (例如空格或半形逗號) 的篩選器值可傳遞至連結的資訊主頁。
舉例來說,假設使用者已依「加州」篩選查詢,使用者點按「名稱」欄位旁邊的三點選單時,「連結」選單會顯示「各州/省商家脈動」資訊主頁的連結。使用者點選這個連結後,「各州商家脈動」資訊主頁就會預先篩選出「加州」的資料。
這項功能也適用於將篩選器值傳遞至連結的 Look 和探索:
dimension: name {
link: {
label: "Average Order Profit Look"
url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}"
}
link: {
label: "User Facts Explore Explore"
url: "/explore/ecommerce/users?fields=users.id,users.name&f[users.state]={{ _filters['users.state'] | url_encode }}"
}
}
您可以在多個篩選器之間放置 &,藉此傳遞多個篩選器,例如下列網址:
dimension: name {
link: {
label: "Business Pulse By State Dashboard"
url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}&Date={{ _filters['orders.date'] | url_encode }}"
}
link: {
label: "Average Order Profit Look"
url: "/looks/249?&f[users.state]={{ _filters['users.state'] | url_encode }}&f[orders.date]={{ _filters['orders.date'] | url_encode }}"
}
}
如要瞭解如何建立資訊主頁篩選器,請參閱「建構 LookML 資訊主頁」和「新增及編輯使用者定義資訊主頁篩選器」說明文件頁面。
範例:使用 link 自訂向下細查圖表
如果 Looker 管理員已啟用「圖表細查」功能,您可以使用 link 參數和 液體變數,自訂在探索和 Look 圖表 的細查疊加層中顯示的圖表。資訊主頁支援使用 link 參數進行圖表細查,不需啟用「圖表細查」功能。
以下範例說明如何將細查圖表設為散布圖:
measure: count {
type: count_distinct
sql: ${id} ;;
drill_fields: [created_date, total_sale_price]
link: {
label: "Drill as scatter plot"
url: "
{% assign vis_config = '{\\"type\\": \\"looker_scatter\\"}' %}
\{\{ link \}\}&vis_config=\{\{ vis_config | encode_uri \}\}&toggle=dat,pik,vis&limit=5000"
}
}
如需更多自訂細查圖表的範例,請參閱「更強大的資料細查功能」最佳做法頁面。
連結至 Looker 內容時的注意事項
有時您可能需要納入「等於」以外的篩選器比較運算子、納入多個篩選器,或逸出 Looker 內容連結中的半形逗號。下列各節將進一步說明這些用途。
其他比較運算子的網址編碼
如要在連結的篩選器中加入「等於」 (=) 以外的比較運算子,請對運算子進行網址編碼。
舉例來說,如要對連結的 Look 套用 order_id 篩選器,納入小於 (<) 與您點選值相關聯的 order_id 欄位值,請部分編碼運算子字元 (本例中為 %3C),然後將其新增至網址:
f[orders.order_id]=%3C{{ other_orders.order_id._value }}
包括多個篩選器
如要將多個篩選器套用至連結的 Look、資訊主頁和探索,請使用連字號 (&) 分隔每個篩選器:
dimension: name {
link: {
label: "Drill Look"
url:"/looks/looknumber?&f[users.state]={{ value }}[users.region]={{ users.region._value }}&f[users.age]={{ _filters['users.age'] | url_encode }}"
}
}
逸出逗號
您可以使用 filterable_value 變數逸出連結值中的半形逗號,這通常會使用 value 變數。
以下連結會深入探究,並依所選的 users.city 值篩選結果:
dimension: city {
type: string
sql: ${TABLE}.city ;;
link: {
label: "Drill by City"
url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ value }}"
}
}
如果使用者點選「加州聖塔克魯茲」,深入查看按這個城市篩選的結果,系統會傳回包含「聖塔克魯茲」或「加州」的所有結果。
如果使用 filterable_value 而非 value,系統會逸出逗號:
dimension: city {
type: string
sql: ${TABLE}.city ;;
link: {
label: "Drill by City"
url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]={{ filterable_value }}"
}
}
產生的細查會傳回包含完整字串值「Santa Cruz, CA」的所有結果。
如要在鑽研網址中,將含有半形逗號的篩選器值硬式編碼,請在值前後加上雙引號,然後用反斜線 (\) 逸出雙引號:
dimension: city {
type: string
sql: ${TABLE}.city;;
link: {
label: "Drill by City"
url: "/explore/model_name/explore_name?fields=users.email,users.id&f[users.city]=\"Santa Cruz, CA\"&sorts=users.email"
}
}
其他資源
- 如需更多進階自訂細查範例,請參閱「更強大的資料細查功能」最佳做法頁面。
- 如需在連結中使用
{{ value }}的更多範例,請參閱「Liquid 變數」說明文件頁面。
注意事項
如果維度包含參照其他欄位的 link 參數,該額外欄位可能會新增至使用該維度的查詢基礎 SQL。如果參照的欄位未顯示在查詢的資料視覺化中,且資料視覺化是手動重新排列資料欄的表格圖表,則部分下載格式的資料欄順序可能會受到影響。