Nesta página, descrevemos como enviar uma consulta para uma fonte de dados compatível com o protocolo de fonte de dados das Ferramentas de gráfico.
Índice
Visão geral
A fonte de dados é um serviço da Web que oferece suporte ao protocolo de fonte de ferramentas de gráficos. Você pode enviar uma consulta SQL para uma fonte de dados e, em resposta, receber uma tabela de dados preenchida com as informações apropriadas. Alguns exemplos de fontes de dados são o Planilhas Google e o SalesForce.
Como enviar uma solicitação
Para enviar uma solicitação:
- Instancie um objeto Query com o URL da sua fonte de dados. O URL precisa indicar quais dados estão sendo solicitados, em uma sintaxe compreendida por essa fonte de dados.
-
Também é possível especificar opções de solicitação, como o método de envio como um segundo parâmetro opcional no
construtor de objeto
Query
. Consulte o parâmetroopt_options
do construtor da consulta para mais detalhes: -
Se quiser, adicione uma string de idioma de consulta para
classificar ou filtrar os resultados e envie a solicitação. As fontes de dados não são compatíveis com a linguagem de consulta de fonte de dados das Ferramentas de Gráfico. Se a fonte de dados não for compatível com a linguagem, ela vai ignorar a string de consulta SQL, mas ainda assim retornará uma
DataTable
. A linguagem de consulta é uma variante da SQL. Leia a sintaxe completa da linguagem de consulta. - Envie a consulta, especificando um gerenciador de callback que será chamado quando a resposta for recebida. Veja os detalhes na próxima seção.
Veja um exemplo de envio de uma solicitação de dados em um intervalo de células do arquivo do Planilhas Google. Para saber como encontrar o URL de uma planilha do Google, consulte esta página:
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. ... }
Se você estiver enviando sua consulta do Apps Script, use o modo IFRAME
.
Como processar a resposta
A função de gerenciador de respostas será chamada quando a solicitação for retornada. O parâmetro transmitido à função do gerenciador de respostas é do tipo google.visualization.QueryResponse.
Se a solicitação foi bem-sucedida, a resposta contém uma tabela de dados (classe google.visualization.DataTable
). Se a solicitação falhou, a resposta contém informações sobre o erro, e não DataTable
.
O gerenciador de respostas precisa fazer o seguinte:
-
Para verificar se a solicitação foi bem-sucedida ou não, chame
response.isError()
. Não é necessário mostrar mensagens de erro para o usuário. A Biblioteca de visualização exibirá uma mensagem de erro no contêiner<div>
. No entanto, caso queira corrigir os erros manualmente, use a classegoog.visualization.errors
para exibir mensagens personalizadas. Consulte o exemplo de wrapper de consulta para ver um exemplo de tratamento de erros personalizado. -
Se a solicitação for bem-sucedida, a resposta incluirá um
DataTable
que você pode recuperar chamandogetDataTable()
. Transmita-o para seu gráfico.
O código a seguir demonstra o processamento da solicitação anterior para desenhar um gráfico de pizza:
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}); }
Como ler arquivos CSV
Se quiser criar um gráfico com base em dados CSV (valores separados por vírgula), você tem duas opções. Converta manualmente os dados CSV para o formato de tabela de dados do Google Charts ou coloque o arquivo CSV no servidor da Web que exibe o gráfico e consulte-o usando a técnica nesta página.
Mais informações
- Sintaxe da linguagem de consulta: descreve a sintaxe da linguagem usada para fazer consultas de dados.
- Classe de consulta: página de referência da classe que une uma consulta.
- Classe QueryResponse: página de referência para a classe que une a resposta em uma consulta.