リスト、レコード、テーブルなどの構造化列の場合、列に関連付けられている関連する値があります。 構造化列には、列ヘッダーに展開アイコン 列
。
構造化列について
構造化列には次の 3 種類があります。
- 一覧 値のリストを格納します。たとえば、{ 1、2、5、10 } や { "hello", "hi", "good bye" } などです。 セル内の List の値は最も単純な構造化列であり、テーブル リレーションシップはありません。
- 記録 単位にグループ化された名前付きフィールドのセットを格納します。 例: [ FirstName = "Joe", LastName = "Smith", Birthdate = #date(2010, 1, 2) ]。 セルの値が Record の場合、現在のテーブルまたは主テーブルとの 1 対 1 のテーブル リレーションシップを示します。
- テーブル 現在のデータとセカンダリ リレーションシップを持つテーブル (プライマリ テーブル) を格納します。 セル内の値が Table の場合、現在のテーブルまたはプライマリ テーブルとの一対多リレーションシップを示します。
レコードとテーブルの構造化列は、OData フィード内の外部キー関連付けを持つエンティティや SQL Server データベース内の外部キー関連付けを持つエンティティなど、リレーショナル モデルを持つデータ ソース内のリレーションシップを表します。
テーブル構造の列の展開について
[
を使用すると、関連テーブルの列を表示できます。 たとえば、"受注" テーブルで、展開操作によって "受注" テーブルに関連するOrder_Detailsレコードがまとめられ、各受注の受注明細行品目が結合されます。 展開操作は、プライマリ テーブルを拡大し、セカンダリ テーブルと関連テーブルの列を含めます。 説明すると、次のようになります。
プライマリ テーブルには、列 A と B があります。
関連テーブルに列 C があります。
展開操作は、列 C を含むようにプライマリ テーブルを拡大し、列 C を含むセカンダリ テーブルと関連テーブルの関連値を持つプライマリ テーブルを展開します。
要約すると、 テーブル 構造の列を展開すると、値はデータ プレビューの他の列と一緒に表示されます。 プライマリ テーブルと関連テーブルの組み合わせの詳細については、「 複数のデータ ソースの結合方法の詳細」を参照してください。
構造化されたテーブル列を展開する
この例では、展開操作によって Order テーブルが拡張され、 Order_Details.ProductID、 Order_Details.UnitPrice、および Order_Details.Quantity 列が含まれるようになり、プライマリ テーブル の Order 行と関連テーブルの Order_Details 行がまとめられます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
注釈 クエリには、少なくとも 2 つのテーブルがリレーションシップで結合されている必要があります。 詳細については、「クエリのマージ」を参照してください。
構造化列の列ヘッダーにある展開アイコン (
) をクリックします。[ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。
[OK] を選択します。
結果
これで、テーブルには手順 3 で選択した各列の新しい列が含まれます。
構造化されたレコード列を展開する
レコード構造化列を展開すると、値はデータ プレビューに新しい列として表示されます。 この列を展開し、クエリをワークシートに読み込まない場合、列の各セルに [Record] というプレースホルダー値が表示されます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
列を展開せずに特定の値を表示するには、構造化列で レコード 値を持つ値を選択します。 次に例を示します。
構造化列の列ヘッダーにある展開アイコン (
) を選択します。[ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。
[OK] を選択します。
結果
これで、テーブルには、手順 4 で選択した各列の新しい列が含まれます。
構造化されたリストの列を展開する
リスト構造化列を展開すると、値が新しい列としてデータ プレビューに表示されます。 この列を展開し、クエリをワークシートに読み込まない場合、列の各セルに [List] というプレースホルダー値が表示されます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
列を展開せずに特定の値を表示するには、構造化列で リスト 値を持つ値を選択します。 次に例を示します。
構造化列の列ヘッダーにある展開アイコン (
) を選択します。次のいずれかの操作を行います。
- リスト値ごとに行を作成するには、[ 新しい行に展開] を選択します。
- テキスト値の一覧を区切って作成するには、[ 値の抽出] を選択します。
[OK] を選択します。
新しい行に展開する結果
区切り記号としてセミコロン (;) を使用した値の抽出の結果
構造化列グループのコマンドを使用する
構造化列を操作するには、Power Query エディター リボンで次の追加コマンドを使用できます。
[ ホーム>変換 ] を選択し、[ 構造化列 ] グループで次のいずれかのコマンドを選択します。
展開する 構造化された列 (リスト、レコード、またはテーブル) を、現在のクエリ テーブルの新しい列と行に昇格させます。 このコマンドは、[ 展開]
です。集計Sum や Count などの集計関数を使用して、テーブル構造の列の値を集計します。 このコマンドは、[
] アイコンを選択し、[列名] ドロップダウン ダイアログ ボックスで [集計] を選択するのと同じです。 これは、 テーブル 構造化列でのみ使用できます。値の抽出 指定された区切り記号を使用して、構造化された リスト 列の値を 1 つのテキスト値に結合して抽出します。
注釈[数値列] グループ ([変換] > [統計] の選択) で [統計] コマンドをテーブル構造の列で使用することもできます。 これには、Power Query エディター リボンの [リスト ツール] の下にある [変換コンテキスト] タブの [数値リスト] グループの統計コマンドと同じ集計関数のリストがあります。
[コンテキストの変換] タブを使用する
ドリルダウン コマンドを使用すると、Power Query エディター リボンの [リスト ツール] の下に [コンテキストの変換] タブを表示し、構造化列を操作するための追加のコマンドを表示できます。 この [変換] タブを、Power Query エディター リボンで定期的に利用できる他の [変換] タブと混同しないでください。
- 列見出しを右クリックし、[ ドリルダウン] を選択します。
- リストまたはレコードをテーブルに変換するには、[リスト ツール] の [変換]>[テーブルへ] を選択します。
- 上、下、またはアイテムの範囲を保持するには、[リスト ツール] の下で [アイテムの変換>保持] を選択します。
- 上のアイテム、下のアイテム、または代替アイテムを削除するには、[ リスト ツール] で [アイテムの変換>削除] を選択します。
- 重複する値を削除するには、[リスト ツール] で [変換] > [重複の削除] を選択します。 詳細については、「 重複する行を保持または削除する」を参照してください。
- アイテムを反転するには、[ リスト ツール] で [ アイテムの変換>反転] を選択します。
- データを並べ替えるには、Excel の [リスト ツール] の [昇順で並べ替え]
えるコマンド)、または
順で Z から A に並べ替える] コマンドを選択します。 詳細については、「 データの並べ替え」を参照してください。 - さまざまな統計を表示するには、[ リスト ツール] で [変換>統計] を選択します。 次の統計を使用できます。Sum、Minimum、Maximum、Median、Average、Standard、Deviation、Count Values、および Count Distinct Values。 詳細については、「 列からデータを集約する」を参照してください。