テキストを JSON または XML として解析する
Power Query では、内容を JSON または XML のテキスト文字列として識別することにより、テキスト文字列を含む列の内容を解析できます。
この解析操作は、Power Query エディターの次の場所にある [解析] オプションを選択することで実行できます。
この記事では、解析する必要がある次の列を含むサンプル テーブルを使用します。
SalesPerson - 次の例に示すように、営業担当者の FirstName と LastName に関する情報を含む、解析されていない JSON テキスト文字列が含まれます。
{ "id" : 249319, "FirstName": "Lesa", "LastName": "Byrd" }
国 - 次の例に示すように、アカウントが割り当てられている国と部門に関する情報を含む、解析されていない XML テキスト文字列が含まれます。
<root> <id>1</id> <Country>USA</Country> <Division>BI-3316</Division> </root>
サンプル テーブルには、アカウント番号と日付に割り当てられたアカウントを含む Account 列も含まれています。
目標は、前述の列を解析し、それらの列の内容を展開して、次の出力を得ることです。
JSON として
SalesPerson 列を選びます。 次に、[変換] タブの [解析] ドロップダウン メニューから [JSON] を選びます。これらのステップにより、SalesPerson 列はテキスト文字列からレコード値に変換されます。 レコード値のセル内の空白の場所のどこかを選ぶと、画面の下部にレコードの内容の詳細なプレビューが表示されます。
SalesPerson 列ヘッダーの横にある展開アイコンを選びます。 列の展開メニューから、FirstName フィールドと LastName フィールドのみを選びます。 また、[元の列名をプレフィックスとして使用します] が選ばれていることを確認してください。
この操作の結果は次のテーブルのようになります。
XML として
Country 列を選びます。 次に、[変換] タブの [解析] ドロップダウン メニューから [XML] ボタンを選びます。これらのステップにより、Country 列はテキスト文字列からテーブル値に変換されます。 テーブル値のセル内の空白の場所のどこかを選ぶと、画面の下部にテーブルの内容の詳細なプレビューが表示されます。
Country 列ヘッダーの横にある展開アイコンを選びます。 展開された列メニューから、Country と Division フィールドのみを選びます。 また、[元の列名をプレフィックスとして使用します] が選ばれていることを確認してください。
すべての新しい列をテキスト列として定義できます。 その操作の結果、求めている出力テーブルが得られます。