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

คําค้นหาประกอบด้วยประโยคย่อยหลายประโยค ได้แก่ 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

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

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

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

ตัวอย่างการค้นหานี้จะแสดงผล bidding_strategy.name, bidding_strategy.type และ metrics.cost_micros จาก login_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

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