คําค้นหาประกอบด้วยประโยคย่อยหลายประโยค ได้แก่ 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_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
ประโยค 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
ประโยค 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 ได้
ค่าเริ่มต้นคือการใช้สกุลเงินของบัญชีที่ระบุโดย 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