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

การค้นหาประกอบด้วยวลีต่างๆ ได้แก่ 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 ที่กำหนดเองในวลี "เลือก" โดยใช้รหัสได้

ในตัวอย่างนี้ การค้นหามีตัวแปรที่กำหนดเองที่มีรหัส 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

ประโยค 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

คำสั่ง 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

ประโยค 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

วรรค LIMIT:

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

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

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

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

วลี PARAMETERS

ประโยค 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 ได้ ค่าเริ่มต้นคือการใช้สกุลเงินท้องถิ่นสำหรับบัญชี หากตั้งค่าพารามิเตอร์นี้ คุณต้องใช้รหัสสกุลเงิน 3 อักขระตามมาตรฐาน ISO 4217 เช่น USD, EUR

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

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"

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