преобразовать 2-мерный массив JSON в таблицу - PullRequest
2 голосов
/ 14 марта 2019

У меня возникают трудности с поиском того, как преобразовать 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"

Результат здесь: enter image description here

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

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

1 Ответ

0 голосов
/ 14 марта 2019

Есть функция М, которая будет очень полезна для вас, я верю. 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"

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

enter image description here

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