web-dev-qa-db-ja.com

パワークエリを使用したJsonからExcelへ

power queryオプションfrom webを使用してjsonに変換したいWebサイトにいくつかのExcelがあります。しかし、私は小さな問題に遭遇しました。私の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

レコードにドリルダウンし、テーブルに変換し、最初の行を転置してヘッダーとして使用できますが、その後は1行しか取得できません。 1行だけでなく、すべてのデータをテーブルに取得するにはどうすればよいですか?

19
kemis

まず、[リストツール]メニューの[変換]メニューを使用し(自動的に選択されます)、[テーブルへ]ボタンをクリックします。これにより、2行の単一列テーブルが作成されます。次に、小さな[展開]ボタンをクリックします。これは、[Column1]のすぐ右側の列見出しに表示されます。 元の列名を使用...オプションのチェックを外すと、4列2行の表が表示されます。

これが私が生成した完全なスクリプトです。

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" 
22
Mike Honey

Table.FromRecords() function は、そのサンプルデータに適しています。

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

14
Robert K. Bell

最初にリストをテーブルに変換する必要があります。その後、レコード列を展開してそこから続行できます。運が良ければ、あなたは このビデオ を見ることができます。同様の質問のために最近作成しました。

0
MarcelBeug