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