Power Query では、内容を JSON または XML のテキスト文字列として識別することにより、テキスト文字列を含む列の内容を解析できます。
この解析操作は、Power Query エディターの次の場所にある
[解析]
オプションを選択することで実行できます。
[変換] タブ
- このオプションは、コンテンツを解析して既存の列を変換します。
列の追加タブ
- このオプションは、選択した列の内容を解析するテーブルに新しい列を追加します。
この記事では、解析する必要がある次の列を含むサンプル テーブルを使用します。
SalesPerson
- 次の例に示すように、営業担当者の
FirstName
と
LastName
に関する情報を含む、解析されていない JSON テキスト文字列が含まれます。
"id" : 249319,
"FirstName": "Lesa",
"LastName": "Byrd"
国
- 次の例に示すように、アカウントが割り当てられている
国
と
部門
に関する情報を含む、解析されていない XML テキスト文字列が含まれます。
<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
フィールドのみを選びます。 また、
[元の列名をプレフィックスとして使用します]
が選ばれていることを確認してください。
すべての新しい列をテキスト列として定義できます。 その操作の結果、求めている出力テーブルが得られます。