Tablo oluşturma

Geçici tablolar ve kalıcı tablolar, sorguları kolaylaştırmanıza yardımcı olarak sorguların daha kolay anlaşılmasını ve korunmasını sağlar. Yeniden kullanabileceğiniz ara sonuçlar oluşturarak geçici verileri toplanmamış hâlde tutabilirsiniz. Aynı zamanda, sorguları yürütmek için gereken kaynakları azaltarak performansı artırabilirsiniz.

Oluşturulan tablolar, Ads Data Hub genelinde uygulanan statik gizlilik kontrollerine, izin verilen işlevlere ve alan birleştirme sınırlamalarına tabidir. Standart gizlilik kontrolleri, nihai SELECT ifadesinden elde edilen veriler BigQuery'ye aktarıldığında uygulanır.

Tablo oluşturmak için şu BigQuery söz dizimini uygulayın:

CREATE [OR REPLACE] [TEMP | TEMPORARY] TABLE TABLE_NAME
 [OPTIONS(privacy_checked_export=<true | false>)] AS query_statement;

Şu ifadeler desteklenmez:

  • IF NOT EXISTS
  • PARTITION BY
  • CLUSTER BY

Geçici tablolar

Geçici tablolar sorgu okunabilirliğini artırır ve toplanmamış veriler içerebilecek ara sonuçlar oluşturmanıza olanak tanır.

Geçici tablolar:

  • Yalnızca oturum düzeyinde mevcuttur ve sorgu yürütüldükten sonra bu tabloların süresi dolar.
  • Yalnızca, oluşturulduğu sorgunun içinde kullanılabilir.
  • Henüz gizlilik kontrolleri uygulanmamış birleştirilmemiş verileri saklayabilir.
  • Gerekli ad alanı olmadan ada göre referans veriliyor

Geçici tablo oluşturmak için CREATE TEMP TABLE ifadesini kullanın. Şu örnek, sorgunun sonuçlarını kaydedecek bir geçici tablo oluşturur ve daha sonra bu geçici tabloyu alt sorgularda kullanır:

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);
-- Return creatives with a count of impressions greater than 100
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  creative_list
WHERE
  imps > 100
GROUP BY
  creative_id;

Kalıcı tablolar

Başka sorgularda kullanmak üzere ara tablo oluşturmak istiyorsanız kalıcı tablo oluşturun. Söz dizimi, TEMP ifadesi dışında, geçici tablolarla aynıdır. Bu tablolar 72 saat boyunca geçerlidir. Seçili ada sahip bir tablo zaten varsa bu tablonun üzerine yazılır.

Kalıcı tablolar birleştirilmemiş verileri saklayabilir ancak tablonun içeriği, gizlilik kontrolü yapılmış sorgu sonuçları dışında görünmez.

Kalıcı tablolar:

  • 72 saat sonra sona erer.
  • Oluşturulduğu sorgunun dışında kullanılabilir.
  • Henüz gizlilik kontrolleri uygulanmamış birleştirilmemiş verileri saklayabilir.
  • tmp ad alanı üzerinden referans verilir ancak aynı sorguda ada göre de referans verilebilir.

Kalıcı tablo oluşturmak için CREATE TABLE ifadesini kullanın. Şu örnek, sorgunun sonuçlarını kaydedecek bir kalıcı tablo oluşturur ve daha sonra bu kalıcı tabloyu sonraki sorgularda kullanır.

Sorgu 1

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE creative_list AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

-- Return the total count of impressions in the table
SELECT
  COUNT(*) AS imps
FROM
  tmp.creative_list -- Alternative: creative_list

Sorgu 2

-- Return creatives which had more than 100 impressions
SELECT
  creative_id,
  COUNT(*) AS imps
FROM
  tmp.creative_list
WHERE
  imps > 100
GROUP BY
  creative_id;

Gizlilik kontrollerini uygulama

Ads Data Hub, gizlilik kontrollerine tabi kalıcı sonuç tabloları oluşturmak için SQL söz dizimini de destekler.

Gizlilik kontrollerine tabi bir tablo oluşturmak için sorgunuza OPTIONS ifadesini ekleyin.

OPTIONS(privacy_checked_export=true)

Şu örnek, oturum düzeyinde bir geçici tablo oluşturur ve gizlilik kontrollerini uygular:

-- Get a list of creative IDs and store in a temporary table called creative_list:
CREATE TEMP TABLE creative_list OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Şu örnek, kalıcı tablo oluşturur, gizlilik kontrollerini uygular ve tabloyu Google Cloud projenize aktarır:

-- Get a list of creative IDs and store in a persistent table called creative_list:
CREATE TABLE project_name.dataset_name.creative_list` OPTIONS(privacy_checked_export=true) AS (
  SELECT
    adgroup_id,
    advertiser_id,
    creative_id
  FROM
    adh.dv360_youtube_impressions
);

Aynı sorguyu kullanarak birden çok tabloyu dışa aktarma

Sorgu başına bir tablo yeterli olmadığında, Ads Data Hub görüntülenebilir sonuç tablolarını dışa aktarmak için esnek bir SQL söz dizimini destekler. Bu tablolar, Ads Data Hub'da uygulanan aynı gizlilik kontrollerine tabidir.

Bir tabloyu ana SQL ifadesiyle birlikte dışa aktarmak için kullanılacak söz dizimi şöyledir:

CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
  OPTIONS(privacy_checked_export=true) AS query_statement;

Örneğin, bir tabloyu adh.google_ads_impressions tablosundaki her kampanya kimliği için satır sayısını içeren BigQuery PROJECT_NAME.DATASET.TABLE_NAME hedefine aktarmak için:

CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
  OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

Aşağıdaki örnekte bu fikir genişletilmekte ve iki tabloyu BigQuery'ye aktarmak için aynı sorgu kullanılmaktadır:

CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
  OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME_2
  OPTIONS(privacy_checked_export=true) AS
  SELECT advertiser_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY advertiser_id;

Tablolara, oluşturuldukları sorguda da referans verilebilir. Örneğin, aşağıdaki sorgu iki tablo çıktısı verir:

CREATE TABLE PROJECT_NAME.DATASET.TABLE_NAME
  OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

SELECT ct FROM PROJECT_NAME.DATASET.TABLE_NAME;
  • İlk tablo,campaign_id ve ct sütunlarıyla PROJECT_NAME.DATASET.TABLE_NAME konumunda oluşturulur.
  • İkinci tablo, iş bağımsız değişkenlerinin Hedef tablo alanında belirtilen konumda ct sütunuyla oluşturulur.

Filtrelenmiş satır özeti ekleme

Bu tablolara, filtrelenmiş satır özeti de eklenebilir. Filtrelenmiş satır özetleri hakkında bilgi edinin.

Çalışma zamanında birden fazla tabloyu adlandırma

Bir sorguda birden fazla tablo oluştururken bunları adlandırmanın iki yolu vardır:

  • SQL'de tabloları aşağıdaki biçimi kullanarak açıkça adlandırın: PROJECT_NAME.DATASET.TABLE_NAME.
  • SQL'de yer tutucu olarak parametreleri kullanın ve tabloları çalışma zamanında adlandırın.