Я новичок в скриптах Google App и JavaScript, так как работаю в области маркетинга. В настоящее время я пытаюсь создать базу данных в Google Sheets для использования в DataStudio, поскольку хочу объединить данные из различных источников.
У меня есть Google Sheets с листом для подачи данных (через надстройки) и другим листом, который я намерен использовать в качестве базы данных. Я пытаюсь сохранить данные в базе данных, каждый раз новые данные сохраняются в конце электронной таблицы (я буду устанавливать временной триггер, когда мой сценарий будет работать). Я написал скрипт, используя документацию Google, но он только копирует первую строку моего листа данных в базу данных. Мне нужно было бы скопировать все содержимое из таблицы данных на лист базы данных.
Вот сценарий, который у меня есть сейчас:
// function to save data
function saveData() {
// starts with active sheet for data entry
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Data");
// collects values in data entry row
var url = sheet.getRange("Data!A1:A").getValues();
var follower_count = sheet.getRange("Data!B1:B").getValues();
var date = sheet.getRange("Data!C1:C").getValues();
// identifies and adds data to Database
var data1 = ss.getSheetByName("Database");
var aVals = data1.getRange("A1:A").getValues();
var aLastRow = aVals.filter(String).length;
Logger.log(aLastRow);
var newAttData = [[url,follower_count,date]];
Logger.log(newAttData);
data1.getRange(aLastRow +1,1,1,3).setValues(newAttData);
}
Я пытался изменить ширину и длину диапазона в последней строке, но всегда получаю сообщение об ошибке:
Неправильная высота диапазона, была 1, но должна быть 3 (строка 31, файл "Код")
Я потратил много времени на это, но не могу заставить его работать. Любая помощь будет отличной!