이 페이지에서는 차트 도구 데이터 소스 프로토콜을 지원하는 데이터 소스에 쿼리를 보내는 방법을 설명합니다.
목차
개요
데이터 소스는 차트 도구 데이터 소스 프로토콜을 지원하는 웹 서비스입니다. SQL 쿼리를 데이터 소스로 보내면 그에 따라 적절한 정보가 채워진 DataTable이 제공됩니다. 데이터 소스의 예로는 Google Sheets와 SalesForce가 있습니다.
요청 보내기
요청을 보내려면 다음 단계를 따르세요.
- 데이터 소스의 URL로 Query 객체를 인스턴스화합니다. URL은 요청 중인 데이터를 데이터 소스에서 이해할 수 있는 구문으로 표시해야 합니다.
-
선택적으로
Query
객체 생성자에서 두 번째 매개변수로 전송 메서드 같은 요청 옵션을 지정합니다 (자세한 내용은 쿼리 생성자의opt_options
매개변수 참고). -
원하는 경우 쿼리 언어 문자열을 추가하여 결과를 정렬하거나 필터링한 후 요청을 전송할 수 있습니다. 데이터 소스는 차트 도구 데이터 소스 쿼리 언어를 지원하지 않아도 됩니다. 데이터 소스가 쿼리 언어를 지원하지 않는 경우 SQL 쿼리 문자열은 무시되지만 여전히
DataTable
이 반환됩니다. 쿼리 언어는 SQL 언어 변형입니다. 전체 쿼리 언어 구문을 참조하세요. - 쿼리를 수신하고 응답이 수신될 때 호출될 콜백 핸들러를 지정합니다. 자세한 내용은 다음 섹션을 참조하세요.
다음은 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. ... }
Apps Script 내에서 쿼리를 보내는 경우 IFRAME
모드를 사용해야 합니다.
응답 처리
요청이 반환될 때 응답 핸들러 함수가 호출됩니다. 응답 핸들러 함수에 전달되는 매개변수는 google.visualization.QueryResponse 유형입니다.
요청이 성공하면 응답에 데이터 테이블(google.visualization.DataTable
클래스)이 포함됩니다. 요청에 실패하면 응답에 오류에 대한 정보가 포함되며 DataTable
는 포함되지 않습니다.
응답 핸들러는 다음을 수행해야 합니다.
-
response.isError()
를 호출하여 요청의 성공 또는 실패 여부를 확인합니다. 사용자에게 오류 메시지를 표시할 필요는 없습니다. 시각화 라이브러리의<div>
에 오류 메시지가 표시됩니다. 그러나 오류를 수동으로 처리하려는 경우goog.visualization.errors
클래스를 사용하여 맞춤 메시지를 표시하면 됩니다 (커스텀 오류 처리의 예는 쿼리 래퍼 예 참조). -
요청이 성공하면
getDataTable()
를 호출하여 검색할 수 있는DataTable
가 응답에 포함됩니다. 차트에 전달합니다.
다음 코드는 원형 차트를 그리는 이전 요청을 처리하는 방법을 보여줍니다.
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 파일을 배치하고 이 페이지의 기법을 사용하여 쿼리합니다.
추가 정보
- 쿼리 언어 구문 - 데이터 쿼리를 수행하는 데 사용되는 언어의 구문을 설명합니다.
- 쿼리 클래스 - 쿼리를 래핑하는 클래스의 참조 페이지입니다.
- QueryResponse 클래스 - 쿼리에 대한 응답을 래핑하는 클래스의 참조 페이지입니다.