link

Penggunaan

view: view_name {
  dimension: field_name {
    link: {
      label: "desired label name"
      url: "desired_url"
      icon_url: "url_of_an_image_file"
    }
    # Possibly more links
  }
}
Hierarki
link
Jenis Kolom yang Direkomendasikan
Dimensi, Ukuran

Menerima
Berbagai parameter

Definisi

Parameter link memungkinkan Anda menambahkan link web ke dimensi dan ukuran agar pengguna bisa dengan mudah membuka konten terkait langsung dari Looker. Bentuk parameter link adalah:

dimension: field_name {
  link: {
    label: "desired label name"
    url: "desired_url"
    icon_url: "url_of_an_image_file"
  }
  # Possibly more links
}

Parameter link memiliki beberapa parameter turunan:

  • label adalah nama link yang ingin Anda tampilkan kepada pengguna.
  • url adalah URL yang ingin Anda tuju melalui link. Anda dapat menggunakan variabel Liquid untuk membuat link menjadi dinamis, seperti yang dijelaskan di bagian Menggunakan variabel Liquid dengan link di halaman ini.
  • icon_url adalah URL, yang dapat diakses oleh browser pengguna, yang berisi file gambar. Hal ini memudahkan pengguna untuk memahami, secara sekilas, ke mana link tersebut akan mengarahkan mereka. Parameter icon_url tidak wajib diisi jika Anda tidak menginginkan ikon. Jika Anda memerlukan logo perusahaan, coba jalankan penelusuran Google dengan pola http://www.google.com/s2/favicons?domain=[company website of interest] untuk menemukan gambar dalam format .ico.

Contoh

Perusahaan e-commerce ingin karyawan dapat menghubungi dukungan gudang langsung dari konten Looker, seperti Look yang menampilkan pesanan tertunda dari bulan lalu. Look berisi ID pesanan dan ID pengguna pelanggan yang terkait dengan setiap pesanan.

Anda dapat menambahkan link ke dimensi ID Pesanan agar tindakan ini tersedia bagi pengguna yang melihat Look:


dimension: id {
  primary_key: yes
  type: number
  sql: ${TABLE}.id ;;
  link: {
    label: "Contact Warehouse Support"
    url: "mailto:warehouse@altostrat.com"
  }
}

Di Look, pengguna akan melihat link Hubungi Dukungan Gudang di antara opsi dalam menu link, yang dapat diakses dengan mengklik menu tiga titik untuk salah satu nilai kolom ID Pesanan.

Mengklik nama link akan mengarahkan pengguna ke konten yang ditautkan — dalam hal ini, tab baru dengan draf email kosong yang ditujukan ke alamat email yang ditentukan.

Saat pengguna mengklik link, Looker akan membuka link di tab browser baru atau di tab yang sama (atau iframe, untuk kueri yang disematkan):

  • Link absolut, seperti https://example.looker.com, akan terbuka di tab browser baru.
  • Link relatif, seperti /dashboards/456, akan terbuka di tab browser atau iframe yang sama. Setelah link dibuka, pengguna dapat mengklik Kembali di browser untuk kembali ke kueri asli.

Pengguna harus memiliki izin explore atau see_drill_overlay untuk mengakses link.

Parameter link mendukung variabel Liquid untuk membuat konten menjadi lebih interaktif hingga tingkat baris dan nilai. LookML mendukung dua jenis tag penggunaan Liquid: tag input nilai {{ }} dan tag logika bersyarat {% %}.

Dari keduanya, {{ }}, bersama dengan variabel Liquid value dan _filters['view_name.field_name'] , paling umum digunakan dengan link. Hal ini karena {{ }} memasukkan nilai secara langsung di tempatnya ditempatkan, seperti dalam URL.

Lihat contoh di halaman ini untuk mengetahui contoh penggunaan tag Liquid {{ }} dengan variabel value dan _filters['view_name.field_name'] untuk membuat konten interaktif dengan link.

Menautkan ke konten eksternal

Misalnya, Anda memiliki dimensi artist_name dan ingin pengguna memiliki opsi untuk menjalankan penelusuran Google untuk artis tersebut, langsung dari Looker. Anda dapat menggunakan value variabel Liquid untuk menambahkan opsi tersebut ke dimensi seperti berikut:

dimension: artist_name {
  link: {
    label: "Google"
    url: "http://www.google.com/search?q={{ value }}"
    icon_url: "http://google.com/favicon.ico"
  }
}

Saat pengguna mengklik menu tiga titik untuk nilai kolom Nama Artis, Looker akan menampilkan menu Link, yang menyertakan link yang dibuat dalam LookML contoh. Link akan membuka tab browser baru ke penelusuran Google untuk artis yang dipilih. Nama artis yang dipilih akan dimasukkan ke dalam URL tempat {{ value }} ditempatkan.

Pola ini dapat direplikasi untuk situs eksternal lain yang dapat diakses oleh browser pengguna, seperti sistem pengelolaan tiket, sistem pengelolaan klien, dan alat terkait bisnis lainnya, untuk memudahkan navigasi antar-aplikasi web.

Menautkan ke konten di Looker

Selain situs eksternal, Anda dapat menggunakan parameter link untuk mengarahkan pengguna ke Jelajah, Look, atau dasbor Looker lain yang relevan untuk pengalaman penelusuran kustom. Anda juga dapat menerapkan contoh yang sama ke link dalam parameter LookML html untuk kolom.

Untuk memulai, Anda harus mendapatkan URL Jelajah, Look, atau dasbor yang ada yang ingin Anda tautkan. Kemudian, Anda dapat mengganti elemen URL tertentu, seperti nilai dan nama filter, dengan {{ }} tag yang berisi value dan _filters['view_name.field_name'] variabel. Variabel akan memasukkan nilai yang dipilih pengguna ke dalam elemen URL yang diganti. Struktur dasar URL konten adalah sebagai berikut:

  • Jelajah: /explore/YOUR_MODEL_NAME/YOUR_EXPLORE_NAME?fields=view_name.field_name1,view_name.field_name2...
    • Anda dapat memperoleh URL Jelajah untuk Jelajah yang ada dengan memilih opsi ikon roda gigi URL yang Diperluas.
    • Filter Jelajah akan muncul di URL sebagai f[view_name.field_name]. Lihat bagian Menautkan ke Jelajah terkait untuk mengetahui contohnya.
  • Look: /looks/YOUR_LOOK_NUMBER
  • Dasbor Buatan Pengguna: /dashboards/YOUR_DASHBOARD_NUMBER?FILTER_NAME_1=VALUE&FILTER_NAME_2=VALUE

    • Anda dapat memperoleh URL untuk dasbor yang ada dengan menyalin URL browser dari halaman dasbor.
  • Dasbor LookML: /dashboards/YOUR_MODEL::YOUR_DASHBOARD

    • Anda dapat memperoleh URL untuk dasbor LookML yang ada dengan menyalin URL browser dari halaman dasbor.

Filter dasbor untuk dasbor buatan pengguna dan LookML akan muncul di URL sebagai filter_name, dengan filter_name adalah nama yang diberikan ke filter yang ditempatkan di dasbor. Lihat bagian Meneruskan nilai filter yang ada ke konten tertaut untuk mengetahui contohnya.

Elemen URL, seperti nilai dan nama filter, dienkode URL dengan karakter khusus, seperti ? untuk menunjukkan awal string kueri, & untuk memisahkan elemen, dan %20 untuk spasi. Lihat bagian URL encoding untuk operator perbandingan lainnya untuk mengetahui contohnya.

Setelah memiliki URL konten yang ingin Anda tautkan, Anda dapat menggunakan Liquid untuk menyisipkan nilai kolom ke dalam elemen URL mana pun, menggunakan variabel value atau _filters['view_name.field_name'] dan tag {{ }}. Lihat postingan Komunitas Looker Menggunakan URL dan parameter kueri untuk mengetahui informasi selengkapnya tentang bagian URL kueri.

Kita memiliki dimensi bernama Kota. Kami ingin pengguna dapat mengakses Jelajah lain yang ada, dengan metrik kota dan filter Kota. Kami ingin Jelajah yang ditautkan difilter menurut kota yang dipilih pengguna.

Untuk mencapai hal ini:

  1. Dapatkan URL Jelajah yang ada untuk ditelusuri.
  2. Tambahkan parameter link ke dimensi Kota:
  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"
  }
  }

Di sini, URL telah disingkat menjadi limit=500, yang membatasi hasil Jelajah hingga 500 baris, agar lebih jelas — Anda dapat menyertakan bagian URL lainnya, yang biasanya menyertakan URL encoding setelan visualisasi, jika diperlukan.

  1. Sisipkan tag dan variabel Liquid {{ value }} tempat Anda ingin menyisipkan nilai ke dalam URL. Dalam hal ini, kita ingin menempatkan nilai tempat elemen filter, f[users.city]=, berada dalam string URL agar Jelajah difilter menurut kota yang dipilih pengguna:
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"
  }
}

Dimensi Kota kemudian akan menampilkan menu link tiga titik yang menampilkan opsi Jelajah Metrik Kota.

Saat pengguna mengklik link, mereka akan dialihkan ke Jelajah Metrik Kota, yang difilter menurut kota yang dipilih.

Anda juga dapat mempertahankan nilai filter yang ada saat menautkan ke konten Looker, seperti yang dibahas dalam contoh berikut.

Contoh: Meneruskan nilai filter yang ada ke konten tertaut

Variabel Liquid lain yang didukung oleh parameter link adalah _filters['view_name.field_name']. Variabel ini mengambil nilai yang ada yang dimasukkan untuk filter dan meneruskannya ke Jelajah, dasbor, atau Look yang ditautkan.

Di URL konten, Anda dapat melihat tempat nilai filter ditentukan dan menggantinya dengan variabel _filters['view_name.field_name']. Lihat postingan Komunitas Looker Menggunakan URL dan parameter kueri untuk mengetahui informasi tentang bagian URL kueri.

Berikut adalah contoh dimensi yang menggunakan variabel _filters['view_name.field_name'] dalam parameter link-nya untuk meneruskan nilai filter yang ada untuk kolom bernama users.state:

dimension: name {
  link: {
    label: "Business Pulse By State Dashboard"
    url: "/dashboards/694?State={{ _filters['users.state'] | url_encode }}"
  }
}

Dalam contoh ini, jika pengguna memfilter kueri menurut dimensi users.state, dasbor yang ditautkan akan otomatis difilter menurut negara bagian yang sama yang dipilih dalam kueri asli. Menyertakan filter Liquid url_encode dalam contoh ini akan mengonversi string yang tidak aman untuk URL menjadi string yang dienkode persentase. Hal ini memastikan bahwa nilai filter yang berisi karakter khusus, seperti spasi atau koma, dapat diteruskan ke dasbor yang ditautkan.

Misalnya, pengguna telah memfilter kueri menurut negara bagian "California". Saat pengguna mengklik menu tiga titik di samping nilai untuk kolom Nama, menu Link akan menampilkan link ke dasbor Business Pulse by State. Saat pengguna mengklik link ini, dasbor Business Pulse by State akan otomatis difilter menurut negara bagian "California".

Hal ini juga berfungsi untuk meneruskan nilai filter ke Look dan Jelajah yang ditautkan:

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 }}"
    }
  }

Anda dapat meneruskan beberapa filter dengan menempatkan & di antara filter tersebut, seperti dalam URL berikut:

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 }}"
  }
}

Untuk mengetahui informasi tentang cara membuat filter dasbor, lihat halaman dokumentasi Membuat dasbor LookML dan Menambah dan mengedit filter dasbor yang ditentukan pengguna.

Jika admin Looker Anda telah mengaktifkan fitur Penelusuran Visual, Anda dapat menyesuaikan visualisasi yang ditampilkan di overlay penelusuran Jelajah dan Look menggunakan parameter link dan variabel Liquid. Dasbor mendukung penelusuran visual menggunakan parameter link tanpa perlu mengaktifkan fitur Penelusuran Visual.

Berikut adalah contoh cara menetapkan visualisasi penelusuran ke diagram pencar:


  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"
    }
  }

Lihat halaman Praktik Terbaik Penelusuran data yang lebih andal untuk mengetahui contoh penyesuaian visualisasi penelusuran lainnya.

Hal yang perlu dipertimbangkan saat menautkan ke konten Looker

Mungkin ada kasus ketika Anda perlu menyertakan operator perbandingan filter selain sama dengan, menyertakan beberapa filter, atau menggunakan escape koma dalam link ke konten Looker. Bagian berikut memberikan informasi selengkapnya tentang kasus penggunaan ini.

URL encoding operator perbandingan lainnya

Jika ingin menyertakan operator perbandingan dalam filter tertaut selain sama dengan (=), Anda dapat melakukannya dengan URL encoding operator.

Misalnya, jika Anda ingin filter order_id di Look yang ditautkan menyertakan nilai yang kurang dari (<) kolom order_id yang terkait dengan nilai yang Anda klik, Anda akan mengenkode karakter operator sebagian (%3C dalam hal ini) dan menambahkannya ke URL:

f[orders.order_id]=%3C{{ other_orders.order_id._value }}
Menyertakan beberapa filter

Lebih dari satu filter dapat diterapkan ke Look, dasbor, dan Jelajah yang ditautkan menggunakan simbol ampersand (&) untuk memisahkan setiap filter:

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 }}"
  }
}
Menggunakan escape koma

Anda dapat menggunakan escape koma dalam nilai tertaut dengan variabel filterable_value tempat Anda biasanya menggunakan variabel value.

Link berikut akan menelusuri Jelajah yang akan memfilter hasil menurut nilai users.city yang dipilih:

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 }}"
    }
}

Jika pengguna mengklik Santa Cruz, CA untuk menelusuri hasil yang difilter menurut kota ini, penelusuran yang dihasilkan akan menampilkan semua hasil yang berisi Santa Cruz atau CA.

Jika filterable_value digunakan, bukan value, koma akan di-escape:

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 }}"
    }
}

Penelusuran yang dihasilkan akan menampilkan semua hasil yang berisi nilai string lengkap Santa Cruz, CA.

Jika Anda ingin meng-hardcode nilai filter yang berisi koma di URL penelusuran, Anda dapat menggunakan escape koma dengan mengapit nilai dalam tanda kutip ganda, lalu menggunakan escape dengan garis miring terbalik (\):

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"
    }
}

Referensi lainnya

Yang perlu diketahui

Jika dimensi berisi parameter link yang mereferensikan kolom lain, kolom tambahan tersebut dapat ditambahkan ke SQL pokok kueri yang digunakan oleh dimensi. Jika kolom yang direferensikan tidak ada dalam visualisasi kueri, dan visualisasinya adalah diagram tabel dengan kolom yang disusun ulang secara manual, urutan kolom dalam beberapa format yang didownload mungkin akan terpengaruh.