ডেটা প্রশ্ন

চার্ট টুলস ডেটাসোর্স প্রোটোকল সমর্থন করে এমন একটি ডেটা উৎসে কীভাবে একটি প্রশ্ন পাঠাতে হয় তা এই পৃষ্ঠাটি বর্ণনা করে।

বিষয়বস্তু

ওভারভিউ

একটি ডেটাসোর্স হল একটি ওয়েব পরিষেবা যা চার্ট টুলস ডেটাসোর্স প্রোটোকল সমর্থন করে। আপনি একটি ডেটাসোর্সে একটি SQL ক্যোয়ারী পাঠাতে পারেন, এবং প্রতিক্রিয়া হিসাবে আপনি উপযুক্ত তথ্য সহ একটি ডেটা টেবিল পাবেন। ডেটাসোর্সের কিছু উদাহরণের মধ্যে রয়েছে গুগল স্প্রেডশীট এবং সেলসফোর্স।

একটি অনুরোধ পাঠানো হচ্ছে

একটি অনুরোধ পাঠাতে:

  1. আপনার ডেটাসোর্সের URL দিয়ে একটি ক্যোয়ারী অবজেক্ট ইনস্ট্যান্ট করুন। ইউআরএলটি সেই ডেটা উৎস দ্বারা বোঝা একটি সিনট্যাক্সে কোন ডেটার অনুরোধ করা হচ্ছে তা নির্দেশ করা উচিত।
  2. ঐচ্ছিকভাবে অনুরোধের বিকল্পগুলি নির্দিষ্ট করুন যেমন Query অবজেক্ট কনস্ট্রাক্টরে একটি ঐচ্ছিক দ্বিতীয় প্যারামিটার হিসাবে পাঠানোর পদ্ধতি (বিশদ বিবরণের জন্য ক্যোয়ারী কনস্ট্রাক্টরের opt_options প্যারামিটার দেখুন):
  3. ফলাফলগুলি সাজাতে বা ফিল্টার করতে ঐচ্ছিকভাবে একটি ক্যোয়ারী ভাষা স্ট্রিং যোগ করুন এবং তারপর অনুরোধ পাঠান। চার্ট টুলস ডেটাসোর্স ক্যোয়ারী ভাষা সমর্থন করার জন্য ডেটাসোর্সগুলির প্রয়োজন নেই৷ যদি ডেটাসোর্স ক্যোয়ারী ভাষা সমর্থন না করে, তাহলে এটি SQL ক্যোয়ারী স্ট্রিংকে উপেক্ষা করবে, কিন্তু তারপরও একটি DataTable ফেরত দেবে। ক্যোয়ারী ল্যাঙ্গুয়েজ একটি এসকিউএল ল্যাঙ্গুয়েজ বৈকল্পিক; এখানে সম্পূর্ণ ক্যোয়ারী ভাষা সিনট্যাক্স পড়ুন।
  4. একটি কলব্যাক হ্যান্ডলার উল্লেখ করে ক্যোয়ারী পাঠান যা প্রতিক্রিয়া প্রাপ্ত হলে কল করা হবে: বিস্তারিত জানার জন্য পরবর্তী বিভাগটি দেখুন।

এখানে একটি Google স্প্রেডশীট সেল পরিসরে ডেটার জন্য অনুরোধ পাঠানোর একটি উদাহরণ; কিভাবে একটি Google স্প্রেডশীটের URL পেতে হয় তা জানতে, এখানে দেখুন:

function initialize() {
  var opts = {sendMethod: 'auto'};
  // Replace the data source URL on next line with your data source URL.
  var query = new google.visualization.Query('http://spreadsheets.google.com?key=123AB&...', opts);

  // Optional request to return only column C and the sum of column B, grouped by C members.
  query.setQuery('select C, sum(B) group by C');

  // Send the query with a callback function.
  query.send(handleQueryResponse);
}

function handleQueryResponse(response) {
  // Called when the query response is returned.
  ...
}

আপনি যদি অ্যাপস স্ক্রিপ্টের মধ্যে থেকে আপনার ক্যোয়ারী পাঠান, তাহলে IFRAME মোড ব্যবহার করতে ভুলবেন না।

প্রতিক্রিয়া প্রক্রিয়াকরণ

অনুরোধ ফিরে এলে আপনার প্রতিক্রিয়া হ্যান্ডলার ফাংশন কল করা হবে। আপনার প্রতিক্রিয়া হ্যান্ডলার ফাংশনে পাস করা প্যারামিটারটি google.visualization.QueryResponse টাইপের। অনুরোধটি সফল হলে, প্রতিক্রিয়াটিতে একটি ডেটা টেবিল থাকে (ক্লাস google.visualization.DataTable )। অনুরোধ ব্যর্থ হলে, প্রতিক্রিয়াতে ত্রুটি সম্পর্কে তথ্য থাকে এবং DataTable নেই।

আপনার প্রতিক্রিয়া হ্যান্ডলার নিম্নলিখিত কাজ করা উচিত:

  1. response.isError() কল করে অনুরোধটি সফল বা ব্যর্থ হয়েছে কিনা তা পরীক্ষা করুন। আপনাকে ব্যবহারকারীর কাছে কোনো ত্রুটি বার্তা প্রদর্শন করতে হবে না; ভিজ্যুয়ালাইজেশন লাইব্রেরি আপনার কন্টেইনার <div> এ আপনার জন্য একটি ত্রুটি বার্তা প্রদর্শন করবে। যাইহোক, যদি আপনি ম্যানুয়ালি ত্রুটিগুলি পরিচালনা করতে চান, আপনি কাস্টম বার্তাগুলি প্রদর্শন করতে goog.visualization.errors ক্লাস ব্যবহার করতে পারেন (কাস্টম ত্রুটি পরিচালনার উদাহরণের জন্য ক্যোয়ারী র্যাপার উদাহরণ দেখুন)৷
  2. অনুরোধটি সফল হলে, প্রতিক্রিয়াটিতে একটি DataTable অন্তর্ভুক্ত থাকবে যা আপনি getDataTable() কল করে পুনরুদ্ধার করতে পারেন। আপনার চার্ট এটি পাস.

নিম্নলিখিত কোডটি একটি পাই চার্ট আঁকার পূর্ববর্তী অনুরোধটি পরিচালনা করে দেখায়:

function handleQueryResponse(response) {

  if (response.isError()) {
    alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
    return;
  }

  var data = response.getDataTable();
  var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
  chart.draw(data, {width: 400, height: 240, is3D: true});
}

CSV ফাইল পড়া

আপনি যদি CSV (কমা-বিভক্ত মান) ডেটা থেকে একটি চার্ট তৈরি করতে চান, আপনার কাছে দুটি পছন্দ আছে। হয় ম্যানুয়ালি CSV ডেটাকে Google চার্ট ডেটাটেবল ফর্ম্যাটে রূপান্তর করুন, অথবা চার্ট পরিবেশনকারী ওয়েব সার্ভারে CSV ফাইলটি রাখুন এবং এই পৃষ্ঠার কৌশলটি ব্যবহার করে অনুসন্ধান করুন৷

অধিক তথ্য