สร้างตาราง

ตารางชั่วคราวและตารางถาวรช่วยคุณปรับปรุงการค้นหาให้เข้าใจและดูแลรักษาได้ง่ายขึ้น การสร้างผลลัพธ์ขั้นกลางที่คุณนํามาใช้ซ้ำได้ พร้อมกับให้ตัวเลือกในการไม่รวมข้อมูลชั่วคราวไว้ จะช่วยให้คุณลดทรัพยากรที่จําเป็นในการแสดงคําค้นหาได้ ซึ่งจะปรับปรุงประสิทธิภาพ

ตารางที่สร้างจะขึ้นอยู่กับการตรวจสอบความเป็นส่วนตัวแบบคงที่ ฟังก์ชันที่อนุญาต และข้อจํากัดการรวมช่องแบบคงที่เดียวกันซึ่งบังคับใช้ทั่วทั้ง Ads Data Hub การตรวจสอบความเป็นส่วนตัวมาตรฐานจะมีผลเมื่อระบบส่งออกข้อมูลจากคำสั่ง SELECT สุดท้ายไปยัง BigQuery

หากต้องการสร้างตาราง ให้ทำตามไวยากรณ์ BigQuery ดังนี้

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

ประโยคที่ไม่รองรับมีดังนี้

  • IF NOT EXISTS
  • PARTITION BY
  • CLUSTER BY

ตารางชั่วคราว

ตารางชั่วคราว (หรือชั่วคราว) ช่วยปรับปรุงความอ่านง่ายของข้อความค้นหา และช่วยให้คุณสร้างผลลัพธ์ขั้นกลางที่ไม่อยู่ภายใต้ข้อกำหนดการรวมหรือความแตกต่าง

ตารางชั่วคราว

  • มีอยู่ในระดับเซสชันเท่านั้นและจะหมดอายุหลังจากการเรียกใช้การค้นหา
  • ใช้ได้เฉพาะภายในคําค้นหาที่สร้าง
  • ไม่ได้อยู่ภายใต้ข้อกําหนดการรวมข้อมูลหรือความเป็นส่วนตัวแบบมีความแตกต่าง
  • รองรับเนมสเปซ tmp (ไม่บังคับ)

หากต้องการสร้างตารางชั่วคราว ให้ใช้คำสั่ง CREATE TEMP TABLE ตัวอย่างนี้จะสร้างตารางชั่วคราวเพื่อจัดเก็บผลลัพธ์ของการค้นหา จากนั้นใช้ตารางชั่วคราวในการค้นหาย่อย

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

ตารางถาวร

หากต้องการสร้างตารางข้อมูลชั่วคราวเพื่อใช้ในคําค้นหาอื่นๆ ให้สร้างตารางถาวร ไวยากรณ์จะเหมือนกับของตารางชั่วคราว แต่จะไม่มีประโยค TEMP ตารางถาวรได้รับการกรองไว้ล่วงหน้า ซึ่งหมายความว่าจะไม่มีการตรวจสอบการรวมข้อมูล และตารางจะมีอายุ 72 ชั่วโมง หากมีตารางที่มีชื่อที่เลือกอยู่แล้ว ระบบจะเขียนทับตารางนั้น

ตารางถาวร

  • หมดอายุหลังผ่านไป 72 ชั่วโมง
  • ใช้นอกคําค้นหาที่สร้างได้
  • อยู่ภายใต้ข้อกำหนดการรวม
  • กำหนดให้ต้องใช้เนมสเปซ tmp เฉพาะเมื่อเข้าถึงตารางจากการค้นหาในภายหลัง

หากต้องการสร้างตารางถาวร ให้ใช้คำสั่ง CREATE TABLE ตัวอย่างนี้จะสร้างตารางถาวรเพื่อจัดเก็บผลการค้นหา จากนั้นใช้ตารางถาวรในการค้นหาในภายหลัง

คําค้นหา 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
);

คําค้นหา 2

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

ใช้การตรวจสอบความเป็นส่วนตัว

นอกจากนี้ Ads Data Hub ยังรองรับไวยากรณ์ SQL เพื่อสร้างตารางผลลัพธ์กลางซึ่งอยู่ภายใต้การตรวจสอบด้านความเป็นส่วนตัว

หากต้องการสร้างตารางที่อยู่ภายใต้การตรวจสอบความเป็นส่วนตัว ให้เพิ่มประโยค OPTIONS ลงในข้อความค้นหา

OPTIONS(privacy_checked_export=true)

ตัวอย่างนี้จะสร้างตารางชั่วคราวระดับเซสชันและใช้การตรวจสอบความเป็นส่วนตัว

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

ตัวอย่างนี้จะสร้างตารางถาวร ใช้การตรวจสอบความเป็นส่วนตัว และส่งออกไปยังโปรเจ็กต์ Google Cloud

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

ส่งออกหลายตารางโดยใช้การค้นหารายการเดียว

ฮับข้อมูลในบริบทโฆษณารองรับไวยากรณ์ SQL ที่ยืดหยุ่นเพื่อส่งออกตารางผลลัพธ์ที่ดูได้ในกรณีที่ตาราง 1 ตารางต่อคําค้นหาไม่เพียงพอ ตารางเหล่านี้อยู่ภายใต้การตรวจสอบความเป็นส่วนตัวเดียวกันซึ่งบังคับใช้ทั่วทั้ง Ads Data Hub

ไวยากรณ์สําหรับการส่งออกตารางพร้อมกับนิพจน์ SQL หลักมีดังนี้


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

เช่น หากต้องการส่งออกตารางไปยังปลายทาง BigQuery myproject.mydataset.mytable ซึ่งมีจํานวนแถวสําหรับรหัสแคมเปญแต่ละรายการจากตาราง 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;

นอกจากนี้ คุณยังอ้างอิงตารางในคำค้นหาเดียวกันกับที่สร้างตารางนั้นได้ด้วย เช่น คําค้นหา


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

แสดงผล 2 ตาราง ดังนี้

  • รายการที่ 1 ที่ myproject.mydataset.mytable ซึ่งมีคอลัมน์ campaign_id และ ct
  • 1 รายการที่ตำแหน่งที่ระบุในช่องตารางปลายทางของอาร์กิวเมนต์งาน โดยมีคอลัมน์ ct

นอกจากนี้ คุณยังเพิ่มข้อมูลสรุปแถวที่กรองแล้วลงในตารางเหล่านี้ได้ด้วย อ่านเกี่ยวกับสรุปแถวที่กรอง