正規表現により数値と単位を分割

投稿者:

データを愛する皆さん、こんにちは。

「Data Processing with Tableau on my Mind(Tableauを意識したデータ加工)」をシリーズでお届けします。

データ分析に携わる皆さんは、様々なデータに接していることと思います。その中では、データ加工が必要なケースが様々あるとおもいます。

今回は、正規表現を活用した、数値と単位が1つの列に入っているケースへの対応策をご紹介します。

元データは↓の通りです。

数値と単位が1つの列に混在していますね。

これを、数値と単位に切り分けていきます。 ID101については、数値が50、単位はmlとなります。数値ならびに単位の桁数を決め打ちにできない状況では、数値なのか、英文字なのかの判定が必要ですが、ここに正規表現を活用します。

Tableau の文字列関数の中にREGEXP_○○という関数が用意されており、この関数の中で正規表現を使うことができます。 今回は、REGEXP_REPLACEを使います。

まず、数値の取り出しですが、計算フィールドを作成し、

  • FLOAT( REGEXP_REPLACE( [元の値], ‘[A-Za-z]’, ” ) )

により、英文字に相当する箇所をブランクで詰めます。そして、浮動小数点数に変換します。

次に、単位の取り出しですが、新たな計算フィールドを作成し、

  • LOWER( REGEXP_REPLACE( [元の値], ‘[0-9]’, ” ) )

により、数値に相当する箇所をブランクで詰め、併せて、Tableauの関数(LOWER)を使い、小文字に合わせます。正規表現でも大文字・小文字の識別と変換は可能ですが、Tableauの関数を使えるところは積極的につかいましょう。

↑により、数値と単位が切り出されましたら、単位換算処理を加えることで、↓のデータセットを作成することが可能す。

サンプルワークブックをTableau Publicにパブリッシュしています。 併せてご覧ください。

正規表現により数値ち単位を分割

ご参考になれば、たいへん、うれしいです。

ロックンロール!

Tableau小口

 

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です