Sorgular, SELECT
,
FROM
,
WHERE
,
ORDER BY
,
LIMIT
ve PARAMETERS
gibi çeşitli kısımlardan oluşur.
Cümleler, tek bir sorgu isteği olarak birleştirilen alan adları, kaynak adları, operatörler, koşullar ve sıralama kullanır.
Temel olarak, sorgu oluşturmak için:
- Verilerin alınacağı bir kaynak belirtin.
- Döndürmek istediğiniz verileri tanımlamak için alanlar ve metrikler ekleyin.
- Sonuçlarınızı gruplandırmak için segmentler ekleyin.
- İlgili kaynak verilerini dolaylı olarak birleştirmek için ilişkilendirilmiş kaynaklar ekleyin.
- Sonuçlarınızı filtreleyin, sıralayın ve sınırlayın.
SELECT
koşulu
SELECT
koşulu:
- Sorgudaki zorunlu bir yan tümcedir.
- İstekte getirilecek bir alan grubunu belirtir.
- Kaynak alanlarının, özel sütunların, özel Floodlight değişkenlerinin, segment alanlarının ve metriklerin virgülle ayrılmış bir listesini alır ve yanıtta değerleri döndürür.
Bu örnek sorguda, campaign
kaynağının özelliklerinin nasıl seçileceği gösterilmektedir:
SELECT
campaign.id,
campaign.name
FROM campaign
Birden çok alan türü
Aynı istekte farklı alan türleri isteyebilirsiniz.
Aşağıdaki örnek sorguda, aşağıdakilerin bir kombinasyonunu içeren tek bir sorgu gösterilmektedir:
- Kaynak alanları:
campaign.id
,campaign.name
,bidding_strategy.id
vebidding_strategy.name
. - Segment alanları:
segments.device
vesegments.date
. - Metrik alanları:
metrics.impressions
vemetrics.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
Arama raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentasyon başlıklı makaleyi inceleyin.
Ana kaynak alanı
Genellikle ana kaynak alanınızı SELECT
yan tümcesine dahil edersiniz ancak bu isteğe bağlıdır (zorunlu değildir).
Bu örnek sorgu, yalnızca sonuçları filtrelemek için bir ana kaynak alanı (ad_group.status
) kullanır.
SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED
Özel Floodlight değişkenleri
Özel Floodlight değişkenlerini kimliklerini kullanarak SELECT yan tümcesine dahil edebilirsiniz.
Bu örnekte sorgu, kampanya kaynağı için 123454321 kimlikli bir özel değişken içerir.
SELECT
conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
conversion_custom_dimensions.id[123454321]
FROM campaign
Özel sütunlar
SELECT yan tümcesine, kimliklerini kullanarak özel sütunlar ekleyebilirsiniz.
Bu örnekte sorgu, kampanya kaynağı için 12345678 kimlikli bir özel sütun içerir.
SELECT
custom_columns.id[12345678]
FROM campaign
Özel sütun kimliklerini nasıl alacağınızı öğrenin.
Metrik alanları
SELECT
yan tümcesine kaynaktaki başka alanları dahil etmeden belirli bir kaynak için metrik alanları seçebilirsiniz.
Bu örnek sorgu, campaign
kaynağı için impressions
ve clicks
metriklerini seçer.
SELECT
metrics.impressions,
metrics.clicks
FROM campaign
Sorgularınızda kullanabileceğiniz metrik alanlarının listesi için metrics
bölümüne bakın.
Segment alanları
SELECT
yan tümcesinde eşlik eden kaynak alanları veya metrikleri belirtmeden segment alanları seçebilirsiniz.
Bu örnek sorgu, sonuçları cihaza göre segmentlere ayırır.
SELECT segments.device
FROM campaign
Sorgularınızda kullanabileceğiniz segment alanlarının listesi için segments
bölümüne bakın.
Yasaklı alanlar
SELECT
yan tümcesinde aşağıdaki alanları kullanamazsınız:
- Seçilemeyen alanlar (yani
Selectable
meta veri özelliğifalse
olarak işaretlenmiş alanlar). - Yinelenen alanlar (yani
Repeated
meta veri özelliğitrue
olarak işaretlenmiş alanlar). FROM
yan tümcesinde belirtilen kaynak için kullanılamayan alanlar. Bazı kaynakların özellikleri birlikte seçilemez. Bazı kaynaklar yalnızca tüm metriklerin ve segmentlerin bir alt kümesini sunar.- Uyumsuz segmentler veya metrikler. Daha fazla bilgi için Segmentasyon bölümüne bakın.
Her kaynak için bu bilgileri nerede bulabileceğinizle ilgili ayrıntılar için Referans belgelerine bakın.
FROM koşulu
FROM
koşulu:
SearchAds360Service
(hemSearch
hem deSearchStream
yöntemleri) için sorgularda zorunlu bir yan tümcedir.SearchAds360FieldService
adresine yapılan sorgularda dahil edilmemelidir.- Sorgunun döndürdüğü ana kaynağı belirtir.
- Yalnızca tek bir kaynak belirtilebilir.
- Sorgudaki diğer tüm yan tümcelerde kullanabileceğiniz alanları tanımlar.
İlişkilendirilen kaynaklar
İlişkilendirilmiş kaynaklar mevcutsa FROM
yan tümcesinde belirttiğiniz kaynakla dolaylı olarak birleştirilir. Değerlerini döndürmek için bu öğelerin özelliklerini SELECT
yan tümcesine eklemeniz yeterlidir.
campaign
, ad_group
kaynağının ilişkilendirilmiş bir kaynağı olduğundan bu örnek sorgu hem reklam grubu kimliğini hem de kampanya kimliğini döndürür.
SELECT
campaign.id,
ad_group.id
FROM ad_group
resource_name
alanı
FROM
yan tümcesinde ana kaynağın resource_name
alanı her zaman döndürülür.
Bu örnek sorguda, ad_group.resource_name
sorguda açıkça seçilmemiş olsa bile yanıta dahil edilir:
SELECT ad_group.id
FROM ad_group
En az bir alan seçildiğinde özellik atanmış bir kaynağın resource_name
alanı döndürülür.
Bu örnek sorguda, campaign.id
seçildiğinden campaign.resource_name
yanıta dahil edilir:
SELECT
campaign.id,
ad_group.id
FROM ad_group
WHERE koşulu
WHERE
koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- İsteğin verilerini filtreleme ve segmentlere ayırma koşullarını belirtir.
Koşullar şu kalıptadır:
FIELD_NAME
OPERATOR
VALUE
(boşluklarla ayrılır). AND
ayırıcıyla ayrılmış birden fazla koşul içerebilir.
Bu örnek sorguda, belirli bir döneme ait impressions
metriklerini döndürmek için WHERE
yan tümcesinin nasıl kullanılacağı gösterilmektedir:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Arama raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentasyon başlıklı makaleyi inceleyin.
Sorgularınızda tarih aralıkları belirtme hakkında daha fazla bilgi edinmek için Tarih aralıkları başlıklı makaleyi inceleyin.
resource_name
alanına göre filtreleme
Verileri filtrelemek veya sıralamak için resource_name
alanını kullanabilirsiniz.
Bu örnek sorgu, sonuçları belirli bir kampanyaya göre filtrelemek için campaign.resource_name
alanını kullanır:
SELECT
campaign.id,
campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'
Birden fazla koşul
Verilerinizi filtrelemek için birden fazla koşulu birleştirebilirsiniz.
Bu örnek sorgu, son 30 gün içinde mobil cihazlarda impressions
metriği olan tüm kampanyalar için clicks
metriklerinin sayısını ister.
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
Raporlarınızı segmentlere ayırma hakkında daha fazla bilgi edinmek için Segmentlere ayırma bölümüne bakın.
Büyük/küçük harfe duyarlılık
Dize değerlerinde filtreleme yaparken her operatörün varsayılan büyük/küçük harf duyarlılığı, sonuçlarınızı doğru şekilde filtrelemede önemli bir rol oynar.
Aşağıdaki tabloda, her operatörün varsayılan büyük/küçük harf duyarlılığı gösterilmektedir.
Varsayılan büyük/küçük harfe duyarlılık | |
---|---|
=/!= |
Case sensitive |
IN/NOT IN |
Case sensitive |
LIKE/NOT LIKE |
Case insensitive |
CONTAINS (...) |
Case sensitive |
REGEXP_MATCH/NOT REGEXP_MATCH |
Case sensitive |
REGEXP_MATCH
ve NOT REGEXP_MATCH
için varsayılan hassasiyeti büyük/küçük harf duyarlı olmayan olarak değiştirmek üzere (?i)
değiştiricisini kullanabilirsiniz. Örneğin:
SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"
Verilerinizi filtrelemek için kullanabileceğiniz operatörlerin tam listesi için Sorgu dil referansı başlıklı makaleyi inceleyin.
Temel tarih segmentleri
Aşağıdaki segment alanları temel tarih segmentleri olarak bilinir:
segments.date
, segments.week
, segments.month
, segments.quarter
ve
segments.year
.
Bir tarih veya saat aralığı belirtmek için WHERE
yan tümcenizde temel tarih segmentlerini kullanabilirsiniz.
Bu örnek sorgu, WHERE
yan tümcesinde segments.date
alanı için DURING LAST_30_DAYS
değerini belirtir:
SELECT
campaign.id,
campaign.name,
segments.date,
metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
Temel tarih segmentlerini kullanma hakkında ayrıntılı bilgi için Segmentasyon > Temel tarih segmentleri bölümüne bakın.
Yasaklanmış filtreleme
Filtrelemeye izin verilmez:
- Temel tarih segmentleri hariç, seçilmemiş segment alanlarında.
- Temel öğeler (ör.
Int64Value
,StringValue
vb.) hariç tüm mesaj türlerinin alanlarında. - Temel öğeler (örneğin,
Int64Value
,StringValue
vb.) hariç her türlü ileti türünün yinelenen alanlarının özelliklerinde.
ORDER BY koşulu
ORDER BY
koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- Sonuçların döndürüleceği sırayı belirtir. Sıralama şu kalıbı izler:
FIELD_NAME
ORDERING_OPTION
(boşlukla ayrılır). - İki seçenek sunar:
ASC
(artan) veyaDESC
(azalan). Varsayılan sıralama artan şekildedir.
Bu örnek sorgu, kampanyaları tıklama sayısına göre azalan düzende (en yüksekten en düşüğe) sıralar:
SELECT
campaign.name,
metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC
Birden çok sipariş
Virgülle ayrılmış bir liste kullanarak ORDER BY
yan tümcesinde birden fazla alan belirtebilirsiniz. Sonuçlar, sorguda belirttiğiniz sırayla sıralanır.
Bu örnek sorgu, reklam grubu verilerini seçer ve sonuçları kampanya adına göre artan düzende, ardından gösterim sayısına göre azalan düzende ve ardından tıklama sayısına göre azalan düzende sıralar:
SELECT
campaign.name,
ad_group.name,
metrics.impressions,
metrics.clicks
FROM ad_group
ORDER BY
campaign.name,
metrics.impressions DESC,
metrics.clicks DESC
Sıralama ve sınırı birleştirme
Sonuçlarınızı hassaslaştırmak için ORDER BY
yan tümcesini LIMIT
yan tümcesiyle birlikte kullanabilirsiniz.
Bu örnek sorgu, son 30 gün içinde en yüksek gösterim sayısına sahip beş kampanyayı döndürür:
SELECT
campaign.id,
campaign.name,
metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5
Yasaklanmış sipariş verme
Aşağıdakilere sipariş veremezsiniz:
- Seçilmemiş kaynakların özelliklerine göre.
- Seçilmemiş metriklere göre.
- Seçilmemiş segmentlere göre.
- Aşağıdaki alan türleri için:
MESSAGE
- Yinelenen alanlar
- Yinelenen alanların özellikleri.
LIMIT koşulu
LIMIT
koşulu:
- Sorgudaki isteğe bağlı bir yan tümcedir.
- Sorgunun döndürdüğü sonuç sayısını sınırlamanıza olanak tanır.
Bu yan tümce, örneğin yalnızca sonuçların bir örneği veya özeti ile ilgileniyorsanız yararlı olur.
Bu örnek sorgu, toplam sonuç sayısını 50 ile sınırlandırır:
SELECT
campaign.name,
ad_group.name,
segments.device,
metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50
PARAMETERS yan tümcesi
PARAMETERS
yan tümcesi, istek için meta parametreler belirtmenize olanak tanır.
Taslakları dahil etme
include_drafts
parametresi, taslak öğelerin sonuçlara dahil edilip edilmeyeceğini kontrol eder. Varsayılan değer false
'tir. Taslak varlıkları dahil etmek için true
olarak ayarlayın.
Bu örnek sorgu hem taslak kampanyaları hem de normal kampanyaları döndürür:
SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true
Seçilmemiş resource_name
öğeleri atla
omit_unselected_resource_names
parametresi, SELECT
yan tümcenizde açıkça istenmeyen tüm kaynakların resource_name
alanını hariç tutmanıza olanak tanır. Varsayılan değer false
'tir. Bu parametreyi true
olarak ayarlarsanız birincil kaynağın ve SELECT
yan tümcesinde ilişkilendirilmiş tüm kaynakların kaynak adını açıkça istemenizi öneririz.
Bu örnek sorgu, SELECT
yan tümcesine dahil edilmediklerinden campaign.resource_name
veya customer.resource_name
alanını döndürmez:
SELECT
campaign.name,
customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Bu örnek sorgu, SELECT
yan tümcesinde açıkça istendiği için campaign.resource_name
alanını döndürür:
SELECT
campaign.name,
campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true
Metriklerde kullanılan para birimini değiştirme
metrics_currency
parametresi, SELECT
ifadenize dahil edilen bir metriği hesaplarken kullanılacak para birimini belirtmenizi sağlar.
Varsayılan olarak hesap için yerel para birimi kullanılır. Bu parametreyi ayarlarsanız ISO 4217 3 karakterli para birimi kodunu kullanmanız gerekir.
Örneğin: TRY, EUR.
Bu örnek sorgu, cost_micros metriğini hesabın yerel para biriminde döndürür.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
Bu örnek sorgu, cost_micros metriğini Şili pesosu (CLP) cinsinden döndürür.
SELECT
campaign.name,
metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"