การแสดงข้อมูลเชิงลึกเกี่ยวกับสถานที่ใน Data Studio

ภาพรวม

แผนภาพเวิร์กโฟลว์ที่แสดง Data Studio ส่งพารามิเตอร์แบบไดนามิกสำหรับเมือง วัน และเวลาไปยังข้อมูลเชิงลึกเกี่ยวกับสถานที่ใน BigQuery เพื่อสร้างฮีตแมปความหนาแน่นเชิงพื้นที่

เอกสารนี้อธิบายวิธีสร้างรายงานเชิงพื้นที่แบบไดนามิกโดยใช้ Places Insights และ 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 (carto-os) ซึ่งพร้อมใช้งานแบบสาธารณะใน Google Cloud BigQuery ฟังก์ชัน H3_FROMGEOGPOINTจะแปลงจุดตำแหน่งที่เฉพาะเจาะจงเป็นเซลล์ H3 ซึ่งเป็นระบบที่แบ่งโลกออกเป็นเซลล์ตารางหกเหลี่ยม

เราใช้การเปลี่ยนรูปแบบนี้เนื่องจากแผนที่แบบเติมของ Data Studio ต้องใช้ รูปหลายเหลี่ยม (รูปร่าง) ในการแสดงสี การแปลงจุดเป็นรูปหกเหลี่ยม ช่วยให้เราเห็นภาพความหนาแน่นของธุรกิจในพื้นที่หนึ่งๆ ได้ แทนที่จะพล็อตจุดที่ซ้อนทับกันหลายพันจุด

หมายเหตุเกี่ยวกับเกณฑ์ขั้นต่ำของการรวมข้อมูล

คำค้นหาข้อมูลเชิงลึกเกี่ยวกับสถานที่ทั้งหมดต้องมีWITH AGGREGATION_THRESHOLDข้อความ การคุ้มครองความเป็นส่วนตัวนี้ช่วยให้มั่นใจได้ว่าระบบจะแสดงข้อมูลก็ต่อเมื่อจำนวนรวมเป็น 5 ขึ้นไป

ในบริบทของการแสดงภาพนี้ หากเซลล์ตารางกริด H3 มีร้านอาหารน้อยกว่า 5 แห่ง ระบบจะไม่รวมเซลล์นั้นไว้ในชุดผลลัพธ์ทั้งหมดและจะแสดงเป็นเซลล์ว่างในแผนที่

วิธีใช้ฟีเจอร์นี้ใน Data Studio

  1. สร้างรายงาน เปล่าใหม่
  2. เลือก BigQuery เป็นเครื่องมือเชื่อมต่อข้อมูล
  3. เลือกคำค้นหาที่กำหนดเองจากเมนูด้านซ้าย แล้วเลือกรหัสโปรเจ็กต์สำหรับการเรียกเก็บเงิน
  4. วางคำค้นหาฐานแบบคงที่ด้านบนลงในเครื่องมือแก้ไข
  5. ล้างพารามิเตอร์ใช้ SQL เดิม เปิดใช้ช่วงวันที่ และเปิดใช้อีเมลของผู้ดู
  6. คลิกเพิ่ม

1.2 กำหนดค่าการแสดงภาพเชิงพื้นที่

เมื่อเชื่อมต่อข้อมูลแล้ว ให้กำหนดค่า Data Studio เพื่อให้รับรู้ข้อมูลขอบเขต H3 อย่างถูกต้อง

  1. เพิ่มการแสดงข้อมูลแผนที่แบบระบายสีลงใน Canvas ของรายงานจากเมนูเพิ่ม แผนภูมิ
  2. ตรวจสอบว่าฟิลด์ h3_geo ซึ่งมีรูปหลายเหลี่ยมทางเรขาคณิตได้รับการตั้งค่าเป็นประเภทข้อมูลภูมิสารสนเทศเชิงพื้นที่
    1. คลิกไอคอนแก้ไขแหล่งข้อมูล (ดินสอ) ข้างชื่อการเชื่อมต่อ
    2. หากตั้งค่า h3_geo เป็นข้อความ (ABC) ให้ใช้เมนูแบบเลื่อนลงเพื่อเลือก Geo > Geospatial
    3. คลิกเสร็จสิ้น
  3. แมปฟิลด์ h3_index กับ Location (ทำหน้าที่เป็นตัวระบุที่ไม่ซ้ำกัน)
  4. แมปฟิลด์ h3_geo กับฟิลด์ภูมิสารสนเทศเชิงพื้นที่ (ทำหน้าที่เป็นรูปหลายเหลี่ยม เรขาคณิต)
  5. แมปฟิลด์ restaurant_count กับเมตริกสี

การดำเนินการนี้จะแสดงแผนที่ความหนาแน่นของร้านอาหารตามเซลล์ H3 สีน้ำเงินเข้ม (ตัวเลือกสีเริ่มต้น) แสดงถึงเซลล์ที่มีจำนวนร้านอาหารมากกว่า

แผนที่ลอนดอนที่เติมสีแล้ววางซ้อนด้วยตารางหกเหลี่ยม โดยเซลล์สีน้ำเงินเข้มแสดงถึงความหนาแน่นของร้านอาหารที่สูงขึ้น คำอธิบายระบุจำนวนความหนาแน่นตั้งแต่ 5 ถึง 1,215

ขั้นตอนที่ 2: ติดตั้งใช้งานพารามิเตอร์แบบไดนามิก

เราจะเพิ่มตัวควบคุมลงในรายงานเพื่อให้ผู้ใช้เลือกตัวเลือกต่อไปนี้ได้

  • ท้องถิ่น: ควบคุมเมืองที่รายงานมุ่งเน้น
  • วันของสัปดาห์: กรองสถานที่ตามวันที่เปิดทำการ โดยใช้regular_opening_hoursบันทึกในสคีมา
  • ชั่วโมงของวัน: กรองสถานที่ตามเวลาทำการโดย เปรียบเทียบกับฟิลด์ start_time และ end_time

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

ใน Data Studio ให้เลือกเมนูแหล่งข้อมูล แล้วคลิกจัดการแหล่งข้อมูลที่เพิ่ม ในแผงที่ปรากฏขึ้น ให้เลือก EDIT ข้างแหล่งข้อมูล SQL ที่กำหนดเองของ BigQuery ที่เราเพิ่มไว้ก่อนหน้านี้

ในหน้าต่าง "แก้ไขการเชื่อมต่อ" ให้เลือกเพิ่มพารามิเตอร์ เราจะ เพิ่มพารามิเตอร์ 3 รายการโดยมีค่าดังต่อไปนี้

ชื่อพารามิเตอร์ ประเภทข้อมูล ค่าที่อนุญาต รายการค่า (ต้องตรงกับ DB ทุกประการ)
p_locality ข้อความ รายการค่า
ค่า ป้ายกำกับ
London ลอนดอน
Manchester แมนเชสเตอร์
Birmingham เบอร์มิงแฮม
Glasgow กลาสโกว์
p_day_of_week ข้อความ รายการค่า
ค่า ป้ายกำกับ
monday วันจันทร์
tuesday อังคาร
wednesday พุธ
thursday พฤหัสบดี
friday ศุกร์
saturday เสาร์
sunday วันอาทิตย์
p_hour_of_day ข้อความ รายการค่า
ค่า ป้ายกำกับ
03:00:00 03:00 น. - 04:00 น.
08:00:00 08:00 น. - 09:00 น.
19:00:00 19:00 น. - 20:00 น.

ตัวอย่างการกำหนดค่าสำหรับพารามิเตอร์ 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 ของรายงานเพื่อแสดงพารามิเตอร์เหล่านี้ต่อผู้ใช้ปลายทาง

  1. เพิ่มตัวควบคุมรายการแบบเลื่อนลง 3 รายการลงในรายงาน
  2. สําหรับการควบคุมแต่ละรายการ ให้ตั้งค่าฟิลด์การควบคุมให้สอดคล้องกับพารามิเตอร์ที่สร้างขึ้นใหม่
    • การควบคุม 1: p_locality
    • การควบคุม 2: p_day_of_week
    • การควบคุม 3: p_hour_of_day

รายงานขั้นสุดท้ายควรมีลักษณะดังต่อไปนี้ การเปลี่ยนค่าในตัวควบคุมแบบเลื่อนลงรายการใดรายการหนึ่งจะทําให้ Data Studio ดึงข้อมูลที่ขอจากข้อมูลเชิงลึกเกี่ยวกับสถานที่ก่อนที่จะแสดงภาพบนแผนที่

รายงานแบบอินเทอร์แอกทีฟสุดท้ายที่แสดงแผนที่ความหนาแน่นของร้านอาหารในกลาสโกว์พร้อมตัวกรองแบบเลื่อนลง 3 รายการที่ด้านบน เมนูชั่วโมงของวันจะขยายออกเพื่อแสดงช่วงเวลาที่เลือกได้

ขั้นตอนที่ 3: แชร์ผลลัพธ์

ใช้เครื่องมือแชร์ ที่สร้างไว้ใน Data Studio เพื่อแชร์รายงาน ซึ่งจะช่วยให้ผู้ชม อัปเดตภาพแบบไดนามิกตามพารามิเตอร์ที่เลือกจาก รายการแบบเลื่อนลงของคุณได้

บทสรุป

รูปแบบนี้จะสร้างเครื่องมือการรายงานแบบอินเทอร์แอกทีฟที่ปรับขนาดได้ ซึ่งใช้ประโยชน์จาก ความสามารถในการคำนวณของ BigQuery เพื่อแสดงข้อมูลข้อมูลเชิงลึกเกี่ยวกับสถานที่แบบรวมไปยัง Data Studio สถาปัตยกรรมนี้ช่วยหลีกเลี่ยงข้อผิดพลาดในการพยายาม แสดงภาพชุดข้อมูลดิบขนาดใหญ่ และช่วยให้ผู้ใช้ปลายทางมีความยืดหยุ่นในการ สํารวจข้อมูลในมิติข้อมูลต่างๆ เช่น เวลา สถานที่ และประเภทธุรกิจ แบบเรียลไทม์ ซึ่งเป็นเครื่องมือที่มีประสิทธิภาพที่ช่วยให้ผู้มีส่วนเกี่ยวข้องที่ไม่ใช่ผู้เชี่ยวชาญด้านเทคนิค มีความยืดหยุ่นในการสํารวจข้อมูล

ขั้นตอนถัดไป

สํารวจรายงานแบบไดนามิกอื่นๆ โดยการกําหนดพารามิเตอร์ให้กับส่วนต่างๆ ของ สคีมาข้อมูลเชิงลึกเกี่ยวกับสถานที่

  • การวิเคราะห์คู่แข่งแบบไดนามิก: สร้างพารามิเตอร์สำหรับชื่อ brand เพื่ออนุญาตให้ผู้ใช้สลับแผนที่ความหนาแน่นระหว่างคู่แข่งต่างๆ ได้ทันทีเพื่อดูความอิ่มตัวที่เกี่ยวข้องในตลาด ดูข้อมูลเกี่ยวกับความพร้อมใช้งานของข้อมูลแบรนด์ได้ที่เกี่ยวกับข้อมูลข้อมูลเชิงลึกของสถานที่
  • การเลือกสถานที่ตั้งแบบอินเทอร์แอกทีฟ: เพิ่มพารามิเตอร์สำหรับ 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

ผู้ร่วมให้ข้อมูล

  • David Szajngarten | วิศวกรนักพัฒนาซอฟต์แวร์สัมพันธ์
  • Henrik Valve | วิศวกร DevX