web-dev-qa-db-ja.com

jsonファイルをPower Queryにロードする

Data.govからプルしたJSONファイルを操作のためにPower Queryにロードしようとしていますが、Power QueryでJSONファイルを表形式に変換する方法を理解できません。

カスタムクエリを記述せずにPower QueryでJSONをテーブルに変換する方法はありますか?

7
CountZero

JSONデータは、多くの場合、レコード内のリスト(およびその他のバリエーション)内のレコードとして表示されます。通常、PQ UIを使用して、コードを記述せずにこれらのオブジェクトを展開できます。

JSONエンドポイントの例を次に示します。 http://api.nobelprize.org/v1/laureate.json

PQ "Webから"を実行した後の次のステップは、PQリボンの[ツールの記録/変換/テーブルへ]ボタンをクリックすることです。

これは、リストを含む2番目の列(値)を持つ単一の行を返します。 [値]の横にある展開ボタンをクリックして、リストを展開します。

これにより複数の行が返され、2番目の各列(値)にレコードが含まれるようになります。レコードを展開して、データの列を表形式で取得します。

この特定のJSONレイアウトにはさらに奥行きがあることに注意してください-右端のValue.prizes列を参照してください。実際の手順は、JSON入力および出力要件によって異なります。

以下は、テーブルを取得するための完全なコードです。各ステップは、UIをクリックして生成されました。

let
    Source = Json.Document(Web.Contents("http://api.nobelprize.org/v1/laureate.json")),
    #"Converted to Table" = Record.ToTable(Source),
    #"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
    #"Expanded Value1" = Table.ExpandRecordColumn(#"Expanded Value", "Value", 
        {"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode", 
         "bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"},
        {"id", "firstname", "surname", "born", "died", "bornCountry", "bornCountryCode",
         "bornCity", "diedCountry", "diedCountryCode", "diedCity", "gender", "prizes"})
in
    #"Expanded Value1"
8
Mike Honey