Tạo bảng

Các bảng tạm thời và bảng cố định giúp bạn đơn giản hoá các cụm từ tìm kiếm, giúp bạn dễ dàng nắm bắt và duy trì chúng hơn. Bằng cách tạo lớp trung gian các kết quả mà bạn có thể sử dụng lại, đồng thời cung cấp cho bạn tùy chọn giữ lại dữ liệu chưa được tổng hợp, bạn có thể giảm tài nguyên cần thiết để thực thi các truy vấn, để cải thiện hiệu suất.

Các bảng đã tạo phải tuân theo cùng một giá trị tĩnh kiểm tra quyền riêng tư, các hàm được phép, và giới hạn khi tham gia trường được thực thi thông qua Ads Data Hub. Chế độ kiểm tra tiêu chuẩn để đảm bảo quyền riêng tư được áp dụng khi dữ liệu từ câu lệnh SELECT cuối cùng được xuất sang BigQuery.

Để tạo bảng, hãy làm theo cú pháp BigQuery:

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

Các mệnh đề sau không được hỗ trợ:

  • IF NOT EXISTS
  • PARTITION BY
  • CLUSTER BY

Bảng tạm thời

Bảng tạm thời (hay temp) cải thiện khả năng đọc truy vấn và cho phép bạn để tạo ra các kết quả trung gian không phụ thuộc vào tổng hợp hoặc khác biệt các yêu cầu liên quan.

Bảng tạm thời:

  • Chỉ tồn tại ở cấp phiên hoạt động và hết hạn sau khi thực thi truy vấn
  • Chỉ có thể dùng trong truy vấn mà từ đó được tạo
  • Không phải tuân theo các yêu cầu về quyền riêng tư tổng hợp hoặc biệt lập
  • Hỗ trợ không gian tên tmp (không bắt buộc)

Để tạo bảng tạm thời, hãy sử dụng câu lệnh CREATE TEMP TABLE. Ví dụ này tạo một bảng tạm thời để lưu trữ kết quả của một truy vấn, sau đó sử dụng bảng tạm thời trong truy vấn con:

-- 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 -- Alternative: tmp.creative_list
WHERE
  imps > 100
GROUP BY
  creative_id;

Bảng cố định

Nếu cần tạo bảng trung gian để sử dụng trong các truy vấn khác, bạn có thể hãy tạo một bảng ổn định. Cú pháp giống như đối với bảng tạm thời, không có mệnh đề TEMP. Các bảng ổn định đã được lọc trước, nghĩa là tổng hợp các lần kiểm tra không được áp dụng và kéo dài trong 72 giờ. Nếu một bảng có tên đã chọn đã tồn tại, nó đã bị ghi đè.

Bảng cố định:

  • Hết hạn sau 72 giờ
  • Có thể được dùng bên ngoài truy vấn đã tạo truy vấn đó
  • Phải tuân theo các yêu cầu tổng hợp
  • Chỉ yêu cầu không gian tên tmp khi truy cập vào bảng qua một truy vấn sau này

Để tạo một bảng cố định, hãy sử dụng câu lệnh CREATE TABLE. Ví dụ này tạo một bảng cố định để lưu trữ kết quả của một truy vấn, sau đó sử dụng bảng cố định trong truy vấn sau này:

Cụm từ tìm kiếm 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
);

Cụm từ tìm kiếm 2

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

Áp dụng chế độ kiểm tra để đảm bảo quyền riêng tư

Ads Data Hub cũng hỗ trợ cú pháp SQL để tạo bảng kết quả trung gian đều phải được kiểm tra để đảm bảo quyền riêng tư.

Để tạo một bảng cần kiểm tra để đảm bảo quyền riêng tư, hãy thêm mệnh đề OPTIONS vào truy vấn của bạn:

OPTIONS(privacy_checked_export=true)

Ví dụ sau sẽ tạo một bảng tạm thời cấp phiên hoạt động và áp dụng các chế độ kiểm tra để đảm bảo quyền riêng tư:

-- 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
);

Ví dụ này sẽ tạo một bảng cố định, áp dụng các chế độ kiểm tra để đảm bảo quyền riêng tư và xuất bảng này đối với dự án Google Cloud của bạn:

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

Xuất nhiều bảng bằng một truy vấn duy nhất

Ads Data Hub hỗ trợ cú pháp SQL linh hoạt để xuất kết quả có thể xem trong trường hợp một bảng cho mỗi truy vấn là không đủ. Các bảng này đều phải trải qua cùng quy trình kiểm tra để đảm bảo quyền riêng tư được thực thi thông qua Ads Data Hub.

Cú pháp để xuất bảng cùng với biểu thức SQL chính là:


CREATE TABLE <project_name.dataset_name.table_name>
  OPTIONS(privacy_checked_export=true) AS query_statement;

Ví dụ: để xuất một bảng sang đích BigQuery myproject.mydataset.mytable chứa số lượng hàng cho mỗi chiến dịch Mã nhận dạng của bảng adh.google_ads_impressions:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;

Các bảng cũng có thể được tham chiếu trong cùng một truy vấn mà bảng đó được tạo. Ví dụ: truy vấn:


CREATE TABLE `myproject.mydataset.mytable` OPTIONS(privacy_checked_export=true) AS
  SELECT campaign_id, COUNT(*) AS ct
  FROM adh.google_ads_impressions
  GROUP BY campaign_id;
SELECT ct FROM `myproject.mydataset.mytable`;

cho ra hai bảng:

  • Một cột tại myproject.mydataset.mytable, với các cột campaign_idct
  • Một ở vị trí được chỉ định trong trường Bảng đích của công việc đối số, với cột ct

Bạn cũng có thể thêm một bản tóm tắt hàng đã lọc vào các bảng này. Đọc bài viết về tóm tắt hàng đã lọc.