テキストを JSON または XML として解析する

Power Query では、内容を JSON または XML のテキスト文字列として識別することにより、テキスト文字列を含む列の内容を解析できます。

この解析操作を実行するには、Power Query エディターの次の場所にある [解析] ボタンを選びます。

  • [変換] タブ — このボタンを選ぶと、既存の列の内容が解析されて変換されます。

    [変換] タブの [解析] ボタン。

  • [列の追加] タブ — このボタンを選ぶと、選んだ列の内容が解析されてテーブルに新しい列が追加されます。

    [列の追加] タブの [解析] ボタン。

この記事では、解析する必要がある次の列を含む、次のサンプル テーブルを使用します。

  • SalesPerson — 次の例に示すように、販売担当者の FirstNameLastName に関する情報の未解析の JSON テキスト文字列が含まれています。

    {
       "id" : 249319,
       "FirstName": "Lesa",
       "LastName": "Byrd"
    }
    
  • Country — 次の例のように、アカウントが割り当てられている CountryDivision に関する情報の未解析の XML テキスト文字列が含まれています。

    <root>
       <id>1</id>
       <Country>USA</Country>
       <Division>BI-3316</Division>
    </root>
    

サンプル テーブルは次のようになります。

サンプル ソース テーブル。

目標は、前述の列を解析し、それらの列の内容を展開して、次の出力を得ることです。

最終的な出力テーブルのサンプル。

JSON として

SalesPerson 列を選びます。 次に、 [変換] タブの [解析] ドロップダウン メニューから [JSON] を選びます。次の図に示すように、これらのステップにより、SalesPerson 列はテキスト文字列から レコード 値に変換されます。 レコード 値のセル内の空白の場所のどこかを選ぶと、画面の下部にレコードの内容の詳細なプレビューが表示されます。

JSON テキスト文字列を解析します。

SalesPerson 列ヘッダーの横にある展開アイコンを選びます。 次の図に示すように、列の展開メニューから、FirstNameLastName フィールドのみを選びます。

解析された JSON テキスト文字列フィールドの展開。

この操作を実行すると、次のテーブルが表示されます。

展開された JSON フィールド。

XML として

Country 列を選びます。 次に、 [変換] タブの [解析] ドロップダウン メニューから [XML] ボタンを選びます。次の図に示すように、これらのステップにより、Country 列はテキスト文字列から テーブル 値に変換されます。 テーブル 値のセル内の空白の場所のどこかを選ぶと、画面の下部にテーブルの内容の詳細なプレビューが表示されます。

XML テキスト文字列を解析します。

Country 列ヘッダーの横にある展開アイコンを選びます。 次の図に示すように、列の展開メニューから、CountryDivision フィールドのみを選びます。

解析された XML テキスト文字列フィールドの展開。

すべての新しい列をテキスト列として定義できます。 その操作の結果、求めている出力テーブルが得られます。

最終的な出力テーブルのサンプル。