sql_table_name (untuk tampilan)

Halaman ini mengacu pada parameter sql_table_name yang merupakan bagian dari tampilan.

sql_table_name juga dapat digunakan sebagai bagian dari gabungan, yang dijelaskan di halaman dokumentasi parameter sql_table_name (untuk gabungan).

sql_table_name juga dapat digunakan sebagai bagian dari Eksplorasi, yang dijelaskan di halaman dokumentasi parameter sql_table_name (untuk Eksplorasi).

Penggunaan

view: view_name {
  sql_table_name: table_name ;;
}
Hierarki
sql_table_name
Nilai Default
Nama tampilan

Menerima
Nama tabel di database Anda

Aturan Khusus

Definisi

Parameter sql_table_name menentukan tabel dalam database Anda yang akan dikueri oleh tampilan.

Jika Anda ingin membuat tampilan berdasarkan tabel turunan, jangan gunakan parameter sql_table_name. Sebagai gantinya, gunakan parameter derived table, yang dijelaskan di halaman dokumentasi derived_table. Looker IDE akan menampilkan error jika Anda memiliki sql_table_name dan derived_table dalam file tampilan.

Jika tampilan tidak berisi parameter sql_table_name atau derived_table, Looker mengasumsikan bahwa tampilan didasarkan pada tabel database, dan nama tabel database cocok dengan nama tampilan. Dengan kata lain, ini:

view: my_name { ... }

secara logis setara dengan ini:

view: my_name {
  sql_table_name: my_name ;;
}

Cukup umum untuk kembali ke perilaku default ini, dan tidak menggunakan sql_table_name. Namun, ada beberapa situasi penting yang membuatnya berguna. Pertama, dalam beberapa kasus, Anda hanya ingin tampilan memiliki nama yang berbeda dengan tabel pokok, seperti untuk membersihkan nama tabel yang tidak rapi:

view: orders {
  sql_table_name: prod_orders_2 ;;
}

Selain itu, ada kasus ketika tampilan perlu didasarkan pada database atau skema yang tidak ada di jalur penelusuran default pengguna database. Kemudian, Anda dapat mencakup nama tabel, menggunakan format <schema_name>.<table_name>, seperti ini:

view: desired_view_name {
  sql_table_name: database_name.schema_name.table_name ;;
}

Mencakup nama tabel

Saat Anda mereferensikan tabel hanya menggunakan nama tabel, Looker akan menggunakan jalur penelusuran default (database dan skema) yang telah dikonfigurasi oleh admin Looker di setelan koneksi untuk koneksi database. Lihat bagian Hal yang perlu dipertimbangkan di halaman ini untuk mengetahui informasi selengkapnya.

Jika Anda perlu mereferensikan tabel dalam database dan skema yang berbeda yang tidak ada di jalur penelusuran default pengguna database, Anda dapat mencakup nama tabel menggunakan format <database_name>.<schema_name>.<table_name> untuk mengarah ke database atau skema lain:

  • Untuk merujuk tabel dari skema yang berbeda, gunakan <schema_name>.<table_name>, seperti yang ditunjukkan dalam contoh di halaman ini.
  • Untuk mereferensikan tabel dari database lain, gunakan <database_name>.<schema_name>.<table_name> lengkap.

Untuk koneksi Google BigQuery, Anda dapat mereferensikan tabel dalam project dan set data yang berbeda dengan mencakup nama tabel menggunakan format <project_name>.<dataset_name>.<table_name>. Lihat halaman dokumentasi koneksi Google BigQuery untuk mengetahui informasi tambahan.

Gabungan terfederasi

Menggabungkan dua tabel dari database yang berbeda disebut gabungan terfederasi. Gabungan terfederasi dapat dilakukan menggunakan Looker jika kedua database menggunakan dialek SQL yang sama, dialek mendukung gabungan terfederasi, dan kedua database dapat diakses dari koneksi yang sama di Looker. Bergantung pada konfigurasi database Anda, tabel juga mungkin perlu berada di mesin fisik yang sama.

Dalam kondisi tersebut, Anda dapat membuat gabungan gabungan dengan menentukan nama database setiap tabel dalam parameter sql_table_name untuk tampilan tersebut:

view: view_1 {
  sql_table_name: database_name.table_1 ;;
}

view: view_2 {
  sql_table_name: another_database_name.table_2 ;;
}

Kemudian, gabungkan tampilan ini menggunakan parameter sql_on:

explore: view_1 {
  join: view_2 {
    sql_on: ${view_1.view_1_ID} = ${view_2.view_2_ID} ;;
  }
}

Jika Anda ingin menggabungkan database yang menggunakan dialek SQL yang berbeda, sebaiknya replikasi satu database ke database lainnya sehingga Anda dapat menarik semua data dari satu sumber.

Contoh

Contoh ini membuat tampilan customers bergantung pada tabel customer_1 dari skema default:

view: customers {
  sql_table_name: customer_1 ;;
}

Contoh ini membuat tampilan customers mengandalkan tabel customer_1 dari analytics dengan mencakup nama tabel untuk menyertakan nama skema (menggunakan format <schema_name>.<table_name>):

view: customers {
  sql_table_name: analytics.customer_1 ;;
}

Hal-hal yang perlu dipertimbangkan

Tabel yang dirujuk oleh view harus dapat diakses dari koneksi saat ini

Jika parameter sql_table_name digunakan dalam objek view, objek view tersebut dapat dirujuk dalam objek explore, yang pada gilirannya dirujuk dalam objek model. Objek model memiliki connection database yang ditentukan di dalamnya. Saat Anda mereferensikan tabel database dalam parameter sql_table_name, tabel harus dapat diakses dalam koneksi terkait yang ditentukan dalam file model.

Database dan skema default (atau, untuk Google BigQuery, project penagihan dan set data) ditentukan oleh admin Looker saat mereka membuat koneksi Looker ke database Anda untuk koneksi database.

Nama tabel yang tidak mudah dipahami mungkin memerlukan pemformatan tambahan

Beberapa dialek mengharuskan nama tabel yang memiliki karakter yang tidak didukung, yang juga dikenal sebagai nama tabel "tidak ramah", diapit dengan tanda kurung siku, tanda petik ganda, atau tanda petik tunggal. Misalnya, nama tabel Customers.PaymentInfo menyertakan titik dalam nama tabel, yang dapat ditafsirkan sebagai tabel bernama PaymentInfo dalam skema Customers. Untuk memperbaikinya, jika dialek Anda memerlukan tanda kurung siku, Anda dapat menyertakan nama tabel dalam tanda kurung siku, sebagai berikut:

sql_table_name: [Customers.PaymentInfo] ;;

Jika dialek Anda memerlukan tanda kutip ganda atau tanda kutip tunggal, Anda harus mengganti tanda kurung siku untuk karakter tersebut.