Power Query では、さまざまな方法で列を分割できます。 この場合、選択した列を位置で分割できます。
> 位置で分割された列の見つけ方
[ 列の分割] > [位置別 ] オプションは、次の 3 つの場所にあります。
[ホーム] タブ - [変換] グループ内の [列の分割] ドロップダウン メニューの下。
[変換] タブ — [テキスト列] グループ内の [列の分割] ドロップダウン メニュー。
[列の分割] オプション内で 列 を右クリックします。
列を位置別に列に分割する
この例の最初の表は、次の図に示す表で、 Column1 の列は 1 つだけです。
この列には、次の 3 つの値があります。
- アカウント名 - 最初の 6 文字
- 日付 — yyyymmdd 形式の次の 8 文字
- 単位 - 残りの文字
この例では、この列を上記のリストの値から作成された 3 つの列に分割します。 この分割を行うには、列を選択し、列を位置で分割するオプションを選択します。 [ 位置による列の分割] で、次の構成を適用します。
-
ポジション: 0,6,14
- 位置は 0 から始まり、コンマで区切られます。位置 0 は文字列の先頭です。
注
この操作では、最初に位置 0 から位置 6、次に位置 7 から位置 14 までの列の作成を開始します。 現在のデータ プレビューの内容に長さが 16 文字以上の値がある場合は、別の列が存在します。
その操作の結果、3 つの列を含むテーブルが得られます。
注
Power Query では、指定された位置の数だけ列に列が分割されます。 新しい列の名前には、元の列と同じ名前が含まれており、末尾にドットと列の分割セクションを表す 1 から始まる番号が付いています。 前の例では、 Column1 という名前の列は Column1.1、Column1.2、 Column1.3 という 3 つの列に分割されています。
列の名前を変更し、各列のデータ型を次のように定義できるようになりました。
| 元の列名 | 新しい列名 | データの種類 |
|---|---|---|
| 列1.1 | アカウント名 | テキスト |
| Column1.2 | 日付 | 日付 |
| 列1.3 | 単位 | 整数 |
最終的なテーブルは、次の図のようになります。
列を位置別に行に分割する
この例の最初の表は、次の図の表のようになります。列 は Group と Account です。
Account 列は、同じセルに 2 つの値のみを保持できます。 各値の長さは文字数が同じで、合計 6 文字です。 この例では、各アカウント値を独自の行に格納できるように、これらの値を分割します。 これを行うには、[ アカウント ] 列を選択し、列を位置で分割するオプションを選択します。 [ 位置による列の分割] で、次の構成を適用します。
- 位置: 0、6
- 行に分割
注
この操作では、最初に位置 0 から位置 6 までの列の作成が開始されます。 現在のデータ プレビューの内容に長さが 8 文字以上の値がある場合は、別の列が存在します。
その操作の結果、同じ数の列を持つテーブルが得られますが、セル内の値が独自のセルに含まれるようになったため、さらに多くの行が表示されます。