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

ภาพรวม

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

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

การใช้รูปแบบสถาปัตยกรรมนี้จะช่วยให้ได้สิทธิประโยชน์หลักๆ หลายประการ ดังนี้

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

เวิร์กโฟลว์ของโซลูชัน

เวิร์กโฟลว์ต่อไปนี้สร้างสถาปัตยกรรมการรายงานที่มีประสิทธิภาพ โดยจะเปลี่ยนจากพื้นฐานแบบคงที่ไปเป็นแอปพลิเคชันแบบไดนามิกอย่างเต็มรูปแบบ เพื่อให้มั่นใจว่าข้อมูลถูกต้องก่อนที่จะเพิ่มความซับซ้อน

ข้อกำหนดเบื้องต้น

ก่อนเริ่มต้น ให้ทำตามวิธีการต่อไปนี้เพื่อตั้งค่า Places Insights คุณจะต้องมีสิทธิ์เข้าถึง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 ต้องใช้รูปหลายเหลี่ยม (รูปร่าง) เพื่อแสดงสี การแปลงจุดให้เป็นรูปร่างหกเหลี่ยมช่วยให้เราแสดงภาพความหนาแน่นของธุรกิจในพื้นที่ที่เฉพาะเจาะจงได้ แทนที่จะพล็อตจุดที่ซ้อนทับกันหลายพันจุด

หมายเหตุเกี่ยวกับเกณฑ์การรวม

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

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

วิธีใช้ฟังก์ชันนี้ใน Data Studio

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

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

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

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

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

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

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

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

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

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

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

ในหน้าต่างแก้ไขการเชื่อมต่อ ให้เลือกเพิ่มพารามิเตอร์ เราจะเพิ่มพารามิเตอร์ 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 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 รายการแล้ว ให้แก้ไขการเชื่อมต่อ BigQuery Custom SQL เพื่ออ้างอิงตัวแปรเหล่านี้โดยใช้ไวยากรณ์ @

โดยคลิกแก้ไขการเชื่อมต่อ แล้ววางการค้นหาที่แก้ไขแล้วด้านล่าง

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 ซึ่งสัมพันธ์กับชื่อพารามิเตอร์ที่เราเพิ่งตั้งค่า

กลับไปที่พื้นที่ทำงานของรายงานเพื่อแสดงพารามิเตอร์เหล่านี้ต่อผู้ใช้ปลายทางโดยทำดังนี้

  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

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