Язык запросов Google Visualization API позволяет выполнять различные манипуляции с данными с запросом к источнику данных.
Введение
Как правило, визуализации ожидают данные в определенной форме. Например, круговая диаграмма может ожидать данных в виде двух столбцов: текстовой метки и числового значения. Данные в источнике данных могут не точно соответствовать этой структуре. Например, источник данных может иметь более двух столбцов, или порядок столбцов может не соответствовать порядку, ожидаемому на круговой диаграмме.
Язык запросов позволяет отправлять запросы на манипулирование данными и форматирование в источник данных, а также обеспечивать соответствие возвращаемой структуры данных и содержимого ожидаемой структуре.
Синтаксис языка запросов аналогичен SQL. Разработчики, знакомые с SQL, должны быть в состоянии быстро изучить и использовать этот язык запросов. В Интернете доступно множество учебных пособий по SQL . Существуют некоторые различия между этим языком запросов и SQL, которые описаны в разделе о синтаксисе .
Обратите внимание, что источники данных не требуются для реализации языка запросов, а если и требуются, то для реализации всех функций языка. Если у вас нет оснований полагать иначе, вы не должны полагаться на источник данных для реализации всех функций этого языка.
Использование языка запросов
Вы можете прикрепить строку запроса к запросу источника данных двумя способами: задав строку запроса из кода JavaScript или задав строку запроса в качестве параметра в URL-адресе источника данных . Если ваш запрос не включает строку запроса, поведение источника данных по умолчанию заключается в возврате всех строк и столбцов с использованием стандартного порядка строк и столбцов и форматирования. Вы можете изменить это, включив строку запроса в свой запрос к источнику данных.
Настройка запроса из JavaScript
Чтобы задать строку запроса из кода JavaScript, вызовите метод setQuery
класса google.visualization.Query
.
var query = new google.visualization.Query(DATA_SOURCE_URL);
query.setQuery('select dept, sum(salary) group by dept');
query.send(handleQueryResponse);
Настройка запроса в URL-адресе источника данных
Строку запроса можно добавить к URL-адресу источника данных с помощью параметра tq
. Установка запроса в параметре URL вместо JavaScript позволяет легко использовать визуализации, написанные другими разработчиками, и по-прежнему иметь возможность настраивать запрос.
Строка запроса должна быть правильно закодирована как параметр URL. Вы можете закодировать URL-адрес, используя функцию JavaScript encodeURIComponent
, или вы можете закодировать его вручную, используя инструмент кодирования в конце этого раздела.
Пример:
Рассмотрим следующую строку запроса для электронной таблицы Google. (Обратите внимание, что идентификаторы столбцов в электронных таблицах всегда представляют собой буквы; текст заголовков столбцов, отображаемый в опубликованной электронной таблице, является метками, а не идентификаторами. В строке запроса необходимо использовать идентификатор, а не метку.)
select A, sum(B) group by A
При кодировании этот запрос становится:
select%20A%2C%20sum(B)%20group%20by%20A
Предположим, что это URL-адрес вашей электронной таблицы:
https://docs.google.com/a/google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4
Добавьте /gviz/tq?tq=
YOUR_QUERY_STRING к URL электронной таблицы, чтобы получить окончательную строку запроса:
https://docs.google.com/a/google.com/spreadsheets/d/1r8_mfnZAvTFmT02JHi1XgOwn_-sLCR9XgmR8wEQ4uW4/gviz/tq?tq=select%A%2C%20sum(B)%20group%20by%20A
Используйте приведенный ниже инструмент для кодирования или декодирования строки запроса:
Примечание. Для доступа к данным частной электронной таблицы требуется передача явных учетных данных авторизации с использованием OAuth. Дополнительную информацию см. в разделе Таблицы Google: авторизация .
Синтаксис языка
Обзор
Синтаксис языка запросов API визуализации Google похож на синтаксис SQL. Однако это подмножество SQL с некоторыми собственными функциями, которые вам необходимо изучить. Если вы знакомы с SQL, его изучение не должно составить особого труда.
Таблицы данных
В этом документе термин таблица данных используется для обозначения набора результатов запроса. Таблица данных состоит из строк и столбцов. Каждый столбец в таблице данных имеет следующие свойства:
- Идентификатор (или идентификатор столбца ). Используется для ссылки на столбцы в запросе. Обратите внимание, что вы никогда не должны пытаться ссылаться на столбец по метке в запросе, только по идентификатору. Совет.Старайтесь не использовать идентификаторы, содержащие пробелы; пространствами трудно управлять, и это может привести к тому, что вы сделаете небольшие, но трудно находимые ошибки в своем коде. Кроме того, идентификатор, содержащий пробелы, должен быть заключен в обратные кавычки.
- Этикетка .
string
, которая обычно отображается для конечных пользователей. Например, как легенда в круговой диаграмме или заголовок столбца в таблице. - Тип данных . Поддерживаемые типы данных:
string
,number
,boolean
,date
,datetime
-время и времяtimeofday
. Все значения столбца будут иметь тип данных, соответствующий типу столбца, илиnull
значение. Эти типы похожи, но не идентичны типам JavaScript. описано в разделе Литералы на этой странице. - Шаблон форматирования . Источник данных может определять шаблоны форматирования для некоторых или всех своих столбцов. Вы можете переопределить этот шаблон, включив предложение формата .
Таблица, используемая во всех примерах:
В этом разделе все примеры запросов относятся к следующей таблице. Заголовки столбцов являются идентификаторами столбцов.
namestring |
deptstring |
lunchTimetimeofday |
salary
number |
hireDatedate |
agenumber |
isSeniorboolean |
seniorityStartTimedatetime |
---|---|---|---|---|---|---|---|
John | Eng | 12:00:00 |
1000
|
2005-03-19 | 35 | true | 2007-12-02 15:56:00 |
Dave | Eng | 12:00:00 |
500
|
2006-04-19 | 27 | false | null |
Sally | Eng | 13:00:00 |
600
|
2005-10-10 | 30 | false | null |
Ben | Sales | 12:00:00 |
400
|
2002-10-10 | 32 | true | 2005-03-09 12:30:00 |
Dana | Sales | 12:00:00 |
350
|
2004-09-08 | 25 | false | null |
Mike | Marketing | 13:00:00 |
800
|
2005-01-10 | 24 | true | 2007-12-30 14:40:00 |
Языковые пункты
Синтаксис языка запросов состоит из следующих предложений. Каждое предложение начинается с одного или двух ключевых слов. Все пункты необязательны. Предложения разделяются пробелами. Порядок предложений должен быть следующим:
Пункт | Применение |
---|---|
select |
Выбирает, какие столбцы возвращать и в каком порядке. Если этот параметр опущен, возвращаются в |