Я использую скрипты Google Apps для копирования диапазона данных из одной электронной таблицы в другую. Цель состоит в том, чтобы объединить результаты из нескольких листов отчетов GA в один объединенный лист. Сценарий, который я включил ниже, выполняет часть этой цели, но мне также нужно включить идентификатор, чтобы я знал, из какого отчета GA каждая строка поступает.
Пример ниже (на самом деле столбцов данных больше, но для простоты):
GA отчет 1, сайт = ab c
data
1
2
3
GA отчет 2, сайт = xyz
data
4
5
6
В настоящее время я могу сделать это:
Объединенные данные
data
1
2
3
4
5
6
Что мне нужно, это:
site data
abc 1
abc 2
abc 3
xyz 4
xyz 5
xyz 6
Я думаю, в идеале сайт должен исходить из названия вкладки, но он также может просто быть жестко закодированным. И порядок столбцов не важен, если он последовательный. Я могу придумать как минимум два возможных решения: добавить сайт в диапазон перед настройкой значений в комбинированном листе или добавить сайт в комбинированный лист после установки значений. Но здесь мне нужна помощь.
Текущий код:
function appendRows() {
//get data from GA report in range
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetData = ss.getSheets()[1];
var lastColumn = sheetData.getLastColumn();
var lastRow = sheetData.getLastRow();
var rangeR1C1 = "R16C1:R"+lastRow+"C"+lastColumn;
var range = sheetData.getRange(rangeR1C1);
var values = range.getValues();
//copy range to combined sheet
var ssCombined = SpreadsheetApp.openById('xxxxx');
var combinedSheet = ssCombined.getSheets()[0];
lastRow = combinedSheet.getLastRow() + 1;
combinedSheet.getRange(lastRow,1,values.length,values[0].length).setValues(values);
}
Редактировать: другой пример
dataset1 dataset2
1 3
2 4
Объединенные данные
dataset1 1
dataset1 2
dataset2 3
dataset2 4
и др c.