데이터 쿼리

이 페이지에서는 차트 도구 데이터 소스 프로토콜을 지원하는 데이터 소스에 쿼리를 보내는 방법을 설명합니다.

목차

개요

데이터 소스는 차트 도구 데이터 소스 프로토콜을 지원하는 웹 서비스입니다. SQL 쿼리를 데이터 소스로 보내면 그에 따라 적절한 정보가 채워진 DataTable이 제공됩니다. 데이터 소스의 예로는 Google Sheets와 SalesForce가 있습니다.

요청 보내기

요청을 보내려면 다음 단계를 따르세요.

  1. 데이터 소스의 URL로 Query 객체를 인스턴스화합니다. URL은 요청 중인 데이터를 데이터 소스에서 이해할 수 있는 구문으로 표시해야 합니다.
  2. 선택적으로 Query 객체 생성자에서 두 번째 매개변수로 전송 메서드 같은 요청 옵션을 지정합니다 (자세한 내용은 쿼리 생성자의 opt_options 매개변수 참고).
  3. 원하는 경우 쿼리 언어 문자열을 추가하여 결과를 정렬하거나 필터링한 후 요청을 전송할 수 있습니다. 데이터 소스는 차트 도구 데이터 소스 쿼리 언어를 지원하지 않아도 됩니다. 데이터 소스가 쿼리 언어를 지원하지 않는 경우 SQL 쿼리 문자열은 무시되지만 여전히 DataTable이 반환됩니다. 쿼리 언어는 SQL 언어 변형입니다. 전체 쿼리 언어 구문을 참조하세요.
  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.
  ...
}

Apps Script 내에서 쿼리를 보내는 경우 IFRAME 모드를 사용해야 합니다.

응답 처리

요청이 반환될 때 응답 핸들러 함수가 호출됩니다. 응답 핸들러 함수에 전달되는 매개변수는 google.visualization.QueryResponse 유형입니다. 요청이 성공하면 응답에 데이터 테이블(google.visualization.DataTable 클래스)이 포함됩니다. 요청에 실패하면 응답에 오류에 대한 정보가 포함되며 DataTable는 포함되지 않습니다.

응답 핸들러는 다음을 수행해야 합니다.

  1. response.isError()를 호출하여 요청의 성공 또는 실패 여부를 확인합니다. 사용자에게 오류 메시지를 표시할 필요는 없습니다. 시각화 라이브러리의 <div>에 오류 메시지가 표시됩니다. 그러나 오류를 수동으로 처리하려는 경우 goog.visualization.errors 클래스를 사용하여 맞춤 메시지를 표시하면 됩니다 (커스텀 오류 처리의 예는 쿼리 래퍼 예 참조).
  2. 요청이 성공하면 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 클래스 - 쿼리에 대한 응답을 래핑하는 클래스의 참조 페이지입니다.