Как изменить форму данных для широкой и длинной формы по названию ежемесячных столбцов GoogleSheet - PullRequest
0 голосов
/ 25 апреля 2019

В R библиотека data.table dcast () может преобразовать набор данных из широкой в ​​длинную форму, как я могу сделать это в googlespreadsheet?

Из этого формата:

          | JAN        | FEB        | MAR 
----------+------------+------------+-----------
Product 1 |          1 |          2 |          3
Product 2 |          4 |          5 |          6
Product 3 |          7 |          8 |          9

Преобразоватьэто в этом формате:

Date|  Product  | Qty
-----------+-----------+----
JAN | Product 1 |   1
FEB | Product 2 |   4
MAR | Product 3 |   9
JAN | Product 2 |   4
FEB | Product 1 |   2
JAN | Product 3 |   7
MAR | Product 2 |   6
FEB | Product 3 |   8
MAR | Product 1 |   3

Есть ли у нас какое-либо решение для достижения этой цели?

1 Ответ

1 голос
/ 25 апреля 2019

Как насчет этого примера сценария?

Пример сценария:

Когда вы используете этот сценарий, сначала, пожалуйста, поместите входные значения в ячейки "A1: D4" и запустите myFunction().

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var values = sheet.getRange("A1:D4").getValues(); // Retrieve values

  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]]);
    }
  }

  sheet.getRange("A6:C14").setValues(result); // Put result
}
  • В этом примере сценария предполагается следующая ситуация.
    • Входные значения помещаются в ячейки "A1: D4" активного листа.
    • Выходные значения помещаются в ячейки "A6: C14" активного листа.

Результат:

enter image description here

Другой шаблон:

Когда result.push([values[0][i], values[j][0], values[j][i]]); изменяется наtemp.push([values[0][j], values[i][0], values[i][j]]);, получен следующий результат.

enter image description here

Примечание:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...