Pengantar LookML

LookML, singkatan dari Looker Modeling Language, adalah bahasa yang digunakan di Looker untuk membuat model data semantik. Anda dapat menggunakan LookML untuk mendeskripsikan dimensi, agregat, penghitungan, dan hubungan data di database SQL. Looker menggunakan model yang ditulis dalam LookML untuk menyusun kueri SQL terhadap database tertentu.

LookML adalah bahasa dependensi seperti make, bukan bahasa imperatif seperti C atau Ruby. LookML menyediakan jenis data dan sintaksis yang telah ditentukan sebelumnya untuk pemodelan data. Anda tidak memerlukan pengalaman sebelumnya dengan bahasa pemrograman untuk memahami LookML. LookML tidak bergantung pada dialek SQL tertentu, dan LookML merangkum ekspresi SQL untuk mendukung implementasi SQL apa pun.

Untuk analis data, LookML mendorong gaya DRY ("don't repeat yourself"), yang berarti Anda menulis ekspresi SQL sekali, di satu tempat, dan Looker menggunakan kode tersebut berulang kali untuk membuat kueri SQL ad hoc. Pengguna bisnis kemudian dapat menggunakan hasilnya untuk membuat kueri kompleks di Looker, dengan hanya berfokus pada konten yang mereka butuhkan, bukan kompleksitas struktur SQL.

Project LookML

LookML ditentukan dalam project. Project LookML adalah kumpulan file yang mencakup setidaknya file model dan tampilan, dan secara opsional jenis file lainnya, yang biasanya dikontrol versinya bersama-sama melalui repositori Git. File model berisi informasi tentang tabel mana yang akan digunakan project dan cara tabel tersebut harus digabungkan. File tampilan menjelaskan cara informasi dihitung tentang setiap tabel (atau di beberapa tabel jika gabungan mengizinkan hal ini).

LookML memisahkan struktur dari konten, sehingga struktur kueri (cara tabel digabungkan) tidak bergantung pada konten kueri (kolom yang akan diakses, kolom turunan, fungsi agregat yang akan dihitung, dan ekspresi pemfilteran yang akan diterapkan).

Kueri Looker didasarkan pada file project LookML. Analis data menggunakan LookML untuk membuat dan memelihara model data yang menentukan struktur data dan aturan bisnis untuk data yang sedang dianalisis. Generator SQL Looker menerjemahkan LookML ke SQL, yang memungkinkan pengguna bisnis membuat kueri tanpa menulis LookML atau SQL.

Pengguna bisnis menggunakan pembuat kueri Looker, atau antarmuka Jelajah, untuk membuat kueri yang didasarkan pada model data yang ditentukan oleh analis Looker. Pengguna dapat memilih dimensi, ukuran, dan filter untuk membuat kueri kustom yang didasarkan pada pertanyaan mereka sendiri dan untuk menghasilkan insight mereka sendiri.

Saat pengguna membuat kueri, kueri tersebut akan dikirim ke generator SQL Looker, yang menerjemahkan kueri ke SQL. Kueri SQL dijalankan terhadap database, lalu Looker menampilkan hasil yang diformat kepada pengguna di antarmuka Jelajah. Pengguna kemudian dapat memvisualisasikan hasil dan menghasilkan insight.

Untuk mengetahui detail selengkapnya tentang elemen LookML mendasar dalam project dan hubungannya satu sama lain, lihat Istilah dan konsep LookML.

Yang dilihat pengguna

Cara project disiapkan, dan konten spesifik file-nya, menentukan apa yang dilihat pengguna dan cara mereka dapat berinteraksi dengan Looker.

  1. Panel Jelajah di panel navigasi sebelah kiri diatur berdasarkan nama model. Di bawah setiap nama model terdapat daftar Jelajah yang tersedia yang ditentukan dalam model tersebut.
  2. Pengguna dapat menelusuri Jelajah tertentu.
  3. Developer dapat menentukan deskripsi untuk Jelajah, yang dapat dilihat pengguna dengan mengarahkan kursor ke nama Jelajah di menu Jelajah.

  4. Panel pemilih kolom diatur berdasarkan nama tampilan. Di bawah setiap nama tampilan terdapat daftar kolom yang tersedia dari tabel yang disertakan dalam tampilan tersebut. Sebagian besar tampilan menampilkan dimensi dan ukuran. Contoh ini memilih dimensi Bulan dari dalam grup dimensi Tanggal Dikembalikan, yang ditentukan dalam file tampilan.

  5. Pengguna dapat memilih beberapa ukuran yang akan digunakan sebagai dasar kueri.

  6. Pengguna dapat menerapkan opsi seperti filter dan pivot di panel pemilih kolom.

  7. Pengguna dapat menyempurnakan persyaratan kueri.

  8. Pengguna dapat memilih jenis visualisasi yang akan diterapkan ke hasil kueri.

  9. Menjalankan Jelajah ini akan menghasilkan kueri SQL yang menampilkan tabel data dan visualisasi harga jual total dan margin kotor total pesanan yang dikembalikan dari tahun lalu.

Contoh kode

Contoh kode berikut menunjukkan project LookML minimal untuk toko e-commerce, yang memiliki file model — ecommercestore.model.lkml — dan dua file tampilan — orders.view.lkml dan customers.view.lkml:

######################################
# FILE: ecommercestore.model.lkml    #
# Define the explores and join logic #
######################################
connection: order_database
include: "*.view.lkml"
explore: orders {
  join: customers {
    sql_on: ${orders.customer_id} = ${customers.id} ;;
  }
}

##########################################################
# FILE: orders.view.lkml                                 #
# Define the dimensions and measures for the ORDERS view #
##########################################################
view: orders {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: customer_id {      # field: orders.customer_id
    sql: ${TABLE}.customer_id ;;
  }
  dimension: amount {           # field: orders.amount
    type: number
    value_format: "0.00"
    sql: ${TABLE}.amount ;;
  }
  dimension_group: created {                # generates fields:
    type: time                              # orders.created_time, orders.created_date
    timeframes: [time, date, week, month]   # orders.created_week, orders.created_month
    sql: ${TABLE}.created_at ;;
  }
  measure: count {             # field: orders.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # list of fields to show when someone clicks 'ORDERS Count'
  }
  measure: total_amount {
    type: sum
    sql: ${amount} ;;
  }
  set: drill_set {
    fields: [id, created_time, customers.name, amount]
  }
}

#############################################################
# FILE: customers.view.lkml                                 #
# Define the dimensions and measures for the CUSTOMERS view #
#############################################################
view: customers {
  dimension: id {
    primary_key: yes
    type: number
    sql: ${TABLE}.id ;;
  }
  dimension: city {                    # field: customers.city
    sql: ${TABLE}.city ;;
  }
  dimension: state {                   # field: customers.state
    sql: ${TABLE}.state ;;
  }
  dimension: name {
    sql: CONCAT(${TABLE}.firstname, " ", ${TABLE}.lastname) ;;
  }
  measure: count {             # field: customers.count
    type: count                # creates a sql COUNT(*)
    drill_fields: [drill_set*] # fields to show when someone clicks 'CUSTOMERS Count'
  }
  set: drill_set {                     # set: customers.drill_set
    fields: [id, state, orders.count]  # list of fields to show when someone clicks 'CUSTOMERS Count'
  }
}

Referensi lainnya

Jika Anda baru menggunakan pengembangan LookML, pertimbangkan untuk menggunakan referensi yang dijelaskan di bagian berikut untuk mempercepat pembelajaran Anda:

Mendapatkan akses ke lingkungan pembelajaran Looker

Lihat kursus di Google Cloud Skills Boost.

Mempelajari cara menggunakan Looker untuk membuat kueri dan menjelajahi data

Mengetahui cara menjelajahi data di Looker akan sangat membantu Anda saat membuat model data di LookML. Jika Anda belum terbiasa menggunakan Looker untuk membuat kueri, memfilter, dan menelusuri data, sebaiknya gunakan referensi berikut:

Meninjau dasar-dasar SQL sebelum mempelajari LookML

Menulis LookML memerlukan pemahaman tentang kueri SQL. Anda tidak harus menjadi ahli SQL, dan bahkan pemula dapat membuat model Looker yang canggih. Namun, secara umum, semakin dalam Anda mempelajari LookML, semakin banyak manfaat yang Anda dapatkan dari pengetahuan SQL yang lebih mendalam.

Jika Anda memerlukan penyegaran SQL, berikut beberapa referensi favorit kami:

Mempelajari dasar-dasar LookML

Referensi ini akan mempercepat pengetahuan LookML Anda. Gunakan akun pembelajaran Anda untuk bereksperimen dengan pola desain yang berbeda.

Setelah mempelajari dasar-dasar LookML, lihat halaman berikut untuk mengetahui ringkasan berbagai jenis parameter LookML: