คำค้นหาประกอบด้วยหลายวลี ดังนี้
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_NAMEOPERATORVALUE(คั่นด้วย ช่องว่าง)สามารถรวมเงื่อนไขหลายรายการโดยคั่นด้วยตัวคั่น
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_NAMEORDERING_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