Ряды данных¶
Ряд Данных предназначен для хранения статистики из внешних источников.
Ряд Данных позволяет хранит наборы пар (дата, число)
Дата - от YY до Yh, уникальна в Ряде Данных.
Число - целое
Пополнять Ряд Данных можно задавать непосредственно из данных вызова, из csv- или xlsx-файлов с указание по какой ссылке их забирать, из статистических данных Google Analytics.
Использование Рядов Данных в вызове Универсальной Статистики в сочетании с выборкой данных по выпуску рассылки (клики, чтения, доставки) позволит оценить, например, изменение посещаемости после рассылки.
Список рядов данных¶
ответ
{
<общие поля>
,"list" : [
{
"id" : идентификатор рядя данных
,"name" : "название ряда данных"
,"prec" : "точность даты ряда данных"
,"ga.bind" : "привязка к GA"
,"reltype" : ...
,"relref" : ...
}
...
]
}
Чтение ряда данных¶
ответ
ответ
{
<общие поля>
,"obj" : {
"id" : идентификатор рядя данных
,"name" : "название ряда данных"
,"prec" : "точность даты ряда данных"
,"ga.bind" : "привязка к GA"
,"ga.request" : {
параметры запроса к Google Analictics
}
,"reltype" : ...
,"relref" : ...
}
}
Создание ряда данных¶
{
"action" : "datarow.create"
,"name" : "название ряда данных
,"prec" : "точность даты ряда данных" -- "YY" - год, "YM" - год-месяц, "YD" - год-день, "Yh" - год-час
-- точность даты указывается при создании и в дальнейшем изменена быть не может
-- не обязательная привязка к Google Analytics
,"ga.bind" : "id аутентификации" -- ссылка на объект authext хранящий аутентификацию
,"ga.request" : { -- игнорируется при пустом или отсутствующем ga.bind
-- параметры запроса к Google Analictics для пополнения ряда данных через Core Reporting API
-- https://developers.google.com/analytics/devguides/reporting/core/v3/reference
--
-- запрос должен возвращать в первой колонке дату, во второй - значение
-- обратите внимание, что GA возвращает дату с точностью YD и, следовательно, может использовать
-- только если точность ряда данных YD и меньше
--
-- автоматические запросы к GA вы можете настроить на удобное вам время с удобной частотой через Действия по расписанию cron.*
"ids" : "...."
,"metrics" : "...."
,"dimensions" : "...."
,"segment" : "...."
,"filters" : "...."
}
,"reltype" : ...
,"relref" : ...
}
ответ
Изменение ряда данных¶
Обновляются только указанные в запросе поля
Точность ряда данных изменить нельзя
{
"action" : "datarow.set"
,"id" : идентификатор ряда данных
,"name" : "новое название ряда данных
,"ga.bind" : "новая аутентификация к GA аутентификации" -- укажите пусто что бы удалить привязку к GA
,"ga.request" : { новый запрос к GA } -- игнорируется при пустом или отсутствующем ga.bind
,"reltype" : ...
,"relref" : ...
}
ответ
Удаление ряда данных¶
ответ
Внесение записей в ряд данных¶
Вызов позволяет внести, изменить или удалить записи.
Одна запись состоит из пары "дата" (идентифицирует запись в данном ряду данных) и соответствующего дате "числа".
Дата может задавать в любой точностью не меньшей чем указана при создании ряда данных.
Формат даты - YYYY-MM-DD hh:mm:ss или YYYYMMDDhhmmss
Лишние компоненты даты отбрасываются.
При наличии в данных нескольких записей для одной даты, результатом будет обработка последней.
Число - положительное или отрицательное число или ноль или пусто. Дробная часть, при наличии, отбрасывается.
Запись для отсутствующей ещё даты создаётся автоматически.
Запись для уже существующей даты изменяет значение на новое, если число не пусто, или удаляется, если задано пустое значение.
При указании файла или ссылки на файл поддерживается содержимое сжатое zip.
Если файл - таблица xlsx, то данные берутся с первого листа. Одна строка - одна запись. По умолчанию первая колонка интерпретируется как дата, вторая как число.
Иначе файл считается текстовым (csv) с попыткой автоматически определить разделитель из возможных (запятая, точка с запятой, вертикальная черта, табуляция). Одна строка - одна запись. Первая колонка - дата, вторая число.
Если Ряд Данных связан с Google Analytics, то он пополняется автоматически. Но можно пополнить его и по своему желанию использовав данный вызов в варианте с ga.
Положение колонки с датой и числом для любого способа задания данных можно указать явно через dt.index и value.index, если они отличаются от 0 и 1. Нумерация с нуля.
{
"action" : "datarow.load"
,"id" : идентификатор ряда данных
,"dt.index" : "индекс колонки с датой" -- по умолчанию 0
,"value.index" : "индекс колонки с числом" -- по умолчанию 1
-- или получение данных из Google Analytics (требуется заранее заполнить ga.bind и ga.request
"ga" : { -- указанные тут параметры сильнее параметров сохранённых в ga.request
"start-date" : "YYYY-MM-DD | today | yesterday | NdaysAgo | minimum"
,"end-date" : "YYYY-MM-DD | today | yesterday | NdaysAgo"
,прочие параметры которые может понять Google Analytics
}
-- или получения данных из внешнего файла
"url" : "ссылка на файл"
-- или явное задание структуры данных
"list" : [
[ "дата-1", "число-1"]
,[ "дата-2", "число-2"]
,[ "дата-3", "число-3"]
......
]
-- или задание данных содержимым файла
"list" : "содержимое файла"
}
ответ
{
<общие поля>
,"count" : число добавленных, изменённых или удалённых записей
,"warnings" : [ описание ошибочных строк проигнорированных при обработке - причина и номер строки ]
}
Массовое удаление записей ряда данных¶
Альтернатива удалению записей по одной через datarow.load.
Удаляются все записи попадающие в указанный диапазон дат и значений.
В целях безопасности пустой фильтр игнорируется (формально он означал бы удаление всего).
Для удаления всех записей ряда данных используйте filter со специальным значением "ALL".
{
"action" : "datarow.clean"
,"id" : идентификатор ряда данных
-- одно из
,"filter" : [
фильтр как для stat.uni по полям datarow.record.dt и datarow.record.value
]
-- или
,"filter" : "ALL"
}
ответ