Window
BigQuery
LAG
Mengakses nilai dari baris sebelumnya dalam partition berdasarkan offset yang ditentukan.
Tipe hasil:
Same as input expressionDiperbarui: 7 Jan 2026Syntax
SQL
LAG(expression [, offset [, default_value]]) OVER ([PARTITION BY partition_expression] ORDER BY sort_expression)Parameter
expressionanywajib
Kolom atau ekspresi yang nilainya diambil
ORDER BYexpressionwajib
Menentukan urutan baris
offsetINT64opsional
Jumlah baris ke belakang (default: 1)
Default: 1
default_valuesame as expressionopsional
Nilai jika tidak ada baris sebelumnya
Contoh Penggunaan
Perbandingan dengan Bulan Sebelumnya
SQL
1 SELECT 2 month, 3 revenue, 4 LAG(revenue) OVER (ORDER BY month) as prev_month_revenue, 5 revenue - LAG(revenue) OVER (ORDER BY month) as growth 6 FROM `project.dataset.monthly_sales`;
Menghitung pertumbuhan bulanan dengan membandingkan revenue.
Hasil
| month | revenue | prev_month | growth |
|---|---|---|---|
| 2024-01 | 100000 | NULL | NULL |
| 2024-02 | 120000 | 100000 | 20000 |
| 2024-03 | 115000 | 120000 | -5000 |
LAG dengan Default Value
SQL
1 SELECT 2 date, 3 stock_price, 4 LAG(stock_price, 1, stock_price) OVER (ORDER BY date) as prev_price 5 FROM `project.dataset.stocks`;
Menggunakan harga saat ini sebagai default untuk baris pertama.