JSON

まとめ

項目 説明
リリース状態 一般提供
製品 Excel
Power BI (セマンティック モデル)
Power BI (データフロー)
ファブリック (データフロー Gen2)
Power Apps (データフロー)
Dynamics 365 Customer Insights
Analysis Services
サポートされている認証の種類 匿名
基本 (Web のみ)
組織アカウント
Web API (Web のみ)
Windows
関数リファレンス ドキュメント Json.Document

Note

デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。

サポートされる機能

  • インポート

Power Query Desktop からローカル JSON ファイルを読み込む

ローカル JSON ファイルを読み込むには、次のようにします。

  1. [データの取得] の選択で、[JSON] オプションを選択します。 これを選択するとローカル ファイル ブラウザーが起動し、そこで JSON ファイルを選択できます。

    選択対象の 2 つの JSON ファイルが含まれたファイル ブラウザーの画像。

  2. [開く] を選択して、ファイルを開きます。

JSON ファイルを読み込むと、Power Query エディターが自動的に起動します。 Power Query では、テーブルの自動検出を使用して、JSON データをテーブルにシームレスにフラット化します。 エディターからは、必要に応じて引き続きデータを変換することも、単に閉じて適用することもできます。 詳細については、「JSON ファイルからのテーブルの自動検出」を参照してください。

JSON データがテーブルにフラット化された Power Query エディターの画像。

Power Query Online からローカル JSON ファイルを読み込む

ローカル JSON ファイルを読み込むには、次のようにします。

  1. [データ ソース] ページで、[JSON] を選択します。

  2. ローカル JSON ファイルへのパスを入力します。

    オンライン サービスからの [JSON 接続設定] ダイアログの画像。ファイル パス、データ ゲートウェイ、および Windows 認証の種類が表示されています。

  3. [データ ゲートウェイ] でオンプレミス データ ゲートウェイを選択します。

  4. 認証が必要な場合は、資格情報を入力します。

  5. [次へ] を選択します。

JSON ファイルを読み込むと、Power Query エディターが自動的に起動します。 Power Query では、テーブルの自動検出を使用して、JSON データをテーブルにシームレスにフラット化します。 エディターからは、必要に応じて引き続きデータを変換することも、単に保存して閉じてデータを読み込むこともできます。 詳細については、「JSON ファイルからのテーブルの自動検出」を参照してください。

JSON データがテーブルにフラット化されたオンライン Power Query エディターの画像。

Web から読み込む

Web から JSON ファイルを読み込むには、Web コネクタを選択し、ファイルの Web アドレスを入力して、資格情報のプロンプトに従います。

JSON ファイルからのテーブルの自動検出

エンド ユーザーにとって JSON ファイル (または Web API) からのデータのインポートが困難な場合があります。 複数レベルの入れ子になったデータが含まれた JSON ファイルの例を次に示します。

入れ子になったデータが含まれた JSON ファイルの内容の画像。

テーブルの自動検出機能の追加により、Power Query で JSON コネクタを使用すると、JSON データをテーブルにフラット化する変換ステップが自動的に適用されます。 以前は、ユーザーがレコードとリストを手動でフラット化する必要がありました。

テーブルの自動検出

トラブルシューティング

次のようなメッセージが表示される場合は、ファイルが無効である (たとえば、実際には JSON ファイルではなかったり、形式に誤りがあったりする) 可能性があります。 または、JSON 行ファイルを読み込もうとしている可能性があります。

JSON 行ファイルを読み込もうとすると、次のサンプル M コードによって、すべての JSON 行入力が、1 つのフラット化されたテーブルに自動的に変換されます。

let
    // Read the file into a list of lines
    Source = Table.FromColumns({Lines.FromBinary(File.Contents("C:\json-lines-example.json"), null, null)}),
    // Transform each line using Json.Document
    #"Transformed Column" = Table.TransformColumns(Source, {"Column1", Json.Document})
in
    #"Transformed Column"

次に、"展開" 操作を使用して、複数の行を結合する必要があります。