Places Insights Data Studio ভিজ্যুয়ালাইজেশন

এক নজরে

জিওস্পেশিয়াল ডেনসিটি হিটম্যাপ তৈরি করার জন্য, Data Studio-র মাধ্যমে BigQuery-তে Places Insights-এ শহর, দিন ও সময়ের ডায়নামিক প্যারামিটার পাঠানোর একটি ওয়ার্কফ্লো ডায়াগ্রাম।

Places Insights এবং Data Studio ব্যবহার করে কীভাবে ডায়নামিক জিওস্পেশিয়াল রিপোর্ট তৈরি করতে হয় তা এই ডকুমেন্টে বর্ণনা করা হয়েছে। অপ্রযুক্তিগত স্টেকহোল্ডারদের নিজেদের প্রশ্নের উত্তর দেওয়ার ক্ষমতা দিয়ে আপনার লোকেশন ডেটার ভ্যালু আনলক করুন। এই গাইড আপনাকে দেখায় যে কীভাবে মার্কেট বিশ্লেষণের জন্য স্ট্যাটিক রিপোর্টকে ইন্ট্যার‍্যাক্টিভ, হিটম্যাপ-স্টাইল টুলে পরিবর্তন করতে হয়, এর জন্য প্রতিটি অনুরোধের জন্য SQL লিখতে হয় না। জটিল লোকেশন ডেটা অ্যাক্সেস করার সুবিধা চালু করুন, এর ফলে ডেটা ইঞ্জিনিয়ারিং ও বিজনেস ইন্টেলিজেন্সের মধ্যে পার্থক্য কমে যাবে।

এই স্থাপত্যশৈলী গ্রহণ করলে বেশ কিছু গুরুত্বপূর্ণ সুবিধা পাওয়া যায়:

  • ডেটার ভিজ্যুয়াল উপস্থাপনা: Places Insights ডেটাকে ইন্ট্যার‍্যাক্টিভ ম্যাপ ও চার্টে রূপান্তরিত করে যা অবিলম্বে স্পেশিয়াল ডেনসিটি ও ট্রেন্ড সম্পর্কে জানায়।
  • SQL ছাড়াই সরলীকৃত এক্সপ্লোরেশন: মার্কেট অ্যানালিস্ট বা রিয়েল এস্টেট প্ল্যানারের মতো টিমের মেম্বারদের আগে থেকে নির্ধারিত প্যারামিটার (যেমন, ড্রপডাউন ব্যবহার করে "শহর" বা "দিনের সময়" পরিবর্তন করা) ব্যবহার করে ডায়নামিক ফিল্টার করার সুবিধা দেয়। তারা SQL-এর একটি লাইনও না লিখে ডেটা এক্সপ্লোর করতে পারবেন।
  • নির্বিঘ্নে সহযোগিতা: Standard Data Studio-র শেয়ারিং ফিচার আপনাকে নিরাপদে এই ইন্ট্যার‍্যাক্টিভ ইনসাইট ডিস্ট্রিবিউট করতে দেয়।

সমাধানের ওয়ার্কফ্লো

নিম্নলিখিত ওয়ার্কফ্লো একটি পারফর্ম্যান্ট রিপোর্টিং আর্কিটেকচার তৈরি করে। এটি স্ট্যাটিক বেসলাইন থেকে সম্পূর্ণ ডায়নামিক অ্যাপ্লিকেশনে সরে যায়, জটিলতা যোগ করার আগে ডেটা সঠিকতা নিশ্চিত করে।

পূর্বশর্ত

শুরু করার আগে, Places Insights সেট-আপ করতে এইসব নির্দেশাবলী অনুসরণ করুন। আপনাকে Data Studio-তে অ্যাক্সেস করতে হবে, এটি একটি ফ্রি টুল।

ধাপ ১: স্ট্যাটিক জিওস্পেশিয়াল বেসলাইন তৈরি করা

ইন্টার‍্যাক্টিভিটি যোগ করার আগে, একটি বেস কোয়েরি তৈরি করুন এবং নিশ্চিত করুন যে এটি Data Studio-তে সঠিকভাবে রেন্ডার হচ্ছে। H3 ইনডেক্সিং সিস্টেম ব্যবহার করে হেক্সাগোনাল গ্রিডে ডেটা একত্রিত করতে Places Insights এবং BigQuery-এর জিওস্পেশিয়াল ক্ষমতা ব্যবহার করুন। এর ফলে কোয়েরির আউটপুট তৈরি হবে যা ভিজ্যুয়ালাইজেশনের জন্য Data Studio-এর ফিল্ড ম্যাপ চার্ট টাইপের সাথে ব্যবহার করা যেতে পারে।

১.১ ডেটা কানেক্ট করা

প্রাথমিক কানেকশন তৈরি করতে নিম্নলিখিত স্ট্যাটিক কোয়েরি ব্যবহার করুন। এটি ডেটা পাইপলাইন যাচাই করার জন্য একটি নির্দিষ্ট লোকেশন (লন্ডন) এবং বিভাগ (রেস্তোরাঁ) টার্গেট করে।

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 ক্লজ প্রয়োজন। এই গোপনীয়তা সুরক্ষা নিশ্চিত করে যে, একত্রিত সংখ্যা ৫ বা তার বেশি হলেই শুধুমাত্র ডেটা ফেরত দেওয়া হবে।

এই ভিজ্যুয়ালাইজেশনের প্রসঙ্গে, কোনও H3 গ্রিড সেলে ৫টির কম রেস্তোরাঁ থাকলে, সেই সেলটি ফলাফল সেট থেকে সম্পূর্ণ বাদ দেওয়া হয় এবং আপনার ম্যাপে খালি হিসেবে দেখানো হবে।

Data Studio-তে এটি প্রয়োগ করতে:

  1. নতুন খালি রিপোর্ট তৈরি করুন।
  2. ডেটা কানেক্টর হিসেবে BigQuery বেছে নিন।
  3. বাঁদিকের মেনু থেকে কাস্টম কোয়েরি বিকল্প বেছে নিন এবং আপনার বিলিং প্রোজেক্ট আইডি বেছে নিন।
  4. উপরে দেওয়া স্ট্যাটিক বেস কোয়েরি এডিটরে পেস্ট করুন।
  5. লেগ্যাসি SQL ব্যবহার করুন, তারিখের রেঞ্জ চালু করুন এবং দর্শকের ইমেল আইডি চালু করুন প্যারামিটারগুলি মুছে দিন।
  6. যোগ করুন বিকল্পে ক্লিক করুন।

১.২ জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশন কনফিগার করা

ডেটা কানেক্ট করা হয়ে গেলে, H3 বাউন্ডারি ডেটা সঠিকভাবে শনাক্ত করার জন্য Data Studio কনফিগার করুন:

  1. চার্ট যোগ করুন মেনু থেকে, রিপোর্ট ক্যানভাসে ফিল্ড ম্যাপ ভিজ্যুয়ালাইজেশন যোগ করুন।
  2. নিশ্চিত করুন যে আপনার h3_geo ফিল্ড, যাতে বহুভুজ জ্যামিতি আছে, সেটি জিওস্পেশিয়াল ডেটা টাইপ হিসেবে সেট করা আছে।
    1. আপনার কানেকশনের নামের পাশে থাকা ডেটা সোর্স এডিট করুন (পেন্সিল) আইকনে ক্লিক করুন।
    2. h3_geo টেক্সট (ABC) হিসেবে সেট করা থাকলে, ড্রপ-ডাউন মেনু ব্যবহার করে জিও > জিওস্পেশিয়াল বিকল্প বেছে নিন,
    3. হয়ে গেছে বিকল্পে ক্লিক করুন।
  3. h3_index ফিল্ডকে লোকেশন-এর সাথে ম্যাপ করুন (যা অনন্য শনাক্তকারী হিসেবে কাজ করে)।
  4. h3_geo ফিল্ডকে জিওস্পেশিয়াল ফিল্ড-এর সাথে ম্যাপ করুন (যা বহুভুজ জ্যামিতি হিসেবে কাজ করে)।
  5. restaurant_count ফিল্ডকে কালার মেট্রিক-এর সাথে ম্যাপ করুন।

এর ফলে H3 সেল অনুযায়ী রেস্তোরাঁ ঘনত্বের ম্যাপ রেন্ডার করা হবে। গাঢ় নীল রঙ (ডিফল্ট কালার বিকল্প) দিয়ে এমন সেল বোঝানো হয় যেখানে রেস্তোরাঁর সংখ্যা বেশি।

হেক্সাগোনাল গ্রিড দিয়ে ওভারলে করা লন্ডনের একটি ফিল করা ম্যাপ, যেখানে গাঢ় নীল রঙের সেলগুলি রেস্তোরাঁর উচ্চ ঘনত্ব নির্দেশ করে। লেজেন্ডে ৫ থেকে ১,২১৫ পর্যন্ত ডেনসিটি কাউন্ট দেখানো হয়েছে।

ধাপ ২: ডায়নামিক প্যারামিটার প্রয়োগ করা

রিপোর্টকে ইন্ট্যার‍্যাক্টিভ করে তুলতে, আমরা রিপোর্টে কন্ট্রোল যোগ করব যা ব্যবহারকারীকে নিচের বিকল্পগুলি থেকে বেছে নিতে দেবে:

  • এলাকা: রিপোর্ট যে শহরের উপর ফোকাস করে সেটি নিয়ন্ত্রণ করে।
  • সপ্তাহের দিন: কোনও জায়গা যে দিন খোলা থাকে সেই দিনের ভিত্তিতে ফিল্টার করে, এর জন্য স্কিমার regular_opening_hours রেকর্ড ব্যবহার করা হয়।
  • দিনের সময়: start_time ও end_time ফিল্ডের সাথে তুলনা করে অপারেশনাল সময়ের ভিত্তিতে জায়গা ফিল্টার করে।

এটি করতে, রানটাইমে আপনি সরাসরি পরিবর্তিত Places Insights কোয়েরিতে ব্যবহারকারীর বেছে নেওয়া প্যারামিটার পাস করবেন। Data Studio-এর ডেটা সোর্স এডিটরে, আপনাকে অবশ্যই এই প্যারামিটারগুলিকে টাইপ করা ভেরিয়েবল হিসেবে স্পষ্টভাবে সংজ্ঞায়িত করতে হবে।

Data Studio-তে, রিসোর্স মেনু বেছে নিন, তারপর যোগ করা ডেটা সোর্স ম্যানেজ করুন বিকল্পে ক্লিক করুন। যে প্যানেলটি দেখা যাবে, তার মধ্যে থেকে আগে যোগ করা BigQuery কাস্টম SQL ডেটা সোর্সের বিপরীতে EDIT বেছে নিন।

'কানেকশন এডিট করুন' উইন্ডোর মধ্যে, প্যারামিটার যোগ করুন বিকল্প বেছে নিন। আমরা নিচে উল্লেখ করা ভ্যালু সহ তিনটি প্যারামিটার যোগ করতে চলেছি।

প্যারামিটারের নাম ডেটার ধরন অনুমোদিত ভ্যালু ভ্যালুর তালিকা (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 ভোর ৩টে - ৪টে
08:00:00 সকাল ৮টা - সকাল ৯টা
19:00: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 ফর্ম্যাটে (২৪-ঘণ্টার ঘড়ি) থাকতে হবে।

আপনি তিনটি প্যারামিটার সেট-আপ ও সেভ করার পরে, @ সিনট্যাক্স ব্যবহার করে এইসব ভেরিয়েবল রেফারেন্স করার জন্য আপনার BigQuery কাস্টম 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. আপনার রিপোর্টে তিনটি ড্রপ-ডাউন তালিকা কন্ট্রোল যোগ করুন।
  2. প্রতিটি কন্ট্রোলের জন্য, আপনার নতুন তৈরি করা প্যারামিটারের সাথে মানানসই কন্ট্রোল ফিল্ড সেট করুন:
    • কন্ট্রোল ১: p_locality
    • কন্ট্রোল ২: p_day_of_week
    • কন্ট্রোল ৩: p_hour_of_day

আপনার চূড়ান্ত রিপোর্টটি এইরকম দেখতে হবে। একটি ড্রপ-ডাউন কন্ট্রোলে কোনও ভ্যালু পরিবর্তন করলে, Data Studio, ম্যাপে ভিজ্যুয়ালাইজ করার আগে, Places Insights থেকে অনুরোধ করা ডেটা ফেচ করতে ট্রিগার করবে।

চূড়ান্ত ইন্ট্যার‍্যাক্টিভ রিপোর্টে গ্লাসগোর রেস্তোরাঁ ডেনসিটি ম্যাপ দেখানো হয়েছে, যার উপরে তিনটি ড্রপ-ডাউন ফিল্টার রয়েছে। বেছে নেওয়ার উপযুক্ত সময়ের রেঞ্জ দেখাতে দিনের ঘণ্টা মেনু বড় করা হয়েছে।

ধাপ ৩: ফলাফল শেয়ার করা

রিপোর্ট শেয়ার করতে, Data Studio-তে বিল্ট-ইন শেয়ারিং টুল ব্যবহার করুন। এটি দর্শকদের আপনার ড্রপ-ডাউন তালিকা থেকে বেছে নেওয়া প্যারামিটারের উপর ভিত্তি করে ভিজ্যুয়ালাইজেশন ডায়নামিক আপডেট করতে দেবে।

উপসংহার

এই প্যাটার্ন একটি স্কেলেবল, ইন্ট্যার‍্যাক্টিভ রিপোর্টিং টুল তৈরি করে যা BigQuery-এর কম্পিউটেশনাল পাওয়ারকে কাজে লাগিয়ে Data Studio-তে একত্রিত Places Insights ডেটা পরিবেশন করে। এই আর্কিটেকচারটি বিশাল কাঁচা ডেটাসেটকে ভিজ্যুয়ালাইজ করার চেষ্টা করার সমস্যা এড়ায় এবং এন্ড-ইউজারদের প্রায় রিয়েল-টাইমে সময়, লোকেশন এবং ব্যবসার ধরনের মতো বিভিন্ন ডাইমেনশন জুড়ে ডেটা এক্সপ্লোর করার জন্য নমনীয়তা প্রদান করে। এটি একটি শক্তিশালী টুল যা আপনার অ-টেকনিক্যাল স্টেকহোল্ডারদের ডেটা এক্সপ্লোর করার জন্য নমনীয়তা প্রদান করে।

পরবর্তী ধাপ

Places Insights স্কিমার বিভিন্ন অংশ প্যারামিটারাইজ করে ডায়নামিক রিপোর্টের অন্যান্য ভেরিয়েশন এক্সপ্লোর করুন:

  • ডায়নামিক প্রতিযোগী বিশ্লেষণ: brand নামের জন্য এমন প্যারামিটার তৈরি করুন যা ব্যবহারকারীদের বিভিন্ন প্রতিযোগীদের মধ্যে হিটম্যাপে দ্রুত পরিবর্তন করতে এবং মার্কেটে তাদের আপেক্ষিক স্যাচুরেশন দেখতে দেয়। ব্র্যান্ড ডেটার উপলভ্যতা সম্পর্কে জানতে প্লেস ইনসাইট ডেটা দেখুন।
  • ইন্টার‍্যাক্টিভ সাইট বেছে নেওয়া: price_level-এর জন্য প্যারামিটার যোগ করুন (যেমন, 'মাঝারি' বনাম 'দামী') এবং ন্যূনতম rating যাতে রিয়েল এস্টেট টিম ডাইনামিক ফিল্টার করে এমন এলাকা খুঁজে নিতে পারে যেগুলি নির্দিষ্ট ডেমোগ্রাফিক প্রোফাইলের সাথে ম্যাচ করে।
  • কাস্টম ক্যাচমেন্ট এরিয়া: শহরের নাম দিয়ে ফিল্টার করার পরিবর্তে, ব্যবহারকারীদের কাস্টম স্টাডি এরিয়া নির্ধারণ করতে দিন।
    • রেডিয়াস-ভিত্তিক: তিনটি সংখ্যাসূচক প্যারামিটার তৈরি করুন: p_latitude, p_longitude এবং p_radius_meters. Geocoding API সহ Google Maps Platform API থেকে কোঅর্ডিনেট পাওয়া যেতে পারে। আপনার কোয়েরিতে, ST_DWITHIN ফাংশনে এগুলি ইনজেক্ট করুন:
      • ST_DWITHIN(point, ST_GEOGPOINT(@p_longitude, @p_latitude), @p_radius_meters)
    • বহুভুজ-ভিত্তিক: জটিল কাস্টম শেপের (যেমন, সেলস টেরিটরি) ক্ষেত্রে, ব্যবহারকারীরা সহজে জ্যামিতি টেক্সট ইনপুট করতে পারেন না। পরিবর্তে, BigQuery-তে আপনার শেপ জিওমেট্রি ও একটি সহজবোধ্য নাম (যেমন, "জোন ক") সহ একটি লুক-আপ টেবিল তৈরি করুন। ব্যবহারকারীদের জোন বেছে নিতে দিতে, Data Studio-তে p_zone_name একটি টেক্সট প্যারামিটার তৈরি করুন এবং ST_CONTAINS ফাংশনের জন্য জিওমেট্রি রিট্রিভ করতে একটি সাবকোয়েরি ব্যবহার করুন।

অবদানকারী