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

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

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

พูดง่ายๆ ก็คือ หากต้องการสร้างการสืบค้นข้อมูล คุณต้องทำดังนี้

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

SELECT วลี

วรรค SELECT:

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

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

SELECT
  campaign.id,
  campaign.name
FROM campaign

ประเภทช่องหลายประเภท

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

ตัวอย่างคำค้นหาด้านล่างแสดงคำค้นหา 1 รายการที่มีชุดค่าผสมของรายการต่อไปนี้

  • ช่องทรัพยากร: 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:

  • เป็นอนุประโยคที่ไม่บังคับในการค้นหา
  • ระบุลำดับที่ผลลัพธ์จะแสดงผล การเรียงลำดับจะมีรูปแบบดังนี้ 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"

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

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