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