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

ภาพรวม

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

เอกสารนี้อธิบายวิธีสร้างรายงานเชิงพื้นที่ทางภูมิศาสตร์แบบไดนามิกโดยใช้ข้อมูลเชิงลึกเกี่ยวกับสถานที่และ 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

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

1.2 กำหนดค่าการแสดงภาพภูมิสารสนเทศ

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

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

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

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

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

หากต้องการทำให้รายงานเป็นแบบอินเทอร์แอกทีฟ เราจะเพิ่มการควบคุมลงในรายงานที่อนุญาตให้ผู้ใช้เลือกจากตัวเลือกต่อไปนี้

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

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

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

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

ชื่อพารามิเตอร์ ประเภทข้อมูล ค่าที่อนุญาต รายการค่า (ต้องตรงกับฐานข้อมูลทุกประการ)
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 8:00 น. - 9: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 เพื่อให้ผู้ใช้สลับแผนที่ความหนาแน่นระหว่างคู่แข่งรายต่างๆ ได้ทันทีเพื่อดูความอิ่มตัวที่เกี่ยวข้องในตลาด ดูเกี่ยวกับข้อมูล 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

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

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