文字数による列の分割
Power Query では、さまざまな方法を使用して列を分割することができます。 このケースでは、選択した列を文字数で区切ることができます。
[列の分割] > [文字数による分割] の場所
[列の分割]> [文字数による分割] オプションは、次の 3 つの場所にあります。
[ホーム] タブ — [列の分割] ドロップダウン メニューの下、[変換] グループ内。
[変換] タブ — [列の分割] ドロップダウン メニューの下、[テキスト列] グループ内。
列を右クリックする — [列の分割] オプション内。
文字数により列を列に分割する
この例の最初のテーブルは、以下に示す [Column1] という 1 つの列のみで構成されるテーブルです。
この列には、次の 3 つの値が入っています。
- アカウント名 — 最初の 6 文字
- 日付 — 続く yyyymmdd の形式の 8 文字
- ユニット — 残りの文字
この例では、この列を上の一覧で説明した値が含まれる 3 つの列に分割します。
この分割を行うには、列を選択してから、列を文字数で分割するオプションを選択します。 [文字数による列の分割] で、次の構成を適用します。
- [文字数]: [6]
- [分割]: [できるだけ左側で 1 回]
その操作の結果として、2 つの列で構成されるテーブルが生成されます。 1 つにはアカウント名、もう 1 つには日付とユニットが組み合わさった値が入っています。
Note
Power Query によって、列が 2 つの列のみに分割されます。 新しい列の名前には、元の列と同じ名前が付けられます。 新しい列の名前には、ドットと列の分割セクションを表す数値が含まれるサフィックスが追加されます。
次に、新しい [Column1.2] 列に対しても同じ操作を行いますが、次のように構成します。
- [文字数]: [8]
- [分割]: [できるだけ左側で 1 回]
その操作の結果として、3 つの列で構成されるテーブルが生成されます。 右端の 2 列の新しい名前に注目してください。 [Column1.2.1] と [Column1.2.2] は、列の分割操作によって自動的に作成されたものです。
列の名前を変更し、各列のデータ型を次のように定義することもできます。
元の列名 | 新しい列名 | データの種類 |
---|---|---|
Column1.1 | アカウント名 | Text |
Column1.2.1 | 日 | 日 |
Column1.2.2 | ユニット | 整数 |
最終的なテーブルは、次の画像のようになります。
文字数により列を行に分割する
この例の最初のテーブルは、以下に示すテーブルで、[Group] と [Account] という列で構成されます。
[Account] 列には、同じセルに複数の値が入っています。 各値の文字数は同じで、合計で 6 文字です。 この例では、それらの値を分割して、各アカウントの値がそれぞれの行に入るようにします。
それを行うには、[Account] 列を選択してから、列を文字数で分割するオプションを選択します。 [文字数による列の分割] で、次の構成を適用します。
- [文字数]: [6]
- [分割]: [繰り返し]
- [分割の方向]: [行]
この操作の結果、テーブルの列の数は変わりませんが、行数が増えています。[Account] 列の元のセルの値の中のフラグメントが複数の行に分割されているためです。