এক নজরে

এই ডকুমেন্টে Places Insights এবং Data Studio ব্যবহার করে কীভাবে ডায়নামিক জিওস্পেশিয়াল রিপোর্ট তৈরি করতে হয় তা বর্ণনা করা হয়েছে। নন-টেকনিক্যাল স্টেকহোল্ডারদের নিজেদের প্রশ্নের উত্তর দিতে সাহায্য করে আপনার লোকেশন ডেটার মূল্য আনলক করুন। এই নির্দেশিকা আপনাকে দেখায় যে কীভাবে স্ট্যাটিক রিপোর্টগুলিকে ইন্টার্যাক্টিভ, হিটম্যাপ-স্টাইল টুলে পরিণত করা যায়, যাতে প্রতিটি অনুরোধের জন্য SQL লিখতে না হয়। জটিল লোকেশন ডেটায় অ্যাক্সেস চালু করুন, ডেটা ইঞ্জিনিয়ারিং ও বিজনেস ইন্টেলিজেন্সের মধ্যে পার্থক্য দূর করুন।
এই আর্কিটেকচারাল প্যাটার্ন গ্রহণ করলে বেশ কিছু গুরুত্বপূর্ণ সুবিধা পাওয়া যায়:
- ভিজ্যুয়াল ডেটা রিপ্রেজেন্টেশন: জায়গা সম্পর্কে ইনসাইট ডেটাকে ইন্ট্যার্যাক্টিভ ম্যাপ ও চার্টে রূপান্তরিত করে যা অবিলম্বে স্থানিক ঘনত্ব ও ট্রেন্ড সম্পর্কে তথ্য প্রদান করে।
- SQL ছাড়াই সহজ এক্সপ্লোরেশন: টিম মেম্বারদের, যেমন মার্কেট অ্যানালিস্ট বা রিয়েল এস্টেট প্ল্যানারদের, আগে থেকে নির্ধারিত প্যারামিটার ব্যবহার করে ডাইনামিকভাবে ডেটা ফিল্টার করার সুবিধা দেয় (যেমন, ড্রপডাউন ব্যবহার করে "শহর" বা "দিনের সময়" পরিবর্তন করা)। SQL-এর একটি লাইনও না লিখে তারা ডেটা এক্সপ্লোর করতে পারবেন।
- নির্বিঘ্ন কোলাবরেশন: স্ট্যান্ডার্ড Data Studio শেয়ারিং ফিচার আপনাকে এইসব ইন্ট্যার্যাক্টিভ ইনসাইট নিরাপদে ডিস্ট্রিবিউট করতে দেয়।
সমাধানের ওয়ার্কফ্লো
নিম্নলিখিত ওয়ার্কফ্লো একটি পারফর্ম্যান্ট রিপোর্টিং আর্কিটেকচার তৈরি করে। এটি স্ট্যাটিক বেসলাইন থেকে সম্পূর্ণ ডায়নামিক অ্যাপ্লিকেশনে পরিবর্তিত হয়, যা জটিলতা শুরু হওয়ার আগে ডেটার নির্ভুলতা নিশ্চিত করে।
পূর্বশর্ত
শুরু করার আগে, জায়গা সম্পর্কে ইনসাইট সেট-আপ করতে এইসব নির্দেশাবলী অনুসরণ করুন। আপনার 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-তে এটি প্রয়োগ করতে:
- নতুন ফাঁকা রিপোর্ট তৈরি করুন।
- ডেটা কানেক্টর হিসেবে BigQuery বেছে নিন।
- বাঁদিকের মেনু থেকে কাস্টম কোয়েরি বিকল্প বেছে নিন এবং আপনার বিলিং প্রোজেক্ট আইডি বেছে নিন।
- এডিটরে উপরে দেখানো স্ট্যাটিক বেস কোয়েরি পেস্ট করুন।
- লিগ্যাসি SQL ব্যবহার করুন, তারিখের রেঞ্জ চালু করুন এবং দর্শকের ইমেল আইডি চালু করুন প্যারামিটারগুলি মুছে দিন।
- যোগ করুন বিকল্পে ক্লিক করুন।
১.২ জিওস্পেশিয়াল ভিজ্যুয়ালাইজেশন কনফিগার করা
ডেটা কানেক্ট করা হয়ে গেলে, H3 বাউন্ডারি ডেটা সঠিকভাবে শনাক্ত করার জন্য Data Studio কনফিগার করুন:
- চার্ট যোগ করুন মেনু থেকে রিপোর্ট ক্যানভাসে ভরাট করা ম্যাপ ভিজ্যুয়ালাইজেশন যোগ করুন।
- আপনার
h3_geoফিল্ডে পলিগন জিওমেট্রি আছে কিনা তা ভাল করে দেখে নিন, যা জিওস্পেশিয়াল ডেটার ধরন হিসেবে সেট করা আছে।- আপনার কানেকশনের নামের পাশে ডেটা সোর্স এডিট করুন (পেন্সিল) আইকনে ক্লিক করুন।
h3_geo-এর মান টেক্সট (ABC) হিসেবে সেট করা থাকলে, ড্রপ-ডাউন মেনু থেকে জিও > জিওস্পেশিয়াল বেছে নিন,- হয়ে গেছে বিকল্পে ক্লিক করুন।
h3_indexফিল্ডটি লোকেশন (অনন্য শনাক্তকারী হিসেবে কাজ করে) হিসেবে ম্যাপ করুন।h3_geoফিল্ডকে জিওস্পেশিয়াল ফিল্ড (পলিগন জিওমেট্রি হিসেবে কাজ করে) হিসেবে ম্যাপ করুন।restaurant_countফিল্ডকে কালার মেট্রিক-এ ম্যাপ করুন।
এটি H3 সেল অনুযায়ী রেস্তোরাঁর ঘনত্বের ম্যাপ রেন্ডার করবে। গাঢ় নীল (ডিফল্ট রঙের বিকল্প) রঙ দিয়ে সেই সেলকে চিহ্নিত করা হয় যেখানে রেস্তোরাঁর সংখ্যা বেশি।

ধাপ ২: ডায়নামিক প্যারামিটার প্রয়োগ করা
রিপোর্টটি ইন্টার্যাক্টিভ করতে, আমরা রিপোর্টে কন্ট্রোল যোগ করব যা ব্যবহারকারীকে নিম্নলিখিত বিকল্পগুলি থেকে বেছে নিতে দেয়:
- এলাকা: রিপোর্ট যে শহরের উপর ফোকাস করে তা নিয়ন্ত্রণ করে।
- সপ্তাহের দিন: জায়গাগুলি কোন দিন খোলা থাকে তার উপর ভিত্তি করে ফিল্টার করে, স্কিমায়
regular_opening_hoursরেকর্ড ব্যবহার করে। - দিনের সময়:
start_timeএবংend_timeফিল্ডের সাথে তুলনা করে অপারেশনাল সময়ের ভিত্তিতে জায়গা ফিল্টার করে।
এটি করার জন্য, রানটাইমে আপনি ব্যবহারকারীর বেছে নেওয়া প্যারামিটার সরাসরি একটি পরিবর্তিত Places Insights কোয়েরিতে পাস করবেন। Data Studio-এর ডেটা সোর্স এডিটরে, আপনাকে অবশ্যই এই প্যারামিটারগুলি টাইপ করা ভেরিয়েবল হিসাবে স্পষ্টভাবে সংজ্ঞায়িত করতে হবে।
Data Studio-তে, রিসোর্স মেনু বেছে নিন, তারপর যোগ করা ডেটা সোর্স
ম্যানেজ করুন বিকল্পে ক্লিক করুন। যে প্যানেলটি দেখা যাবে, তার মধ্যে থেকে, আমরা আগে যে BigQuery কাস্টম SQL ডেটা সোর্স যোগ করেছি, তার বিপরীতে EDIT বেছে নিন।
'কানেকশন এডিট করুন' উইন্ডোতে, প্যারামিটার যোগ করুন বিকল্প বেছে নিন। আমরা তিনটি প্যারামিটার যোগ করতে চলেছি, যার ভ্যালু নিচে দেওয়া হল।
| প্যারামিটারের নাম | ডেটার ধরন | অনুমোদিত ভ্যালু | ভ্যালুর তালিকা (DB-এর সাথে হুবহু মিলতে হবে) | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
p_locality |
টেক্সট | ভ্যালুর তালিকা |
|
||||||||||||||||
p_day_of_week |
টেক্সট | ভ্যালুর তালিকা |
|
||||||||||||||||
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, যা আমরা এইমাত্র সেট আপ করা প্যারামিটারের নামের সাথে সম্পর্কযুক্ত।
ব্যবহারকারীকে এইসব প্যারামিটার দেখাতে রিপোর্ট ক্যানভাসে ফিরে যান:
- আপনার রিপোর্টে তিনটি ড্রপ-ডাউন তালিকা কন্ট্রোল যোগ করুন।
- প্রতিটি কন্ট্রোলের জন্য, আপনার নতুন তৈরি করা প্যারামিটারের সাথে সামঞ্জস্য রেখে কন্ট্রোল ফিল্ড সেট করুন:
- কন্ট্রোল ১:
p_locality - কন্ট্রোল ২:
p_day_of_week - কন্ট্রোল ৩:
p_hour_of_day
- কন্ট্রোল ১:
আপনার চূড়ান্ত রিপোর্ট নিম্নলিখিত রিপোর্টের মতো দেখতে হবে। ড্রপ-ডাউন কন্ট্রোলের কোনও একটিতে ভ্যালু পরিবর্তন করলে, ম্যাপে দেখানোর আগে, Data Studio-কে Places Insights থেকে অনুরোধ করা ডেটা নিয়ে আসার জন্য ট্রিগার করবে।

ধাপ ৩: ফলাফল শেয়ার করা
রিপোর্ট শেয়ার করতে Data Studio-তে বিল্ট-ইন শেয়ারিং টুল ব্যবহার করুন। এটি দর্শকদের আপনার ড্রপ-ডাউন তালিকা থেকে বেছে নেওয়া প্যারামিটারের ভিত্তিতে ভিজ্যুয়ালাইজেশন ডায়নামিকভাবে আপডেট করার অনুমতি দেবে।
উপসংহার
এই প্যাটার্নটি একটি স্কেলেবল, ইন্টার্যাক্টিভ রিপোর্টিং টুল তৈরি করে যা BigQuery-এর কম্পিউটেশনাল পাওয়ার ব্যবহার করে Data Studio-তে জায়গা সম্পর্কে ইনসাইটের অ্যাগ্রিগেটেড ডেটা প্রদান করে। এই আর্কিটেকচারটি বিশাল কাঁচা ডেটাসেটগুলি কল্পনা করার চেষ্টা করার ত্রুটিগুলি এড়ায় এবং শেষ-ব্যবহারকারীদের প্রায় রিয়েল-টাইমে সময়, অবস্থান এবং ব্যবসার প্রকারের মতো বিভিন্ন মাত্রা জুড়ে ডেটা অন্বেষণ করার নমনীয়তা প্রদান করে। এটি একটি শক্তিশালী টুল যা আপনার নন-টেকনিক্যাল স্টেকহোল্ডারদের ডেটা এক্সপ্লোর করার সুবিধা দেয়।
পরবর্তী ধাপ
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-তে একটি লুকআপ টেবিল তৈরি করুন
যেখানে আপনার শেপের জিওমেট্রি এবং একটি সহজ নাম (যেমন,
"Zone A") থাকবে। Data Studio-তে একটি টেক্সট প্যারামিটার
p_zone_nameতৈরি করুন যাতে ব্যবহারকারীরা জোন বেছে নিতে পারেন এবংST_CONTAINSফাংশনের জন্য জিওমেট্রি ফিরিয়ে আনতে সাবকোয়েরি ব্যবহার করুন।
- ব্যাসার্ধ-ভিত্তিক: তিনটি সংখ্যাসূচক প্যারামিটার তৈরি করুন: p_latitude,
p_longitude এবং p_radius_meters. Geocoding API সহ Google Maps Platform API থেকে
স্থানাঙ্ক পাওয়া যেতে পারে। আপনার কোয়েরিতে,
ST_DWITHIN ফাংশনে এগুলি ইনজেক্ট করুন:
অবদানকারী
- ডেভিড জাইঙ্গার্টেন | ডেভেলপার রিলেশনস ইঞ্জিনিয়ার
- হেনরিক ভালভ | DevX ইঞ্জিনিয়ার