用量
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 中,使用者會看到「Contact Warehouse Support」(聯絡倉庫支援團隊) 連結,只要點選「Orders ID」(訂單 ID) 欄位任一值的三點選單,即可存取連結選單中的選項。

使用者點選連結名稱後,就會前往連結的內容。在本例中,系統會開啟新分頁,並顯示空白電子郵件草稿,收件者為指定的電子郵件地址。
連結行為
使用者點選連結時,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]形式顯示在網址中。如需範例,請參閱「連結至相關『探索』」一節。
- 外觀:
/looks/YOUR_LOOK_NUMBER- 如要取得現有 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 社群貼文「使用網址和查詢參數」。
範例:連結至相關的「探索」
我們有一個名為「City」的維度。我們希望使用者能存取另一個現有的「探索」,其中包含城市指標和「城市」篩選器。我們希望連結的「探索」頁面會根據使用者選取的城市進行篩選。
如要達成這個目標,請按照下列步驟操作:
- 取得要向下鑽取的現有探索網址。
- 在「城市」維度中新增
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'] 變數取代。如要瞭解查詢網址的各個部分,請參閱「使用網址和查詢參數」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 參數和 Liquid 變數,自訂在探索和 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。如果查詢的圖表沒有參照欄位,且圖表是手動重新排列欄的表格圖,部分下載格式的欄順序可能會受到影響。