এক নজরে

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