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