Json для excel с помощью power query

у меня есть несколько json на сайте, который я хочу преобразовать в excel С помощью power query опции from web. Но я столкнулся с небольшой проблемой. Мой json выглядит так:

[
    {
        "id" : 1,
        "visitors" : 26,
        "some_number" : 1,
        "value" : 3500
    },
    {
        "id" : 2,
        "visitors" : 21,
        "some_number" : 5,
        "value" : 2000
    }
]

но когда я использую from web Я получаю это:

enter image description here

Я могу детализировать запись,преобразовать его в таблицу, перенести и использовать первую строку в качестве заголовка, но затем я получаю только одну строку. Как я могу получить все мои данные в таблицу, а не только одну строку?

3 ответов


сначала я бы использовал меню List Tools / Transform (оно должно быть автоматически выбрано) и нажмите В Таблице. Это даст вам таблицу с одним столбцом в 2 строки. Затем я нажму маленькую кнопку "развернуть" - она появится в заголовках столбцов, справа от"Column1". Снимите использовать исходное имя столбца ... и вы получите таблицу из 4 столбцов и 2 строк.

вот полный сценарий I сгенерировано:

let
    Source = Json.Document(File.Contents("C:\Users\Mike.Honey\Downloads\json2.json")),
    #"Converted to Table" = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column2" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"id", "visitors", "some_number", "value"}, {"id", "visitors", "some_number", "value"})
in
    #"Expanded Column2" 

на Table.FromRecords() функции подходит для этого образца данных:

let 
    Source = Json.Document("[{""id"": 1, ""visitors"": 26, ""some_number"": 1, ""value"": 3500}, {""id"": 2, ""visitors"": 21, ""some_number"": 5, ""value"": 2000}]"),
    AsTable = Table.FromRecords(Source)
in
    AsTable

Showing the example query in use in the Query Editor and Advanced Editor interfaces


сначала вам нужно преобразовать список в таблицу, затем вы можете развернуть столбец записи и продолжить оттуда. Если не повезет, то вы можете взглянуть на видео Я создал недавно для аналогичного вопроса.