In R , data.table library dcast() can transform dataset from wide to long shape ,how can i do this in googlespreadsheet?
Sheet1
Name Type YTD JAN FEB MAR
Product 1 A 8 1 3 4
Product 2 B 519 41 23 455
Product 3 C 32 2 25 5
NA D 3 NA 2 1
Sheet2 A B C D E F 1 Name Type YTD JAN FEB MAR 2 =filter(Sheet1!A2:F5,not(isblank(Sheet1!A2:A5)))
Show reshaped data in Sheet3 from A1
[
** C column for YTD is not necessarily needed .
Adjusted script by me not works : from Tanaike
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var values = sheet.getRange(1,1,sheet.getLastRow(),sheet.getLastColumn()).getValues(); // Retrieve values
var Result_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var result = [];
for (var i = 1; i < values.length; i++) {
for (var j = 1; j < values[i].length; j++) {
result.push([values[0][i], values[j][0], values[j][i]]);
}
}
Result_sheet.getRange().setValues(result); // Put result
}
I am too new to java script that cannot tell the reason.