Hola, estoy tratando de colocar conjuntos de datos en una hoja de Google. Tengo una lista de dimensiones que estoy asignando a través de una función que llama a una API externa para obtener valores numéricos para cada dimensión. Luego quiero ingresarlos en mi hoja de cálculo; sin embargo, no estoy seguro de cómo hacerlo. También me gustaría ingresar la Fecha específica en una columna también. Entonces, la salida ideal sería la columna A = fecha, la columna B = dimensiones, la columna C = valor numérico.
function function() { var dimensions = ["CN","IN","NZ","US","UK","MY","SG","JP","KR","DE"]; var counts = dimensions.map(dim => [getValue(dim)]); } function getValue(dim) { // ive removed the detail for the API call var response = UrlFetchApp.fetch(fetchUrl, params); var json = JSON.parse(response.getContentText()); var dataSet = json.results; Logger.log(dataSet); return dataSet; }En su guión, por ejemplo, ¿qué tal la siguiente modificación?
function function() { var dimensions = ["CN","IN","NZ","US","UK","MY","SG","JP","KR","DE"]; var counts = dimensions.map(dim => [getValue(dim)]); } function sample() { var dimensions = ["CN","IN","NZ","US","UK","MY","SG","JP","KR","DE"]; var date = new Date(); var counts = dimensions.map(dim => [date, dim, getValue(dim)[0].aggregations[0].value]); var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); // Please set the sheet name. sheet.getRange(sheet.getLastRow() + 1, 1, counts.length, counts[0].length).setValues(counts); } function no se puede utilizar como el nombre de la función.
De su registro de visualización, pensé que su valor esperado de la URL podría ser dataSet[0].dimensions[0].value] .
Desde ive removed the detail for the API call , no puedo ver su secuencia de comandos completa. En su secuencia de comandos, fetch se usa en un bucle. Por ejemplo, cuando usa el método fetchAll , el costo del proceso podría reducirse. Pero, en este caso, también se requiere modificar la función getValue .
Si desea utilizar este script como función personalizada, ¿qué le parece el siguiente script? De esta manera, puede recuperar los valores de los resultados poniendo =sample() en una celda.
function sample() { var dimensions = ["CN","IN","NZ","US","UK","MY","SG","JP","KR","DE"]; var date = new Date(); var counts = dimensions.map(dim => [date, dim, getValue(dim)[0].aggregations[0].value]); return counts; }