Power Query(パワークエリ)で文字列の先頭または末尾にあるスペース(空白)を削除する方法を紹介します。ここではリボンにあるコマンドボタンを用いた方法とM言語のText.Trim関数を用いた方法を紹介します。
テストデータを用いて実際の使用例も解説してますので参考にしてみてください。
【ボタン操作】文字列前後の空白を削除する
Power Queryのリボンにあるコマンドボタンを利用した方法を紹介します。
【使用するコマンド】トリミング
文字列前後の空白を削除するには「書式」内の「トリミング」を使用します。列データを直接変換するときと新しい列を追加するときで使うコマンドボタンの位置が違うので注意してくだい。
- 列データを直接変換する:変換タブ内にある「書式」の「トリミング」
- 新しい列を追加する:列の追加タブ内にある「書式」の「トリミング」
【使用例】文字列前後の空白を削除する
今回は下図の氏名のデータから文字列前後の空白を削除します。氏名の各データには先頭と末尾に空白(半角スペース)があり、かつ名字と名前の間にも空白(半角スペース)があります。
- 対象列をクリックして選択する。
- 変換タブの「書式」にある「トリミング」を選択する。
以上で文字列前後のスペース(空白)の削除は完了です。
トリミングは文字列前後のスペースのみを削除するため、下図のように名字と名前の間には半角スペースが残ったままになっています。
Sponsored link
【M言語】文字列前後・先頭・末尾の空白を削除する
M言語を用いる空白削除の方法を紹介します。M言語を用いれば文字列の先頭にある空白のみの削除、または末尾にある空白のみの削除など細かな処理もできます。
【使用する関数】Text.Trim関数
Text.Trim関数は文字列データの前後のスペース(空白)を削除する関数です。このとき 文字列の中間にあるスペースは削除されません。使い方は簡単で下記のようにText.Trimの後の括弧内に空白を削除したい文字列データを入力するだけです。
テーブルの列に対して関数を適用する場合は Text.Trim( [列名] ) と記述します。先頭の空白のみを削除 または 末尾の空白のみを削除したい場合は下記の関数に置き換えて使用してください。
- 先頭の空白のみを削除:Text.TrimStart ( 文字列データ )
- 末尾の空白のみを削除:Text.TrimEnd ( 文字列データ )
【使用例】文字列前後の空白を削除する
今回は下図の氏名のデータから文字列前後の空白を削除してカスタム列を作成します。氏名の各データには先頭と末尾に空白(半角スペース)があり、かつ名字と名前の間にも空白(半角スペース)があります。
対象列データの空白を削除したカスタム列を作成します。
- 列の追加タブの「カスタム列」を選択する。
- 列名とText.Trim関数を用いて空白を削除する下記式を記述する。※列名である[氏名]は状況に応じて変更して使用してください。
Text.Trim([氏名])
先頭の空白のみを削除したい場合は Text.TrimStart ( [氏名] ) 、末尾の空白のみを削除したい場合はText.TrimEnd ( [氏名] ) と入力してください。
以上で文字列前後のスペース(空白)の削除は完了です。
Text.Trim関数は文字列前後のスペースのみを削除する関数のため、下図のように「氏名(空白削除)」列の名字と名前の間には半角スペースが残ったままになっています。
新しい列を追加せずに対象列データの空白を削除したい場合は下記の手順で行います。
- 適用したステップの一番下のステップを右クリックして「後にステップの挿入」を選択する。
- 追加したステップで下記の空白を削除する式を入力する。※下記式の列名の”氏名”は状況に応じて変更して使用してください。
Table.TransformColumns(変更された型,{{"氏名", Text.Trim, type text}})
先頭の空白のみを削除したい場合はText.Trimを Text.TrimStart に置き換え 、末尾の空白のみを削除したい場合はText.TrimEnd に置き換えてください。
Sponsored link
パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。
・初心者向けおすすめ学習本
・初中級者向けおすすめ学習本
コメント