システムから書き出したCSVデータを読み込んで売上の合計を出そうとした時、なぜか計算ができずにエラーになってしまった経験はありませんか。
エクセルでも、数字の左上に緑色の三角マークがついて文字として認識されてしまい、SUM関数がゼロになってしまうことがよくありますよね。
この記事では、KNIMEで文字として認識されてしまった数字を、正しい数値データ(データ型)に変換するString to Numberノードの使い方を解説します。
データ型(StringとNumber)の違いとは
KNIMEにデータを読み込ませると、列のタイトルの横に現在のデータ型を示すアルファベットが表示されます。
Sという文字は文字列(String)を表しており、たとえ中身が1000という数字であっても、KNIMEはそれを千という金額ではなく、1と0の記号の並びとして認識しています。
Math Formulaノードを使って四則演算をするためには、このSマークを整数のI(Integer)や、小数のD(Double)といった数値型に変更してあげる必要があります。
String to Numberノードの設定手順
Modern UIの基本的な操作手順に従って、文字の数字を本物の数字に変換していきましょう。
- キャンバスに配置する:画面左側の+ボタンからString to Numberを検索し、キャンバスに配置して線をつなぎます。
- 設定画面を開く:ノードをダブルクリックして設定画面を開きます。
- 対象の列を選ぶ:設定画面の上部にあるIncludeとExcludeの枠を使って、変換したい列(売上金額や数量など)を右側のIncludeの枠に移動させます。
変換後の数値の型を選ぶ
対象の列を選んだら、設定画面の下部にあるTypeのプルダウンメニューを開きます。
ここで、どのような数字に変換するかを指定します。
- Int(整数):小数点を含まない、1や100といった普通の数字にする場合に使います。金額や個数などは通常これを選びます。
- Double(小数):1.5や3.14のような小数点を含む数字にする場合に使います。消費税率などの細かい計算が必要な列に使います。
設定ができたらOKを押し、緑色の実行ボタンをクリックします。
データを確認し、タイトルの横のマークがSからIやDに変わっていれば大成功です。
ちなみに、日付データが文字になってしまっている場合は、別の専用ノードを使う必要があるため使い分けてみてくださいね。
