โครงสร้างและวรรคของคําค้นหา

คำค้นหาประกอบด้วยหลายวลี ดังนี้ SELECT FROM WHERE ORDER BY LIMIT และ PARAMETERS

โดยใช้ชื่อฟิลด์ ชื่อทรัพยากร โอเปอเรเตอร์ เงื่อนไข และ การเรียงลำดับที่รวมกันเป็นคำขอค้นหาเดียว

โดยพื้นฐานแล้ว การสร้างการค้นหาทำได้โดย

  • ระบุแหล่งข้อมูลที่จะดึงข้อมูล
  • เพิ่มฟิลด์และเมตริกเพื่อกำหนดข้อมูลที่ต้องการแสดง
  • เพิ่มกลุ่มเพื่อจัดกลุ่มผลลัพธ์
  • เพิ่มทรัพยากรที่ระบุแหล่งที่มาเพื่อรวมข้อมูลทรัพยากรที่เกี่ยวข้องโดยนัย
  • กรอง จัดเรียง และจำกัดผลลัพธ์

SELECT วลี

ข้อกำหนดใน SELECT

  • เป็นคําสั่งที่ต้องระบุในคําค้นหา
  • ระบุชุดฟิลด์ที่จะดึงข้อมูลในคำขอ
  • รับรายการฟิลด์ทรัพยากร คอลัมน์ที่กำหนดเอง ตัวแปร Floodlight ที่กำหนดเอง ฟิลด์กลุ่ม และเมตริกที่คั่นด้วยคอมมา แล้วแสดงผลค่าในการตอบกลับ

ตัวอย่างการค้นหานี้แสดงวิธีเลือกแอตทริบิวต์ของcampaign ทรัพยากร

SELECT
  campaign.id,
  campaign.name
FROM campaign

ฟิลด์หลายประเภท

คุณขอฟิลด์ประเภทต่างๆ ในคำขอเดียวกันได้

คำค้นหาตัวอย่างด้านล่างแสดงคำค้นหาเดียวที่มีการผสมผสานระหว่าง

  • ฟิลด์ทรัพยากร: campaign.id, campaign.name, bidding_strategy.id และ bidding_strategy.name

  • ฟิลด์กลุ่ม: segments.device และ segments.date

  • ฟิลด์เมตริก: metrics.impressions และ metrics.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

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

ฟิลด์ทรัพยากรหลัก

โดยปกติแล้ว คุณจะรวมฟิลด์ทรัพยากรหลักไว้ในSELECT อนุประโยค แต่จะทำหรือไม่ก็ได้ (ไม่บังคับ)

ตัวอย่างการค้นหานี้ใช้ฟิลด์ทรัพยากรหลัก (ad_group.status) เพื่อกรองผลลัพธ์เท่านั้น

SELECT campaign.id
FROM ad_group
WHERE ad_group.status = PAUSED

ตัวแปร Floodlight ที่กำหนดเอง

คุณสามารถรวมตัวแปร Floodlight ที่กำหนดเองไว้ในอนุประโยค SELECT ได้โดยใช้รหัสของตัวแปร

ในตัวอย่างนี้ คำค้นหามีตัวแปรที่กำหนดเองซึ่งมีรหัส 123454321 สำหรับ ทรัพยากรแคมเปญ

SELECT
  conversion_custom_metrics.id[123454321]
FROM campaign
SELECT
  conversion_custom_dimensions.id[123454321]
FROM campaign

คอลัมน์ที่กำหนดเอง

คุณสามารถรวมคอลัมน์ที่กำหนดเองไว้ในอนุประโยค SELECT ได้โดยใช้รหัสของคอลัมน์

ในตัวอย่างนี้ คำค้นหามีคอลัมน์ที่กำหนดเองซึ่งมีรหัส 12345678 สำหรับ ทรัพยากรแคมเปญ

SELECT
  custom_columns.id[12345678]
FROM campaign

ดูวิธีรับรหัสคอลัมน์ที่กำหนดเอง

ฟิลด์เมตริก

คุณเลือกฟิลด์เมตริกสำหรับทรัพยากรที่ต้องการได้โดยไม่ต้องรวมฟิลด์อื่นๆ จากทรัพยากรนั้นไว้ในSELECTอนุประโยค

การค้นหาตัวอย่างนี้จะเลือกเมตริก impressions และ clicks สำหรับcampaign ทรัพยากร

SELECT
  metrics.impressions,
  metrics.clicks
FROM campaign

ดูmetricsเพื่อดูรายการฟิลด์เมตริกที่คุณใช้ในคำค้นหาได้

ฟิลด์กลุ่ม

คุณเลือกฟิลด์กลุ่มได้โดยไม่ต้องระบุฟิลด์ทรัพยากรหรือเมตริกที่เกี่ยวข้องในอนุประโยค SELECT

ตัวอย่างการค้นหานี้จะแบ่งกลุ่มผลลัพธ์ตามอุปกรณ์

SELECT segments.device
FROM campaign

ดูรายการฟิลด์กลุ่มที่คุณใช้ในคำค้นหาได้ที่ segments

ฟิลด์ที่ไม่อนุญาต

คุณไม่สามารถใช้ฟิลด์ต่อไปนี้ในข้อความ SELECT

  • ฟิลด์ที่เลือกไม่ได้ ซึ่งก็คือฟิลด์ที่มีแอตทริบิวต์Selectableข้อมูลเมตา ที่ทำเครื่องหมายเป็น false

  • ฟิลด์ที่ซ้ำกัน ซึ่งก็คือฟิลด์ที่มีแอตทริบิวต์ข้อมูลเมตา Repeated ที่ทำเครื่องหมายเป็น true

  • ฟิลด์ที่ไม่พร้อมใช้งานสำหรับทรัพยากรที่ระบุในข้อ FROM เลือกแอตทริบิวต์ของทรัพยากรบางรายการพร้อมกันไม่ได้ แหล่งข้อมูลบางแหล่ง จะแสดงเฉพาะชุดย่อยของเมตริกและกลุ่มทั้งหมด

  • กลุ่มหรือเมตริกที่ใช้ร่วมกันไม่ได้ ดูข้อมูลเพิ่มเติมได้ที่ การแบ่งกลุ่ม

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

FROM clause

ข้อกำหนดใน FROM

  • เป็นข้อกำหนดที่จำเป็นสำหรับการค้นหาใน SearchAds360Service (ทั้งเมธอด Search และ SearchStream)

  • ไม่ควรใส่สำหรับคำค้นหาไปยัง SearchAds360FieldService

  • ระบุทรัพยากรหลักที่การค้นหาแสดงผล

  • ระบุได้เพียงแหล่งข้อมูลเดียว

  • กำหนดฟิลด์ที่คุณใช้ได้ในทุกๆ ข้อความอื่นๆ ในคำค้นหา

แหล่งข้อมูลที่ระบุแหล่งที่มา

หากมีทรัพยากรที่ระบุแหล่งที่มา ระบบจะรวมทรัพยากรดังกล่าวเข้ากับทรัพยากรที่คุณระบุในข้อกำหนด FROM โดยปริยาย คุณเพียงแค่ต้องเพิ่มแอตทริบิวต์ของรายการ ลงในคําสั่ง SELECT เพื่อแสดงค่าของแอตทริบิวต์

คำค้นหาตัวอย่างนี้จะแสดงทั้งรหัสกลุ่มโฆษณาและรหัสแคมเปญ เนื่องจาก campaign เป็นทรัพยากรที่เชื่อมโยงของทรัพยากร ad_group

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

resource_name ฟิลด์

ระบบจะแสดงฟิลด์ resource_name ของทรัพยากรหลักในข้อกำหนด FROM เสมอ

ในคำค้นหาตัวอย่างนี้ ad_group.resource_name จะรวมอยู่ในคำตอบ แม้ว่าจะไม่ได้เลือกอย่างชัดเจนในคำค้นหาก็ตาม

SELECT ad_group.id
FROM ad_group

ระบบจะแสดงฟิลด์ resource_name ของแหล่งข้อมูลที่มีการระบุแหล่งที่มาเมื่อเลือกฟิลด์อย่างน้อย 1 รายการ

ในคำค้นหาตัวอย่างนี้ campaign.resource_name จะรวมอยู่ในคำตอบ เนื่องจากมีการเลือก campaign.id

SELECT
  campaign.id,
  ad_group.id
FROM ad_group

Clause WHERE

ข้อกำหนดใน WHERE

  • เป็นวลีไม่บังคับในการค้นหา
  • ระบุเงื่อนไขสำหรับการกรองและการแบ่งกลุ่มข้อมูลสำหรับคำขอ โดยเงื่อนไขจะเป็นไปตามรูปแบบนี้ FIELD_NAME OPERATOR VALUE (คั่นด้วย ช่องว่าง)

  • สามารถรวมเงื่อนไขหลายรายการโดยคั่นด้วยตัวคั่น AND

ตัวอย่างการค้นหานี้แสดงวิธีใช้คําสั่ง WHERE เพื่อแสดงผลเมตริก impressions สําหรับระยะเวลาที่กําหนด

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

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

ดูช่วงวันที่เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับการระบุช่วงวันที่ในการค้นหา

กรองตามฟิลด์ resource_name

คุณใช้ช่อง resource_name เพื่อกรองหรือจัดเรียงข้อมูลได้

การค้นหาตัวอย่างนี้ใช้ฟิลด์ campaign.resource_name เพื่อกรองผลลัพธ์ ตามแคมเปญที่ระบุ

SELECT
  campaign.id,
  campaign.name
FROM campaign
WHERE campaign.resource_name = 'customers/1234567/campaigns/987654'

หลายเงื่อนไข

คุณรวมเงื่อนไขหลายรายการเพื่อกรองข้อมูลได้

ตัวอย่างการค้นหานี้ขอจำนวนเมตริก clicks สำหรับแคมเปญทั้งหมด ที่มีเมตริก impressions บนอุปกรณ์เคลื่อนที่ในช่วง 30 วันที่ผ่านมา

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแบ่งกลุ่มรายงานได้ที่การแบ่งกลุ่ม

คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่

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

ตารางต่อไปนี้แสดงการคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เริ่มต้นของตัวดำเนินการแต่ละตัว

การคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่เริ่มต้น
=/!= Case sensitive
IN/NOT IN Case sensitive
LIKE/NOT LIKE Case insensitive
CONTAINS (...) Case sensitive
REGEXP_MATCH/NOT REGEXP_MATCH Case sensitive

คุณใช้ตัวแก้ไข (?i) เพื่อเปลี่ยนความไวเริ่มต้นสำหรับ REGEXP_MATCH และ NOT REGEXP_MATCH ให้ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้ เช่น

SELECT campaign.id
FROM campaign
WHERE campaign.name REGEXP_MATCH "(?i).*test.*"

ดูรายการโอเปอเรเตอร์ทั้งหมดที่คุณใช้กรองข้อมูลได้ในข้อมูลอ้างอิงไวยากรณ์การค้นหา

กลุ่มวันที่หลัก

ฟิลด์กลุ่มต่อไปนี้เรียกว่ากลุ่มวันที่หลัก segments.date, segments.week, segments.month, segments.quarter และ segments.year

คุณใช้กลุ่มวันที่หลักในอนุประโยค WHERE เพื่อระบุวันที่หรือช่วงเวลาได้

ตัวอย่างการค้นหานี้ระบุ DURING LAST_30_DAYS สำหรับฟิลด์ segments.date ในคําสั่ง WHERE

SELECT
  campaign.id,
  campaign.name,
  segments.date,
  metrics.clicks
FROM campaign
WHERE segments.date DURING LAST_30_DAYS

ดูข้อมูลโดยละเอียดเกี่ยวกับการใช้กลุ่มวันที่หลักได้ที่ การแบ่งกลุ่ม > กลุ่มวันที่หลัก

การกรองที่ไม่ได้รับอนุญาต

ไม่อนุญาตให้กรองข้อมูลต่อไปนี้

  • ในช่องกลุ่มเป้าหมายที่ไม่ได้เลือก ยกเว้น กลุ่มเป้าหมายตามวันที่หลัก

  • ในฟิลด์ของข้อความทุกประเภท ยกเว้นประเภทพื้นฐาน (เช่น Int64Value, StringValue ฯลฯ)

  • ในแอตทริบิวต์ของฟิลด์ที่ซ้ำได้ของข้อความทุกประเภท ยกเว้นประเภทพื้นฐาน (เช่น Int64Value, StringValue เป็นต้น)

ORDER BY clause

ข้อกำหนดใน ORDER BY

  • เป็นวลีไม่บังคับในการค้นหา
  • ระบุลำดับที่จะแสดงผลลัพธ์ การเรียงลำดับจะเป็นไปตามรูปแบบนี้ FIELD_NAME ORDERING_OPTION (คั่นด้วยช่องว่าง)
  • มี 2 ตัวเลือก ได้แก่ ASC (จากน้อยไปมาก) หรือ DESC (จากมากไปน้อย) ค่าเริ่มต้นคือ จากน้อยไปมาก

ตัวอย่างคําค้นหานี้จะจัดเรียงแคมเปญตามจํานวนคลิกจากมากไปน้อย (สูงสุดไปต่ำสุด)

SELECT
  campaign.name,
  metrics.clicks
FROM campaign
ORDER BY metrics.clicks DESC

การเรียงลำดับหลายรายการ

คุณระบุฟิลด์หลายรายการในข้อความ ORDER BY ได้โดยใช้รายการที่คั่นด้วยคอมมา ผลลัพธ์จะเรียงตามลำดับเดียวกับที่คุณระบุใน คำค้นหา

การค้นหาตัวอย่างนี้จะเลือกข้อมูลกลุ่มโฆษณา และจัดเรียงผลลัพธ์จากน้อยไปมาก ตามชื่อแคมเปญ จากนั้นจัดเรียงจากมากไปน้อยตามจำนวนการแสดงผล และ จัดเรียงจากมากไปน้อยตามจำนวนคลิก

SELECT
  campaign.name,
  ad_group.name,
  metrics.impressions,
  metrics.clicks
FROM ad_group
ORDER BY
  campaign.name,
  metrics.impressions DESC,
  metrics.clicks DESC

รวมคำสั่งซื้อและจำกัด

คุณสามารถใช้คําสั่ง ORDER BY ร่วมกับคําสั่ง LIMIT เพื่อ ปรับแต่งผลลัพธ์ได้

ตัวอย่างคําค้นหานี้จะแสดงแคมเปญ 5 รายการที่มีการแสดงผลสูงสุดในช่วง 30 วันที่ผ่านมา

SELECT
  campaign.id,
  campaign.name,
  metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_30_DAYS
ORDER BY metrics.impressions DESC
LIMIT 5

การสั่งซื้อที่ไม่ได้รับอนุญาต

ไม่อนุญาตให้สั่งซื้อสิ่งต่อไปนี้

  • ตามแอตทริบิวต์ของทรัพยากรที่ไม่ได้เลือก
  • ตามเมตริกที่ไม่ได้เลือก
  • โดยกลุ่มที่ไม่ได้เลือก
  • สำหรับช่องประเภทต่อไปนี้
    • MESSAGE
    • เขตข้อมูลที่ซ้ำได้
    • แอตทริบิวต์ของฟิลด์ที่ซ้ำ

LIMIT clause

ข้อกำหนดใน LIMIT

  • เป็นวลีไม่บังคับในการค้นหา
  • ให้คุณจำกัดจำนวนผลลัพธ์ที่คำค้นหาแสดง

เช่น หากคุณสนใจเฉพาะตัวอย่างหรือสรุปผลลัพธ์ ข้อความนี้จะมีประโยชน์

คำค้นหาตัวอย่างนี้จะจำกัดจำนวนผลลัพธ์ทั้งหมดไว้ที่ 50 รายการ

SELECT
  campaign.name,
  ad_group.name,
  segments.device,
  metrics.impressions
FROM ad_group
ORDER BY metrics.impressions DESC
LIMIT 50

พารามิเตอร์

โดยอนุประโยค PARAMETERS จะช่วยให้คุณระบุพารามิเตอร์เมตาสำหรับคำขอได้

รวมฉบับร่าง

พารามิเตอร์ include_drafts จะควบคุมว่าจะรวมเอนทิตีฉบับร่างไว้ในผลลัพธ์หรือไม่ ค่าเริ่มต้นคือ false ตั้งค่าเป็น true เพื่อรวมเอนทิตีฉบับร่าง

การค้นหาตัวอย่างนี้จะแสดงทั้งแคมเปญฉบับร่างและแคมเปญปกติ

SELECT campaign.name
FROM campaign
PARAMETERS include_drafts=true

ละเว้นรายการที่ไม่ได้เลือก resource_name

พารามิเตอร์ omit_unselected_resource_names ช่วยให้คุณยกเว้นฟิลด์ resource_name ของทรัพยากรทั้งหมดที่ไม่ได้ขออย่างชัดแจ้งในข้อกำหนด SELECT ค่าเริ่มต้นคือ false หากตั้งค่าพารามิเตอร์นี้เป็น true เราขอแนะนําให้คุณขอชื่อทรัพยากรของทรัพยากรหลักอย่างชัดเจน และทรัพยากรใดก็ตามที่มีการระบุแหล่งที่มาในข้อกําหนด SELECT

คำค้นหาตัวอย่างนี้จะไม่แสดงฟิลด์ campaign.resource_name หรือฟิลด์ customer.resource_name เนื่องจากไม่ได้รวมไว้ในคําสั่ง SELECT

SELECT
  campaign.name,
  customer.id
FROM campaign
PARAMETERS omit_unselected_resource_names = true

คำค้นหาตัวอย่างนี้จะแสดงฟิลด์ campaign.resource_name เนื่องจากมีการขออย่างชัดเจนในคําสั่ง SELECT

SELECT
  campaign.name,
  campaign.resource_name
FROM campaign
PARAMETERS omit_unselected_resource_names = true

เปลี่ยนสกุลเงินที่ใช้ในเมตริก

พารามิเตอร์ metrics_currency ช่วยให้คุณระบุสกุลเงินที่จะใช้เมื่อ คํานวณเมตริกที่รวมอยู่ในข้อกําหนด SELECT ค่าเริ่มต้นคือการใช้ สกุลเงินของบัญชีที่ระบุโดย customer_id หากตั้งค่าพารามิเตอร์นี้ คุณต้องใช้รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 เช่น USD, EUR

การค้นหาตัวอย่างนี้จะแสดงเมตริก cost_micros ในสกุลเงินของบัญชี ที่ระบุโดย customer_id

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"

การค้นหาตัวอย่างนี้จะแสดงเมตริก cost_micros ในสกุลเงินเปโซชิลี (CLP)

SELECT
  campaign.name,
  metrics.cost_micros
FROM campaign
WHERE segments.date >= "2018-08-15"
AND segments.date < "2018-08-16"
PARAMETERS metrics_currency = "CLP"

เปิดใช้การขยาย MCC

เมื่อตั้งค่าเป็น "จริง" พารามิเตอร์ enable_mcc_expansion จะช่วยให้คุณรวมเมตริก ฟิลด์ และกลุ่มจากบัญชีทั้งหมดที่เริ่มต้นที่ customer_id สำหรับ ทรัพยากรในคําสั่ง FROM ได้ การตอบกลับจะใช้สกุลเงินของ customer_id เว้นแต่จะระบุไว้อย่างชัดเจนในพารามิเตอร์ metrics_currency

ตัวอย่างการค้นหานี้จะแสดง bidding_strategy.name, bidding_strategy.type และ metrics.cost_micros จากบัญชีทั้งหมดในลำดับชั้นบัญชีที่เริ่มต้นที่ customer_id เนื่องจากตั้งค่าพารามิเตอร์ enable_mcc_expansion เป็น true

SELECT
  bidding_strategy.name,
  bidding_strategy.type,
  metrics.cost_micros
FROM bidding_strategy
WHERE segments.date DURING LAST_14_DAYS
PARAMETERS enable_mcc_expansion = true

ดูข้อมูลเพิ่มเติม