четверг, 14 октября 2021 г.
суббота, 9 октября 2021 г.
среда, 6 октября 2021 г.
Google Таблицы. Простая база данных (БД). Отчет
Проведем работу по созданию отчета из нашей БД
Для формирования отчета будем использовать функцию QUERY. Для возможности выбора параметров отчета настроим входные данные.
Введем поле для ввода нашего исполнителя:
Введем поля: дата начало и дата конец
Для нашего запроса отдельно получим год, месяц и день
Запишем текст нашего запроса в ячейку B4
="SELECT B, COUNT(D), SUM(D) WHERE F = '"&C1&"' AND E >= date'"&D2&"-"&E2&"-"&F2&"'
AND E <= date'"&D3&"-"&E3&"-"&F3&"'AND B <> '' GROUP BY F, B ORDER BY B LABEL B 'наименование работ', COUNT(D) 'количество заказов', SUM(D) 'количество работ'"
Теперь создадим запрос и поместим его в ячейку B5:
=QUERY(input!B11:F;B4)
Теперь можно пользоваться:
пример таблицы
https://docs.google.com/spreadsheets/d/1-ZRIeY4BIDxQ4m6_QOLXSBwGsWoqDoKUv4PHz6-lftk/edit?usp=sharing
если интересно как работать с гугл таблицами
см. так же
https://sites.google.com/view/netkredo/google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B
Google Таблицы. Простая база данных (БД).
Упростим ввод данных в гугл таблицу. Для начала определим, какие данные мы будем хранить в нашей таблице. Например, такие
Наименование работ | номер заказа | количество работ | дата выполнения | Исполнитель |
06.10.2021 |
Далее добавим в скрипт функцию, которая будет брать данные из нашей строки, вставлять их в таблицу ниже и затем инициализировать наши поля для следующего ввода.
// ---
// --- Запиcь (универсальная функция)
// --- вставка новой строчки с данными из строки ввода
// --- указываем количество столбцов
// --- привязка идет к строке номер 4 - начальные данные
// --- и строке 11 конечные данные(место - куда вставляется строка)
// --- после вставки - происходит очистка строки номер 4, а так же ее инициализации, № п/п и текущая дата
// ---
function AddNewRow(iColumn) {
let ss = SpreadsheetApp.getActive();
let sh = ss.getActiveSheet();
//let sLastColumn = sh.getRange("B4:H").getLastColumn();
//Logger.log("sLastColumn " + sLastColumn)
// --- вставка новой - пустой строки
sh.insertRowBefore(11);
// --- получаем данные из строки 4
let r1 = sh.getRange(4,2,1,iColumn);
// --- вставляем данные в строку номер 11
r1.copyTo(sh.getRange(11,2,1,iColumn), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
// --- инициализация строки ввода
r1.clear();
sh.getRange('E4').setValue(new Date());
//sh.getRange('B4').setValue(sh.getRange(11,2).getValue()+1);
}
Добавим кнопку для вызова нашей функции.
Далее добавим функцию обработки нашей кнопки.
// ---
function buttonRecord (){
AddNewRow(5);
}
Теперь при нажатие кнопки получим результат
пример таблицы
https://docs.google.com/spreadsheets/d/1-ZRIeY4BIDxQ4m6_QOLXSBwGsWoqDoKUv4PHz6-lftk/edit?usp=sharing
если интересно как работать с гугл таблицами
см. так же
https://sites.google.com/view/netkredo/google-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B