בדף הזה מוסבר איך לשלוח שאילתה למקור נתונים שתומך בפרוטוקול Datasource של כלי התרשימים.
סקירה כללית
מקור נתונים הוא שירות אינטרנט שתומך בפרוטוקול Datasource של כלי התרשימים. אתם יכולים לשלוח שאילתת SQL למקור נתונים, ובתגובה תקבלו DataTable עם המידע המתאים. אלה כמה דוגמאות למקורות נתונים, כולל גיליונות אלקטרוניים של Google ו-SalesForce.
שליחת בקשה
כדי לשלוח בקשה:
- יצירת אובייקט Query באמצעות כתובת ה-URL של מקור הנתונים. כתובת ה-URL צריכה לציין אילו נתונים הם מתבקשים, בתחביר המובן על ידי מקור הנתונים.
- אפשר גם לציין אפשרויות של בקשות, כמו שיטת השליחה, כפרמטר שני אופציונלי ביוצר האובייקטים של
Query
(פרטים נוספים זמינים בפרמטרopt_options
של יוצר השאילתה): - אפשר גם להוסיף מחרוזת שפה של שאילתה כדי למיין או לסנן את התוצאות, ואז לשלוח את הבקשה.
מקורות הנתונים לא נדרשים כדי לתמוך בשפת השאילתות של מקור הנתונים לתרשימים. אם מקור הנתונים לא תומך בשפת השאילתות, המערכת תתעלם ממחרוזת השאילתה ב-SQL אבל עדיין תחזיר
DataTable
. שפת השאילתה היא משתנה של שפת SQL. כדאי לקרוא את התחביר המלא של שפת השאילתה. - שליחת השאילתה, כולל handler של התקשרות חזרה שיופעלו כשמתקבלת תשובה: פרטים נוספים בקטע הבא.
דוגמה לשליחת בקשה לנתונים בטווח תאים של Google Sheets. כאן מוסבר איך למצוא כתובת URL לגיליון אלקטרוני של Google.
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. ... }
עיבוד התגובה
פונקציית הטיפול בתגובות תיקרא כשהבקשה תוחזר.
הפרמטר שמועבר לפונקציית הטיפול בתגובות הוא מסוג google.visualization.QueryResponse.
אם הבקשה הצליחה, התגובה תכיל טבלת נתונים (שיעור google.visualization.DataTable
).
אם הבקשה נכשלה, התשובה תכיל מידע על השגיאה ולא DataTable
.
מטפל התשובות שלך צריך:
- אפשר להתקשר למספר
response.isError()
כדי לבדוק אם הבקשה הצליחה או נכשלה. אין צורך להציג הודעות שגיאה למשתמש. ספריית התצוגה החזותית תציג הודעת שגיאה במאגר התגים<div>
. עם זאת, אם אתם מעוניינים לטפל בשגיאות באופן ידני, תוכלו להשתמש בכיתהgoog.visualization.errors
כדי להציג הודעות מותאמות אישית (כדי לקבל דוגמה לטיפול בשגיאות בהתאמה אישית, יש לעיין בדוגמת מעטפת של שאילתה). - אם הבקשה תצליח, התשובה תכלול
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 (ערכים מופרדים בפסיקים), יש לכם שתי אפשרויות:
- המרת הנתונים לפורמט טבלת הנתונים של Google מצעדים
- הציגו את קובץ ה-CSV בשרת האינטרנט שמציג את התרשים והרצתו שאילתות באמצעות הטכניקה שבדף הזה.
מידע נוסף
- תחביר שפת שאילתה - תיאור התחביר של השפה ששימשה לביצוע שאילתות בנתונים.
- Query Class – דף ההפניות של הכיתה שאורכה שאילתה.
- QueryResponse Class – דף העזר של הכיתה שאורזת את התשובה לשאילתה.