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 構造化列を展開すると、データ プレビューの他の列と共に値が表示されます。 プライマリ テーブルと関連テーブルの組み合わせの詳細については、「 複数のデータ ソースを結合する方法について説明する」を参照してください。
Table 構造化列を展開する
この例では、展開操作によって Order テーブルが拡大され、 Order_Details.ProductID、 Order_Details.UnitPrice、 および Order_Details.Quantity 列が含まれるため、プライマリ テーブル の Order 行と関連テーブル Order_Details行が まとめられます。
クエリを開くには、Power Query エディターから読み込まれたクエリを探し、データ内のセルを選択し、[クエリ>Edit] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
メモ クエリでは、リレーションシップに少なくとも 2 つのテーブルが結合されている必要があります。 詳細については、「クエリのマージ」を参照してください。
構造化列の列ヘッダーにある展開アイコン (
) をクリックします。[ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。
[OK] を選択します。
結果
このテーブルには、手順 3 で選択した各列の新しい列が含まれるようになりました。
[Record structured column]\(レコード構造化列\) を展開する
[レコード構造化列] を展開すると、値はデータ プレビューに新しい列として表示されます。 展開してクエリをワークシートに読み込まない場合は、列内の各セルの プレースホルダー値 [Record] が 表示されます。
クエリを開くには、Power Query エディターから読み込まれたクエリを探し、データ内のセルを選択し、[クエリ>Edit] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
列を展開せずに特定の値を表示するには、構造化列で Record 値を持つ値を選択します。 次に例を示します。
構造化列の列ヘッダーで展開アイコン (
) を選択します。[ 列名 ] ドロップダウン リストで、目的の列を選択し、不要な列をクリアします。
[OK] を選択します。
結果
このテーブルには、手順 4 で選択した各列の新しい列が含まれるようになりました。
List 構造化列を展開する
List 構造化列を展開すると、値はデータ プレビューに新しい列として表示されます。 展開し、ワークシートにクエリを読み込まない場合は、列の各セルの [リスト] の プレースホルダー値が表示されます。
クエリを開くには、Power Query エディターから読み込まれたクエリを探し、データ内のセルを選択し、[クエリ>Edit] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
列を展開せずに特定の値を表示するには、構造化列で List 値を持つ値を選択します。 次に例を示します。
構造化列の列ヘッダーで展開アイコン (
) を選択します。次のいずれかの操作を行います。
- リスト値ごとに行を作成するには、[ 新しい行に展開] を選択します。
- 区切り記号で区切られたテキスト値の一覧を作成するには、[ 値の抽出] を選択します。
[OK] を選択します。
[新しい行に展開] の結果
セミコロン (区切り記号として;)) を使用した値の抽出の結果
構造化列グループでのコマンドの使用
Power Query エディター リボンで次の追加コマンドを使用して、構造化列を操作できます。
[ ホーム>変換 ] を選択し、[ 構造化列] グループで次のいずれかのコマンドを選択します。
展開 構造化列 (リスト、レコード、またはテーブル) を昇格させ、現在のクエリ テーブルの新しい列と行にします。 このコマンドは、[展開]
アイコンと同じです。集計集計関数 (Sum や Count など) を使用して、Table 構造化列の値を集計します。 このコマンドは、[展開
アイコンを選択し、[列名] ドロップダウン ダイアログ ボックスで [集計] を選択する場合と同じです。 テーブル 構造化列 でのみ使用できます。値の抽出 指定した区切り記号を使用して、構造化 された List 列の値を 1 つのテキスト値に結合して抽出します。
メモ[数値列] グループ (Select Transform>Statistics) の [統計] コマンドを Table 構造化列と共に使用することもできます。 集計関数の一覧は、Power Query エディター リボンの [リスト ツール] の [変換] コンテキスト タブの [数値一覧] グループの [統計] コマンドと同じです。
[コンテキストの変換] タブを使用する
ドリルダウン コマンドを使用すると、Power Query エディター リボンの [リスト ツール] の下に [コンテキストの変換] タブを表示し、構造化列を操作するための追加のコマンドを表示できます。 この [変換] タブを、Power Query エディター リボンで定期的に使用できる他の [変換] タブと混同しないでください。
- 列ヘッダーを右クリックし、[ ドリルダウン] を選択します。
- リストまたはレコードをテーブルに変換するには、[リスト ツール] で [変換>テーブル] を選択します。
- アイテムの上部、下部、または範囲を保持するには、[リスト ツール] で [変換]、[アイテム>キープ] を選択します。
- 上部、下部、または代替項目を削除するには、[リスト ツール] で [変換]、[アイテムの削除>を選択します。
- 重複する値を削除するには、[リスト ツール] で [変換] > [重複の削除] を選択します。 詳細については、「 重複する行を保持または削除する」を参照してください。
- 項目を元に戻すには、[ リスト ツール] で [ 変換>アイテムの変更] を選択します。
- データを並べ替えるには、[リスト ツール]
えるか、
。 詳細については、「データの 並べ替え」を参照してください。 - さまざまな統計情報を表示するには、[ リスト ツール ] で [ 変換>Statistics] を選択します。 使用可能な統計は、合計、最小値、最大値、中央値、平均、Standard、偏差、カウント値、および個別の値のカウントです。 詳細については、「 列からのデータの集計」を参照してください。