ภาพรวม

เอกสารนี้อธิบายวิธีสร้างรายงานเชิงพื้นที่ทางภูมิศาสตร์แบบไดนามิกโดยใช้ข้อมูลเชิงลึกเกี่ยวกับสถานที่และ Data Studio ปลดล็อกศักยภาพของข้อมูลตำแหน่งด้วยการช่วยให้ผู้มีส่วนเกี่ยวข้องที่ไม่มีความรู้ด้านเทคนิคสามารถตอบคำถามของตนเองได้ คู่มือนี้จะแสดงวิธีเปลี่ยนรายงานแบบคงที่ให้เป็นเครื่องมือแบบอินเทอร์แอกทีฟสไตล์แผนที่ความหนาแน่นสำหรับการวิเคราะห์ตลาด โดยไม่ต้องเขียน SQL สำหรับทุกคำขอ เปิดใช้การเข้าถึงข้อมูลตำแหน่งที่ซับซ้อน เชื่อมช่องว่างระหว่างวิศวกรรมข้อมูลและระบบธุรกิจอัจฉริยะ
การใช้รูปแบบสถาปัตยกรรมนี้มีประโยชน์หลักๆ หลายประการ ดังนี้
- การแสดงข้อมูลผ่านภาพ: แปลงข้อมูลเชิงลึกเกี่ยวกับสถานที่ให้เป็นแผนที่และแผนภูมิแบบอินเทอร์แอกทีฟที่สื่อสารความหนาแน่นและแนวโน้มเชิงพื้นที่ได้ทันที
- การสำรวจที่ง่ายขึ้นโดยไม่ต้องใช้ SQL: ช่วยให้สมาชิกในทีม เช่น นักวิเคราะห์ตลาดหรือผู้วางแผนด้านอสังหาริมทรัพย์ สามารถกรองข้อมูลแบบไดนามิกโดยใช้พารามิเตอร์ที่กำหนดไว้ล่วงหน้า (เช่น การเปลี่ยน "เมือง" หรือ "ช่วงเวลาของวัน" โดยใช้เมนูแบบเลื่อนลง) โดยสามารถสำรวจข้อมูลได้โดยไม่ต้องเขียน SQL แม้แต่บรรทัดเดียว
- การทำงานร่วมกันอย่างราบรื่น: ฟีเจอร์การแชร์มาตรฐานของ Data Studio ช่วยให้คุณแชร์ข้อมูลเชิงลึกแบบอินเทอร์แอกทีฟเหล่านี้ได้อย่างปลอดภัย
เวิร์กโฟลว์ของโซลูชัน
เวิร์กโฟลว์ต่อไปนี้จะสร้างสถาปัตยกรรมการรายงานที่มีประสิทธิภาพ โดยเปลี่ยนจากเกณฑ์พื้นฐานแบบคงที่ไปเป็นแอปพลิเคชันแบบไดนามิกเต็มรูปแบบ เพื่อให้มั่นใจว่าข้อมูลถูกต้องก่อนที่จะเพิ่มความซับซ้อน
ข้อกำหนดเบื้องต้น
ก่อนเริ่มต้น ให้ทำตามวิธีการเหล่านี้เพื่อตั้งค่าข้อมูลเชิงลึกเกี่ยวกับสถานที่ คุณจะต้องมีสิทธิ์เข้าถึง Data Studio ซึ่งเป็นเครื่องมือที่ไม่มีค่าใช้จ่าย
ขั้นตอนที่ 1: สร้างเกณฑ์อ้างอิงเชิงพื้นที่ทางภูมิศาสตร์แบบคงที่
ก่อนที่จะเริ่มการโต้ตอบ ให้สร้างการค้นหาพื้นฐานและตรวจสอบว่าแสดงผลอย่างถูกต้องใน Data Studio ใช้ข้อมูลเชิงลึกเกี่ยวกับสถานที่และความสามารถด้านภูมิสารสนเทศของ BigQuery เพื่อรวบรวมข้อมูลเป็นตารางกริดหกเหลี่ยมโดยใช้ระบบการจัดทำดัชนี H3 ซึ่งจะสร้างเอาต์พุตการค้นหาที่ใช้กับประเภทแผนที่แบบเติมสีของ Data Studio เพื่อแสดงภาพได้
1.1 เชื่อมต่อข้อมูล
ใช้การค้นหาแบบคงที่ต่อไปนี้เพื่อสร้างการเชื่อมต่อเริ่มต้น โดยจะกำหนดเป้าหมายเป็นสถานที่ตั้งที่แน่นอน (ลอนดอน) และหมวดหมู่ (ร้านอาหาร) เพื่อตรวจสอบไปป์ไลน์ข้อมูล
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
-- Note: Change 'gb' to your target country code (e.g., 'us')
`places_insights___gb.places`
WHERE
'London' IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
หมายเหตุเกี่ยวกับการรวมเชิงพื้นที่
การค้นหานี้ใช้ฟังก์ชันจาก CARTO Analytics Toolbox (carto-os) ที่เผยแพร่ต่อสาธารณะใน Google Cloud BigQuery ฟังก์ชัน H3_FROMGEOGPOINT จะแปลงจุดตำแหน่งที่เฉพาะเจาะจงเป็นเซลล์ H3 ซึ่งเป็นระบบที่แบ่งโลกออกเป็นเซลล์ตารางกริดหกเหลี่ยม
เราใช้การเปลี่ยนรูปแบบนี้เนื่องจากแผนที่ที่เติมสีของ Data Studio ต้องใช้รูปหลายเหลี่ยม (รูปร่าง) เพื่อแสดงผลสี การแปลงจุดเป็นรูปหกเหลี่ยมช่วยให้เราเห็นภาพความหนาแน่นของธุรกิจในพื้นที่หนึ่งๆ ได้ แทนที่จะต้องพล็อตจุดที่ทับซ้อนกันหลายพันจุด
หมายเหตุเกี่ยวกับเกณฑ์ขั้นต่ำของการรวมข้อมูล
การค้นหาข้อมูลเชิงลึกเกี่ยวกับสถานที่ทั้งหมดต้องมีส่วนคำสั่ง WITH AGGREGATION_THRESHOLD
การคุ้มครองความเป็นส่วนตัวนี้ช่วยให้มั่นใจได้ว่าระบบจะแสดงผลข้อมูลก็ต่อเมื่อจำนวนรวมเท่ากับ 5 ขึ้นไปเท่านั้น
ในบริบทของการแสดงภาพนี้ หากเซลล์ตารางกริด H3 มีร้านอาหารน้อยกว่า 5 ร้าน เซลล์นั้นจะถูกละเว้นจากชุดผลลัพธ์ทั้งหมดและจะปรากฏเป็นเซลล์ว่างเปล่าบนแผนที่
วิธีใช้ใน Data Studio
- สร้างรายงานเปล่าใหม่
- เลือก BigQuery เป็นเครื่องมือเชื่อมต่อข้อมูล
- เลือกการค้นหาที่กำหนดเองจากเมนูด้านซ้าย แล้วเลือกรหัสโปรเจ็กต์สำหรับการเรียกเก็บเงิน
- วางการค้นหาพื้นฐานแบบคงที่ด้านบนลงในเครื่องมือแก้ไข
- ล้างพารามิเตอร์ใช้ SQL เดิม เปิดใช้ช่วงวันที่ และเปิดใช้อีเมลของผู้ดู
- คลิกเพิ่ม
1.2 กำหนดค่าการแสดงภาพภูมิสารสนเทศ
เมื่อเชื่อมต่อข้อมูลแล้ว ให้กำหนดค่า Data Studio เพื่อให้จดจำข้อมูลขอบเขต H3 ได้อย่างถูกต้อง โดยทำดังนี้
- เพิ่มการแสดงภาพแผนที่ที่เติมสีลงใน Canvas ของรายงานจากเมนูเพิ่มแผนภูมิ
- ตรวจสอบว่าช่อง
h3_geoซึ่งมีเรขาคณิตรูปหลายเหลี่ยมได้รับการตั้งค่าเป็นประเภทข้อมูลภูมิสารสนเทศ- คลิกไอคอนแก้ไขแหล่งข้อมูล (ดินสอ) ข้างชื่อการเชื่อมต่อ
- หากตั้งค่า
h3_geoเป็นข้อความ (ABC) ให้ใช้เมนูแบบเลื่อนลงเพื่อเลือกภูมิศาสตร์ > ภูมิสารสนเทศ - คลิกเสร็จสิ้น
- แมปช่อง
h3_indexกับสถานที่ตั้ง (ทำหน้าที่เป็นตัวระบุที่ไม่ซ้ำกัน) - แมปช่อง
h3_geoกับช่องภูมิสารสนเทศ (ทำหน้าที่เป็นเรขาคณิตรูปหลายเหลี่ยม) - แมปช่อง
restaurant_countกับเมตริกสี
ซึ่งจะแสดงแผนที่ความหนาแน่นของร้านอาหารตามเซลล์ H3 สีน้ำเงินเข้ม (ตัวเลือกสีเริ่มต้น) บ่งบอกถึงเซลล์ที่มีจำนวนร้านอาหารสูงกว่า

ขั้นตอนที่ 2: ใช้พารามิเตอร์แบบไดนามิก
หากต้องการทำให้รายงานเป็นแบบอินเทอร์แอกทีฟ เราจะเพิ่มการควบคุมลงในรายงานที่อนุญาตให้ผู้ใช้เลือกจากตัวเลือกต่อไปนี้
- ท้องถิ่น: ควบคุมเมืองที่รายงานมุ่งเน้น
- วันในสัปดาห์: กรองสถานที่ตามวันที่เปิด โดยใช้ประโยชน์จากระเบียน
regular_opening_hoursในสคีมา - ชั่วโมงของวัน: กรองสถานที่ตามเวลาทำการโดยเปรียบเทียบกับช่อง
start_timeและend_time
ในการดำเนินการนี้ คุณจะส่งพารามิเตอร์ที่ผู้ใช้เลือกไปยังการค้นหาข้อมูลเชิงลึกเกี่ยวกับสถานที่ที่แก้ไขแล้วโดยตรงขณะรันไทม์ ในเครื่องมือแก้ไขแหล่งข้อมูลของ Data Studio คุณต้องกำหนดพารามิเตอร์เหล่านี้เป็นตัวแปรที่พิมพ์อย่างชัดเจน
ใน Data Studio ให้เลือกเมนูแหล่งข้อมูล แล้วคลิกจัดการแหล่งข้อมูลที่เพิ่ม ในแผงที่ปรากฏขึ้น ให้เลือก EDIT ข้างแหล่งข้อมูล SQL ที่กำหนดเองของ BigQuery ที่เราเพิ่มไว้ก่อนหน้านี้
ในหน้าต่างแก้ไขการเชื่อมต่อ ให้เลือกเพิ่มพารามิเตอร์ เราจะเพิ่มพารามิเตอร์ 3 รายการที่มีค่าด้านล่าง
| ชื่อพารามิเตอร์ | ประเภทข้อมูล | ค่าที่อนุญาต | รายการค่า (ต้องตรงกับฐานข้อมูลทุกประการ) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
ข้อความ | รายการค่า |
|
||||||||||||||||
p_day_of_week |
ข้อความ | รายการค่า |
|
||||||||||||||||
p_hour_of_day |
ข้อความ | รายการค่า |
|
ตัวอย่างการกำหนดค่าสำหรับพารามิเตอร์ p_hour_of_day

สำหรับพารามิเตอร์ p_hour_of_day ให้ดูคอลัมน์ Value อย่างละเอียด
เนื่องจากการค้นหา SQL ใช้ CAST(@p_hour_of_day AS TIME) ค่าที่ส่งจาก Data Studio ต้องอยู่ในรูปแบบ HH:MM:SS (นาฬิกาแบบ 24 ชั่วโมง) อย่างเคร่งครัด
เมื่อตั้งค่าและบันทึกพารามิเตอร์ทั้ง 3 รายการแล้ว ให้แก้ไขการเชื่อมต่อ SQL ที่กำหนดเองของ BigQuery เพื่ออ้างอิงตัวแปรเหล่านี้โดยใช้ไวยากรณ์ @
ซึ่งทำได้โดยคลิก "แก้ไขการเชื่อมต่อ" แล้ววางคำค้นหาที่แก้ไขแล้วด้านล่าง
SELECT
h3_index,
`carto-os.carto.H3_BOUNDARY`(h3_index) AS h3_geo,
restaurant_count
FROM (
SELECT WITH AGGREGATION_THRESHOLD
`carto-os.carto.H3_FROMGEOGPOINT`(point, 8) AS h3_index,
COUNT(*) AS restaurant_count
FROM
`places_insights___gb.places`
WHERE
-- Dynamic locality filter based on parameter
@p_locality IN UNNEST(locality_names)
AND 'restaurant' IN UNNEST(types)
AND business_status = 'OPERATIONAL'
AND EXISTS (
SELECT 1
FROM UNNEST(
CASE @p_day_of_week
WHEN 'monday' THEN regular_opening_hours.monday
WHEN 'tuesday' THEN regular_opening_hours.tuesday
WHEN 'wednesday' THEN regular_opening_hours.wednesday
WHEN 'thursday' THEN regular_opening_hours.thursday
WHEN 'friday' THEN regular_opening_hours.friday
WHEN 'saturday' THEN regular_opening_hours.saturday
WHEN 'sunday' THEN regular_opening_hours.sunday
END
) AS hours
WHERE hours.start_time <= CAST(@p_hour_of_day AS TIME)
AND hours.end_time >= TIME_ADD(CAST(@p_hour_of_day AS TIME), INTERVAL 1 HOUR)
)
GROUP BY
h3_index
)
ORDER BY
restaurant_count DESC;
คลิก "เชื่อมต่ออีกครั้ง" เพื่อบันทึกการแก้ไข ในการค้นหาที่แก้ไข ให้สังเกตตัวแปรใหม่ เช่น @p_hour_of_day ซึ่งสัมพันธ์กับชื่อพารามิเตอร์ที่เราเพิ่งตั้งค่า
กลับไปที่ Canvas ของรายงานเพื่อแสดงพารามิเตอร์เหล่านี้ต่อผู้ใช้ปลายทาง โดยทำดังนี้
- เพิ่มการควบคุมรายการแบบเลื่อนลง 3 รายการลงในรายงาน
- สําหรับการควบคุมแต่ละรายการ ให้ตั้งค่าช่องควบคุมให้สอดคล้องกับพารามิเตอร์ที่สร้างขึ้นใหม่ ดังนี้
- การควบคุม 1:
p_locality - การควบคุม 2:
p_day_of_week - การควบคุม 3:
p_hour_of_day
- การควบคุม 1:
รายงานขั้นสุดท้ายควรมีลักษณะดังต่อไปนี้ การเปลี่ยนค่าในตัวควบคุมเมนูแบบเลื่อนลงรายการใดรายการหนึ่งจะทริกเกอร์ Data Studio ให้ดึงข้อมูลที่ขอจากข้อมูลเชิงลึกเกี่ยวกับสถานที่ก่อนแสดงภาพบนแผนที่

ขั้นตอนที่ 3: แชร์ผลลัพธ์
ใช้เครื่องมือการแชร์ที่มาพร้อมกับ Data Studio เพื่อแชร์รายงาน ซึ่งจะช่วยให้ผู้ชมอัปเดตการแสดงภาพแบบไดนามิกตามพารามิเตอร์ที่เลือกจากรายการแบบเลื่อนลงได้
บทสรุป
รูปแบบนี้จะสร้างเครื่องมือการรายงานแบบอินเทอร์แอกทีฟที่รองรับการปรับขนาดได้ ซึ่งใช้ประโยชน์จากพลังการประมวลผลของ BigQuery เพื่อแสดงข้อมูลเชิงลึกเกี่ยวกับสถานที่ที่รวบรวมไว้ไปยัง Data Studio สถาปัตยกรรมนี้ช่วยหลีกเลี่ยงข้อผิดพลาดในการพยายามแสดงภาพชุดข้อมูลดิบขนาดใหญ่ และช่วยให้ผู้ใช้ปลายทางมีความยืดหยุ่นในการสำรวจข้อมูลในมิติต่างๆ เช่น เวลา สถานที่ และประเภทธุรกิจในเวลาใกล้เคียงเรียลไทม์ ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพที่ช่วยให้ผู้มีส่วนเกี่ยวข้องที่ไม่มีความรู้ด้านเทคนิคมีความยืดหยุ่นในการสำรวจข้อมูล
ขั้นตอนถัดไป
สำรวจรายงานแบบไดนามิกรูปแบบอื่นๆ โดยการกำหนดพารามิเตอร์ส่วนต่างๆ ของสคีมาข้อมูลเชิงลึกเกี่ยวกับสถานที่
- การวิเคราะห์คู่แข่งแบบไดนามิก: สร้างพารามิเตอร์สำหรับชื่อ
brandเพื่อให้ผู้ใช้สลับแผนที่ความหนาแน่นระหว่างคู่แข่งรายต่างๆ ได้ทันทีเพื่อดูความอิ่มตัวที่เกี่ยวข้องในตลาด ดูเกี่ยวกับข้อมูล Places Insights เพื่อดูความพร้อมใช้งานของข้อมูลแบรนด์ - การเลือกสถานที่แบบอินเทอร์แอกทีฟ: เพิ่มพารามิเตอร์สำหรับ
price_level(เช่น "ปานกลาง" เทียบกับ "แพง") และratingขั้นต่ำเพื่อให้ทีมอสังหาริมทรัพย์สามารถกรองพื้นที่ที่ตรงกับโปรไฟล์ข้อมูลประชากรที่เฉพาะเจาะจงแบบไดนามิกได้ - พื้นที่รับน้ำที่กำหนดเอง: แทนที่จะกรองตามชื่อเมือง ให้ผู้ใช้กำหนดพื้นที่ศึกษาที่กำหนดเองได้
- ตามรัศมี: สร้างพารามิเตอร์ตัวเลข 3 รายการ ได้แก่ p_latitude, p_longitude และ p_radius_meters คุณสามารถรับพิกัดได้จาก Google Maps Platform API ซึ่งรวมถึง Geocoding API ในการค้นหา ให้แทรกข้อมูลต่อไปนี้ลงในฟังก์ชัน ST_DWITHIN
ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
- อิงตามรูปหลายเหลี่ยม: สำหรับรูปร่างที่กำหนดเองที่ซับซ้อน (เช่น เขตการขาย) ผู้ใช้จะป้อนข้อความเรขาคณิตได้ยาก แต่ให้สร้างตารางตรวจสอบใน BigQuery ที่มีรูปทรงเรขาคณิตและชื่อที่เข้าใจง่าย (เช่น "โซน A") แทน สร้างพารามิเตอร์ข้อความ
p_zone_nameใน Data Studio เพื่อให้ผู้ใช้เลือกโซน และใช้การสืบค้นย่อยเพื่อดึงข้อมูลเรขาคณิตสำหรับฟังก์ชันST_CONTAINS
- ตามรัศมี: สร้างพารามิเตอร์ตัวเลข 3 รายการ ได้แก่ p_latitude, p_longitude และ p_radius_meters คุณสามารถรับพิกัดได้จาก Google Maps Platform API ซึ่งรวมถึง Geocoding API ในการค้นหา ให้แทรกข้อมูลต่อไปนี้ลงในฟังก์ชัน ST_DWITHIN
ผู้ร่วมให้ข้อมูล
- David Szajngarten | วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์
- Henrik Valve | วิศวกร DevX