jenis

Halaman ini merujuk pada parameter type yang merupakan bagian dari gabungan.

type juga dapat digunakan sebagai bagian dari dimensi, yang dijelaskan di halaman dokumentasi Jenis dimensi, filter, dan parameter.

type juga dapat digunakan sebagai bagian dari pengukuran, yang dijelaskan di halaman dokumentasi Jenis pengukuran.

type juga dapat digunakan sebagai bagian dari filter dasbor, yang dijelaskan di halaman dokumentasi Parameter dasbor.

type juga dapat digunakan sebagai bagian dari elemen dasbor, yang dijelaskan di halaman dokumentasi parameter type (untuk dasbor LookML).

Penggunaan

explore: view_name {
  join: view_name_2 {
    type: inner
  }
}
Hierarki
type
Nilai Default
left_outer

Menerima
Jenis gabungan (cross, full_outer, inner, left_outer)

Aturan Khusus
Saat menggunakan type selain left_outer, Anda mungkin ingin menggunakan always_join untuk memastikan baris yang dihasilkan menyertakan batasan gabungan

Definisi

type memungkinkan Anda mendeskripsikan jenis gabungan yang ingin Anda lakukan.

Kemungkinan nilai jenis gabungan dijelaskan di bagian halaman ini:

left_outer (nilai default)

Jenis gabungan yang paling umum di Looker adalah left_outer (alasan seringnya penggunaan jenis gabungan ini dijelaskan di bagian Jenis gabungan left_outer biasanya lebih disukai di halaman ini). Anda mungkin mengenalnya dari SQL sebagai LEFT JOIN. Saat Anda menggunakan type ini, semua baris dari Eksplorasi akan disertakan dan data dari tampilan gabungan akan dimasukkan, jika tersedia.

full_outer

Jenis gabungan full_outer — yang mungkin Anda kenal dari SQL sebagai FULL OUTER JOIN — mencakup semua baris dari Eksplorasi dan tampilan gabungan, meskipun tidak ada data yang sesuai dari tampilan lainnya.

inner

Jenis gabungan inner — yang mungkin Anda kenal dari SQL sebagai JOIN atau INNER JOIN — hanya menyertakan baris yang memiliki kecocokan catatan di Eksplorasi dan tampilan gabungan.

cross

Jenis gabungan cross — yang mungkin Anda kenal dari SQL sebagai CROSS JOIN — jarang digunakan. Terkadang berguna untuk pengisian nol atau pembuatan matriks. Tabel ini membuat baris untuk setiap kombinasi tampilan gabungan dan Jelajahi.

Contoh

Gunakan FULL OUTER JOIN untuk menambahkan data user ke data order, meskipun pengguna belum melakukan pemesanan:

explore: order {
  join: user {
    sql_on: ${order.user_id} = ${user.id} ;;
    type: full_outer
  }
}

Gunakan INNER JOIN untuk menambahkan data user ke data event, dan batasi hasil hanya pada peristiwa yang dihasilkan oleh pengguna:

explore: event {
  join: user {
    sql_on: ${event.user_id} = ${user.id} ;;
    type: inner
  }
}

Gunakan CROSS JOIN untuk membuat semua kemungkinan kombinasi owner dan property:

explore: property {
  join: owner {
    sql_on: 1 = 1 ;; # this sql_on condition is required in some dialects,
    type: cross      # but causes problems in other dialects, try adding or
  }                  # removing if you experience problems with cross joins
}

Yang perlu diketahui

Jenis gabungan left_outer biasanya lebih disukai

Saat mempelajari dan menggunakan SQL, banyak orang yang berfokus terutama pada JOIN, yang secara teknis dikenal sebagai "inner join". Oleh karena itu, orang mungkin menganggap bahwa type: inner_join harus digunakan dalam sebagian besar kasus. Namun, Looker biasanya berfungsi paling baik dengan type: left_outer, yang seperti menggunakan LEFT JOIN di SQL.

Alasannya adalah karena tampilan yang terkait dengan Eksplorasi (berbeda dengan tampilan yang digabungkan ke dalam Eksplorasi) biasanya merupakan data "utama". Misalnya, Anda mungkin memiliki Eksplorasi berdasarkan informasi peristiwa. Beberapa peristiwa mungkin dihasilkan oleh sistem Anda dan peristiwa lainnya mungkin dihasilkan oleh pengguna Anda. Jika Anda menggabungkan user ke event menggunakan JOIN reguler, Anda hanya akan dapat melihat acara yang dibuat oleh pengguna, dan Anda akan kehilangan visibilitas ke acara sistem. Dengan menggunakan LEFT JOIN, Anda akan dapat melihat semua peristiwa, terlepas dari apakah ada pengguna yang terkait dengan peristiwa tersebut atau tidak.

Anda mungkin ingin menggunakan always_join jika membatasi baris itu penting

Saat membuat SQL untuk kueri, Looker akan mencoba membuat SQL yang paling bersih, dan hanya akan menggunakan gabungan yang diperlukan untuk kolom yang dipilih pengguna. Saat menggunakan type untuk menentukan sesuatu selain LEFT JOIN, Anda mungkin selalu ingin gabungan tertentu (atau serangkaian gabungan) menjadi bagian dari kueri, untuk memastikan baris yang dihasilkan menyertakan batasan gabungan Anda. Anda dapat melakukannya menggunakan parameter always_join.