行の位置でテーブルをフィルター処理する
Power Query には、行の位置に基づいてテーブルをフィルター処理するオプションが複数あり、これらの行を保持するか削除することができます。 この記事では、使用可能なすべての方法について説明します。
行を保持する
一連の [行の保持] 関数は、テーブルから一連の行を選択し、条件を満たしていないその他の行を削除します。
[行の保持] ボタンは、次の 2 か所に置かれています。
[ホーム] タブの [行の削減] グループ。
[テーブル] メニュー。
Note
[Power Query] ウィンドウの中央にある [データ プレビュー] セクションでは、テーブルの左側で行の位置を確認できます。 各行の位置は、数値で表されます。 先頭の行は、位置 1 から始まります。
上位の行を保持
次のテーブルが固定レイアウトでシステムから取得されたとします。
このレポートには、常に 7 行のデータが含まれており、そのデータの下には、行数が不明なコメントのセクションが含まれています。 この例では、最初の 7 行のデータのみを保持します。 これを行うには、[テーブル] メニューの [上位の行の保持] を選択します。 [上位の行の保持] ダイアログ ボックスの [行数] ボックスに「7」と入力します。
この変更の結果、求めている出力テーブルが得られます。 列のデータ型を設定した後、テーブルは次の図のようになります。
下位の行を保持する
次のテーブルが固定レイアウトでシステムから取得されたとします。
すべてテキスト データ型に設定された列ヘッダー (Column1、Column2、Column3)、データを含む下位の 7 行、それより上に列ヘッダー行と不明な数のコメントを含んだ最初のサンプル テーブル。
このレポートには常に、レポート ページの末尾に 7 行のデータが含まれています。 データより上には、不明な行数のコメント用のセクションが含まれています。 この例では、最後の 7 行のデータとヘッダー行だけを保持します。
これを行うには、[テーブル] メニューの [下位の行の保持] を選択します。 [下位の行の保持] ダイアログ ボックスの [行数] ボックスに「8」と入力します。
この操作の結果として 8 行が返されますが、ヘッダー行がテーブルの一部になっています。
テーブルの最初の行から列ヘッダーに昇格させる必要があります。 これを行うには、[テーブル] メニューの [1 行目をヘッダーとして使用] を選択します。 列のデータ型を定義したら、次の図のようなテーブルが作成されます。
最初の行を列ヘッダーに昇格させ、7 行のデータを保持した後で、[単位] を数値データ型に設定した [下位の行の保持] の最後のサンプル テーブル。
詳細情報: 列ヘッダーのレベル上げ/下げ
行の範囲を保持する
次のテーブルが固定レイアウトでシステムから取得されたとします。
列 (Column1、Column2、Column3) がすべてテキスト データ型に設定され、列ヘッダーと 7 行のデータをテーブルの中央に含んだ最初のサンプル テーブル。
このレポートには常に、5 行のヘッダー、ヘッダーの下に 1 行の列ヘッダー、列ヘッダーの下に 7 行のデータ、不明行数のコメント セクションが含まれます。 この例では、レポートのヘッダー セクション後の 8 行のみを取得します。
これを行うには、[テーブル] メニューの [行の範囲の保持] を選択します。 [行の範囲の保持] ダイアログ ボックスの [先頭行] ボックスに「6」、[行数] ボックスに「8」と入力します。
下位の行を保持した前の例と同様に、この操作の結果、テーブルの一部としての列ヘッダーを含んだ 8 行が表示されます。 定義した [先頭行] (行 6) より上の行は削除されます。
「下位の行を保持する」で説明したものと同じ操作を実行して、テーブルの最初の行から列ヘッダーに昇格させることができます。 列のデータ型を設定した後、テーブルは次の図のようになります。
最初の行を列ヘッダーに昇格させ、[単位] 列を数値データ型に設定し、7 行のデータを保持した後の [行の範囲の保持] の最後のサンプル テーブル。
行の削除
この一連の関数では、テーブルから一連の行を選択して削除し、テーブル内の残りの行を保持します。
[行の削除] ボタンは、次の 2 か所に置かれています。
[ホーム] タブの [行の削減] グループ。
[テーブル] メニュー。
上位の行の削除
次のテーブルが固定レイアウトでシステムから取得されたとします。
すべてテキスト データ型に設定された列 (Column1、Column2、Column3)、上位のヘッダー、下位の列ヘッダー行と 7 行のデータ行を含む [上位の行の削除] の最初のサンプル テーブル。
このレポートには常に、テーブルの行 1 から行 5 まで固定ヘッダーが含まれています。 この例では、これらの最初の 5 行を削除し、残りのデータを保持します。
これを行うには、[テーブル] メニューの [上位の行の削除] を選択します。 [上位の行の削除] ダイアログ ボックスの [行数] ボックスに「5」と入力します。
[下位の行の保持] と [行の範囲の保持] の前の例と同じように、この操作の結果、テーブルの一部としての列ヘッダーを含む 8 行が表示されます。
以前の例で説明したものと同じ操作を実行して、テーブルの最初の行から列ヘッダーに昇格させることができます。 列のデータ型を設定した後、テーブルは次の図のようになります。
最初の行を列ヘッダーに昇格させ、[単位] 列を数値データ型に設定し、7 行のデータを保持した後の [上位の行の削除] の最後のサンプル テーブル。
末尾の行を削除する
次のテーブルが固定レイアウトでシステムから取得されたとします。
すべてがテキスト データ型に設定されたヘッダー列、7 行のデータ、下位にある固定長のフッターを含む [下位の行の削除] の最初のサンプル テーブル。
このレポートには常に、テーブルの最後の 5 行を占有する固定セクションまたはフッターが含まれています。 この例では、これらの最後の 5 行を削除し、残りのデータを保持します。
これを行うには、[テーブル] メニューの [下位の行の削除] を選択します。 [上位の行の削除] ダイアログ ボックスの [行数] ボックスに「5」と入力します。
この変更の結果、求めている出力テーブルが得られます。 列のデータ型を設定した後、テーブルは次の図のようになります。
代替行を削除する
次のテーブルが動的レイアウトでシステムから取得されたとします。
すべてテキスト データ型に設定された存在する列ヘッダーと、その上のデータ行に関するコメントを含む他のすべてのデータ行を含んだ最初のサンプル テーブル。
このレポートは、行のペアで要素が配置されるという構成になっています。 すべての奇数行 (1、3、5...) には、必要なデータが含まれています。 各奇数行の直下にあるすべての偶数行には、それらのレコードそれぞれに関するコメントが含まれます。 コメントは必要ないため、すべてのコメントを削除します。
これを行うには、[テーブル] メニューの [代替行の削除] を選択します。 [代替行の削除] ダイアログ ボックスで、次の値を入力します。
[削除する最初の行] ボックスに「2」と入力します。
2 行目からカウントを開始します。 この削除する最初の行より上のすべての行は保持されます。
[削除する行の数] ボックスに、「1」と入力します。
次に、行を削除するパターンの定義を開始します。 2 行目を見つけたら、その特定の行のみを削除するので、1 行だけを削除する必要があることを指定します。
[保持する行の数] ボックスに、「1」と入力します。
1 行を削除した後は、次の行を保持します。 次の行に対してプロセスが再度開始されます。
この選択の結果、求めている出力テーブルが得られます。 列に対してデータ型を設定した後、テーブルは次の図のようになります。