สร้างตาราง

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

ตารางที่สร้างขึ้นจะอยู่ภายใต้การตรวจสอบความเป็นส่วนตัว ฟังก์ชันที่อนุญาต และ ข้อจำกัดในการรวมฟิลด์ แบบคงที่เดียวกันซึ่งบังคับใช้ทั่วทั้ง 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

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

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

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

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

หากต้องการสร้างตารางชั่วคราว ให้ใช้คำสั่ง 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
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
);

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

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

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

นอกจากนี้ 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 ซึ่งมีจำนวนแถวของแต่ละแคมเปญ ID จากตาราง 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

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