Kueri terdiri dari sejumlah klausa: SELECT
,
FROM
,
WHERE
,
ORDER BY
,
LIMIT
,
dan PARAMETERS
.
Klausa menggunakan nama kolom, nama resource, operator, kondisi, dan pengurutan yang digabungkan menjadi satu permintaan kueri.
Secara dasar, untuk membuat kueri, Anda:
- Menentukan resource tempat mengambil data.
- Tambahkan kolom dan metrik untuk menentukan data yang ingin Anda tampilkan.
- Tambahkan segmen untuk mengelompokkan hasil.
- Menambahkan resource yang diatribusikan untuk menggabungkan data resource terkait secara implisit.
- Filter, urutkan, dan batasi hasil.
Klausa SELECT
Klausa SELECT
:
- Merupakan klausa wajib dalam kueri.
- Menentukan kumpulan kolom yang akan diambil dalam permintaan.
- Mengambil daftar yang dipisahkan koma untuk kolom resource, kolom kustom, dan kustom variabel Floodlight, kolom segmen, dan metrik, serta menampilkan nilai dalam yang dihasilkan.
Contoh kueri ini menunjukkan cara memilih atribut campaign
referensi:
SELECT
campaign.id,
campaign.name
FROM campaign
Beberapa jenis kolom
Anda dapat meminta jenis kolom yang berbeda dalam permintaan yang sama.
Contoh kueri di bawah ini menunjukkan satu kueri dengan kombinasi:
- Kolom resource:
campaign.id
,campaign.name
,bidding_strategy.id
, danbidding_strategy.name
. - Kolom segmen:
segments.device
dansegments.date
. - Kolom metrik:
metrics.impressions
danmetrics.clicks
.
SELECT
campaign.id,
campaign.name,
bidding_strategy.id,
bidding_strategy.name,
segments.device,
segments.date,
metrics.impressions,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Lihat Segmentasi untuk mempelajari lebih lanjut cara menyegmentasi laporan penelusuran.
Kolom resource utama
Biasanya, Anda akan menyertakan kolom resource utama di SELECT
, tetapi ini bersifat opsional (tidak diperlukan).
Contoh kueri ini menggunakan kolom resource utama (ad_group.status
) untuk hanya memfilter
hasilnya.
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
Variabel Floodlight kustom
Anda dapat menyertakan variabel Floodlight kustom dalam klausa SELECT menggunakan ID.
Dalam contoh ini, kueri menyertakan variabel khusus dengan ID 123454321 untuk aset kampanye.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
Kolom kustom
Anda dapat menyertakan kolom kustom dalam klausa SELECT menggunakan ID-nya.
Dalam contoh ini, kueri menyertakan kolom kustom denganID 12345678 untuk aset kampanye.
SELECT
custom_columns.id[12345678]
FROM campaign
Lihat cara mendapatkan ID kolom kustom.
Kolom metrik
Anda dapat memilih kolom metrik untuk resource tertentu tanpa menyertakan resource lainnya
kolom dari resource dalam klausa SELECT
.
Contoh kueri ini memilih metrik impressions
dan clicks
untuk campaign
resource Anda
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
Lihat metrics
untuk
daftar kolom metrik yang dapat digunakan dalam kueri Anda.
Kolom segmen
Anda dapat memilih kolom segmen tanpa menentukan kolom resource yang menyertainya
atau metrik dalam klausa SELECT
.
Contoh kueri ini mengelompokkan hasil menurut perangkat.
SELECT segments.device
FROM campaign
Lihat segments
untuk
daftar bidang segmen yang dapat
digunakan dalam kueri Anda.
Kolom terlarang
Anda tidak dapat menggunakan kolom berikut dalam klausa SELECT
:
- Kolom yang tidak dapat dipilih, yaitu kolom dengan metadata
Selectable
ditandai sebagaifalse
. - Kolom berulang, yaitu kolom dengan atribut metadata
Repeated
ditandai sebagaitrue
. - Kolom yang tidak tersedia untuk resource yang diberikan dalam klausa
FROM
. Atribut beberapa resource tidak dapat dipilih bersama. Hanya beberapa resource menyediakan subkumpulan dari semua metrik dan segmen. - Segmen atau metrik yang tidak kompatibel. Lihat Segmentasi untuk mengetahui informasi selengkapnya tidak akurat atau tidak sesuai.
Lihat Dokumentasi referensi untuk detail tentang di mana menemukan informasi ini untuk setiap sumber daya.
Klausa FROM
Klausa FROM
:
- Merupakan klausa yang diperlukan untuk kueri untuk
SearchAds360Service
(metodeSearch
danSearchStream
). - Tidak boleh disertakan untuk kueri ke
SearchAds360FieldService
. - Menentukan resource utama yang ditampilkan kueri.
- Hanya dapat menentukan satu resource.
- Menentukan kolom yang dapat Anda gunakan di semua klausa lain dalam kueri.
Resource yang diatribusikan
Jika resource yang diatribusikan tersedia, resource tersebut akan secara implisit bergabung dengan
resource yang Anda tentukan dalam klausa FROM
. Anda hanya perlu menambahkan atributnya
ke klausa SELECT
untuk menampilkan nilainya.
Contoh kueri ini menampilkan ID grup iklan dan ID kampanye, karena
campaign
adalah resource teratribusi dari resource ad_group
.
SELECT
campaign.id,
ad_group.id
FROM ad_group
Kolom resource_name
Kolom resource_name
dari resource utama di klausa FROM
selalu
dikembalikan.
Dalam contoh kueri ini, ad_group.resource_name
akan disertakan dalam respons
meskipun tidak dipilih secara eksplisit dalam kueri:
SELECT ad_group.id
FROM ad_group
Kolom resource_name
pada resource yang diatribusikan
dikembalikan bila minimal satu isian dipilih.
Dalam contoh kueri ini, campaign.resource_name
akan disertakan dalam
respons karena campaign.id
dipilih:
SELECT
campaign.id,
ad_group.id
FROM ad_group
Klausa WHERE
Klausa WHERE
:
- Merupakan klausa opsional dalam kueri.
- Menentukan kondisi untuk pemfilteran dan segmentasi data untuk permintaan.
Kondisi mengikuti pola ini:
FIELD_NAME
OPERATOR
VALUE
(dipisahkan oleh spasi kosong). - Dapat menyertakan beberapa kondisi yang dipisahkan oleh pemisah
AND
.
Contoh kueri ini menunjukkan cara menggunakan klausa WHERE
untuk menampilkan impressions
untuk jangka waktu tertentu:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Lihat Segmentasi untuk mempelajari lebih lanjut cara menyegmentasi laporan penelusuran.
Lihat Rentang tanggal untuk mempelajari lebih lanjut cara menentukan tanggal rentang dalam kueri Anda.
Filter menurut kolom resource_name
Anda dapat menggunakan kolom resource_name
untuk memfilter atau mengurutkan data.
Contoh kueri ini menggunakan kolom campaign.resource_name
untuk memfilter hasil
menurut kampanye tertentu:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
Beberapa kondisi
Anda dapat menggabungkan beberapa kondisi untuk memfilter data.
Contoh kueri ini meminta jumlah metrik clicks
untuk semua kampanye
dengan metrik impressions
di perangkat seluler selama 30 hari terakhir.
SELECT
campaign.id,
campaign.name,
segments.device,
metrics.clicks
FROM campaign
WHERE metrics.impressions > 0
AND segments.device = MOBILE
AND segments.date DURING LAST_30_DAYS
Lihat Segmentasi untuk mempelajari lebih lanjut cara menyegmentasi laporan.
Kepekaan huruf besar/kecil
Saat memfilter nilai string, kepekaan huruf besar/kecil default dari setiap operator memainkan peran penting dalam memfilter hasil dengan benar.
Tabel berikut menunjukkan kepekaan huruf besar/kecil default dari setiap operator.
Kepekaan huruf besar/kecil default | |
---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
Anda dapat menggunakan pengubah (?i)
untuk mengubah sensitivitas default untuk
REGEXP_MATCH
dan NOT REGEXP_MATCH
tidak peka huruf besar/kecil, misalnya:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
Baca Referensi tata bahasa kueri untuk mengetahui daftar lengkap operator yang dapat Anda gunakan untuk memfilter data.
Segmen tanggal inti
Kolom segmen berikut dikenal sebagai segmen tanggal inti:
segments.date
, segments.week
, segments.month
, segments.quarter
, dan
segments.year
.
Anda dapat menggunakan segmen tanggal inti dalam klausa WHERE
untuk menentukan tanggal atau waktu
titik.
Contoh kueri ini menentukan DURING LAST_30_DAYS
untuk kolom segments.date
dalam klausa WHERE
:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Lihat Segmentasi > Segmen tanggal inti untuk informasi mendetail informasi tentang penggunaan segmen tanggal inti.
Pemfilteran terlarang
Pemfilteran tidak diizinkan:
- Pada kolom segmen yang tidak dipilih, kecuali untuk segmen tanggal inti.
- Pada kolom jenis pesan apa pun, kecuali primitif (misalnya
Int64Value
,StringValue
, dll.). - Pada atribut kolom berulang dari jenis pesan apa pun, kecuali primitif
(misalnya,
Int64Value
,StringValue
, dll.).
Klausa ORDER BY
Klausa ORDER BY
:
- Merupakan klausa opsional dalam kueri.
- Menentukan urutan hasil ditampilkan. Pengurutan mengikuti urutan berikut
pola:
FIELD_NAME
ORDERING_OPTION
(dipisahkan dengan spasi kosong). - Mengizinkan dua opsi:
ASC
(menaik) atauDESC
(menurun). Defaultnya adalah menaik.
Contoh kueri ini mengurutkan kampanye berdasarkan jumlah klik dalam urutan menurun (tertinggi ke terendah):
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Beberapa pemesanan
Anda dapat menentukan beberapa kolom dalam klausa ORDER BY
menggunakan karakter yang dipisahkan koma
daftar. Hasilnya akan diurutkan dalam urutan yang sama seperti yang Anda tentukan dalam
kueri.
Kueri contoh ini memilih data grup iklan, dan mengurutkan hasilnya dalam urutan naik mengurutkan berdasarkan nama kampanye, lalu dalam urutan menurun berdasarkan jumlah tayangan, dan lalu dalam urutan menurun berdasarkan jumlah klik:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
Gabungkan pengurutan dan batasi
Anda dapat menggunakan klausa ORDER BY
bersama klausa LIMIT
untuk
menyaring hasil Anda.
Contoh kueri ini menampilkan lima kampanye dengan tayangan tertinggi selama 30 hari terakhir:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Pemesanan terlarang
Pengurutan tidak diizinkan:
- Dengan atribut resource yang tidak dipilih.
- Menurut metrik yang tidak dipilih.
- Menurut segmen yang tidak dipilih.
- Untuk jenis kolom berikut:
MESSAGE
- Kolom berulang
- Atribut kolom berulang.
Klausa LIMIT
Klausa LIMIT
:
- Merupakan klausa opsional dalam kueri.
- Memungkinkan Anda membatasi jumlah hasil yang ditampilkan kueri.
Klausa ini berguna, misalnya, jika Anda hanya tertarik pada sampel atau ringkasan hasil.
Kueri contoh ini membatasi jumlah total hasil hingga 50:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
Klausul PARAMETERS
Klausa PARAMETERS
memungkinkan Anda menentukan parameter meta untuk permintaan.
Sertakan draf
Parameter include_drafts
mengontrol apakah entity draf disertakan dalam
hasilnya. Defaultnya adalah false
. Tetapkan ke true
untuk menyertakan entity draf.
Contoh kueri ini menampilkan kampanye draf dan kampanye biasa:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Hapus resource_name
yang batal dipilih
Parameter omit_unselected_resource_names
memungkinkan Anda mengecualikan
resource_name
dari semua resource yang tidak diminta secara eksplisit di
Klausa SELECT
. Nilai default-nya adalah false
. Jika Anda menetapkan parameter ini ke true
, kita
sebaiknya Anda meminta secara eksplisit nama resource dari resource utama
dan resource apa pun yang diatribusikan dalam klausa SELECT
.
Contoh kueri ini tidak menampilkan campaign.resource_name
atau
Kolom customer.resource_name
, karena tidak disertakan dalam SELECT
klausa:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Contoh kueri ini menampilkan kolom campaign.resource_name
, karena
diminta secara eksplisit dalam klausa SELECT
:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Ubah mata uang yang digunakan dalam metrik
Parameter metrics_currency
memungkinkan Anda menentukan mata uang yang akan digunakan
saat menghitung metrik yang disertakan dalam klausa SELECT
.
Setelan defaultnya adalah menggunakan mata uang lokal untuk akun. Jika Anda menyetel
Anda harus menggunakan kode mata uang 3 karakter ISO 4217.
Misalnya: USD, EUR.
Contoh kueri ini mengembalikan metrik cost_micros dalam mata uang lokal menggunakan akun layanan.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
Contoh kueri ini menampilkan metrik cost_micros dalam peso Cile (CLP).
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"