JSON
まとめ
| Item | 説明 |
|---|---|
| リリース状態 | 一般公開 |
| 製品 | Power BI (データセット) Power BI (データフロー) Power Apps (データフロー) Excel Dynamics 365 Customer Insights Analysis Services |
| サポートされている認証の種類 | Anonymous 基本 (Web のみ) 組織アカウント Web API (Web のみ) Windows |
| 関数リファレンス ドキュメント | Json.Document |
注意
デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。
サポートされる機能
- [インポート]
Power Query Desktop からローカル JSON ファイルを読み込む
ローカル JSON ファイルを読み込むには、次のようにします。
[データの取得] の選択で、 [JSON] オプションを選択します。 これを選択するとローカル ファイル ブラウザーが起動し、そこで JSON ファイルを選択できます。

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

Power Query Online からローカル JSON ファイルを読み込む
ローカル JSON ファイルを読み込むには、次のようにします。
[データ ソース] ページで、 [JSON] を選択します。
ローカル JSON ファイルへのパスを入力します。
![オンライン サービスからの [JSON 接続設定] ダイアログの画像。ファイル パス、データ ゲートウェイ、および Windows 認証の種類が表示されています。](media/json/connect-service.png)
[データ ゲートウェイ] でオンプレミス データ ゲートウェイを選択します。
認証が必要な場合は、資格情報を入力します。
[次へ] を選択します。
JSON ファイルを読み込むと、Power Query エディターが自動的に起動します。 Power Query では、テーブルの自動検出を使用して、JSON データをテーブルにシームレスにフラット化します。 エディターからは、必要に応じて引き続きデータを変換することも、単に保存して閉じてデータを読み込むこともできます。 詳細については、「JSON ファイルからのテーブルの自動検出」を参照してください。

Web から読み込む
Web から JSON ファイルを読み込むには、Web コネクタを選択し、ファイルの Web アドレスを入力して、資格情報のプロンプトに従います。
JSON ファイルからのテーブルの自動検出
エンド ユーザーにとって JSON ファイル (または Web API) からのデータのインポートが困難な場合があります。 複数レベルの入れ子になったデータが含まれた 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"
次に、"展開" 操作を使用して、複数の行を結合する必要があります。