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.
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.
- Como opção, especifique opções de solicitação, como o método de envio como um segundo parâmetro opcional no construtor do 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 precisam ser compatíveis com a linguagem de consulta da fonte de dados das ferramentas de gráfico. Se a fonte de dados não for compatível com a linguagem de consulta, ela ignorará a string de consulta SQL, mas ainda retornará uma
DataTable
. A linguagem de consulta é uma variante da linguagem 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 a próxima seção para mais detalhes.
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 ver o URL de uma planilha do Google, consulte este link:
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. ... }
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 for bem-sucedida, a resposta conterá uma tabela de dados (classe google.visualization.DataTable
).
Se a solicitação falhar, a resposta conterá 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 você queira lidar com 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:
- Converter os dados no formato de gráficos do Google Tables
- 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.