Преобразовать двумерный массив json в таблицу

Мне трудно найти, как преобразовать 2D-массив (полученный в формате JSON) в таблицу...

Мой JSON:

[
  ["index", 1, 2, 3, 4, 5, 6, 7, 8, 9],
  ["type", "years", "years", "years", "quarters", "quarters", "quarters", "months", "months", "months"],
  ["period", "2016", "2017", "2018", "Q2", "Q3", "Q4", "Dec", "Jan", "Feb"],
  ["nb_month", 12, 12, 12, 3, 3, 3, 1, 1, 1],
  ["MY_scrap", 0, 54, 1529, 325, 445, 532, 120, 193, 131],
  ["MY_completed", 6, 89, 2895, 394, 722, 1622, 437, 805, 542],
  ["SV_total", 6, 1806, 36520, 6143, 11772, 15318, 3579, 6407, 5216],
  ["SV_scrap", 0, 54, 1529, 325, 445, 532, 120, 193, 131],
  ["SV_other", 6, 1752, 34809, 5808, 11198, 14773, 3449, 6214, 5081],
  ["WIP", 0, 971, 3214, 1493, 2395, 3214, 3214, 3832, 4445],
  ["WLS", 0, 178, 650, 390, 475, 650, 650, 709, 902]
]

Каждая строка в JSON — это столбец в таблице, а первая «строка» в JSON — это заголовок таблицы.

Я начинаю играть с запросом мощности и, наконец, получаю начало кода:

let
    Source = Json.Document(Web.Contents("http://localhost/api/test")),
    trans1 = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Transposed Table" = Table.Transpose(trans1)
in
    #"Transposed Table"

Результат здесь: Преобразовать двумерный массив json в таблицу

Но отсюда я не понимаю, как управлять правильным списком, расширяя...

Спасибо за помощь!

Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
2
0
164
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Думаю, есть М-функция, которая будет вам очень полезна. Table.FromColumns (списки в виде списка)

let
    Source = Json.Document(Web.Contents("http://localhost/api/test")),
    TableResult = Table.FromColumns(Source),
    #"Promoted Headers" = Table.PromoteHeaders(TableResult, [PromoteAllScalars=true]),
    #"Changed Type" = Table.TransformColumnTypes(#"Promoted Headers",{{"index", Int64.Type}, {"type", type text}, {"period", type text}, {"nb_month", Int64.Type}, {"MY_scrap", Int64.Type}, {"MY_completed", Int64.Type}, {"SV_total", Int64.Type}, {"SV_scrap", Int64.Type}, {"SV_other", Int64.Type}, {"WIP", Int64.Type}, {"WLS", Int64.Type}})
in
    #"Changed Type"

Я думаю, что это делает именно то, что вы хотите.

Спасибо, это именно то, что мне было нужно!! :))

Samuel C. 18.03.2019 08:56

Другие вопросы по теме