エクセルで売上データを見ている時、前月比や前日からの増減を計算するために、すぐ上のセルを引き算したり割り算したりする数式を入力することはよくありますよね。
しかしKNIMEでは、エクセルのように「一つ上の行を直接指定して計算する」という機能が標準では用意されていません。
この記事では、エクセルでの相対参照(上のセルを見る動き)を再現し、前月比の計算を自動化するLag Column(ラグカラム)ノードの使い方を解説します。
Lag Columnノードとは?
KNIMEで前月比を計算する際のお決まりのテクニックが、データを1行下にズラした新しい列を作るという方法です。
たとえば、売上という列があった場合、その横に1行遅れて表示される前月の売上という新しい列を作り出します。
横の列同士であればMath Formulaノードを使って簡単に四則演算ができるため、まずはこの行をズラす処理を行います。
ノードの設定手順(Modern UI版)
Modern UIの基本的な操作手順に従って、ノードを配置していきましょう。
- キャンバスに配置する:画面左側の+ボタンからLag Columnを検索し、キャンバスに配置して線をつなぎます。
- 設定画面を開く:ノードをダブルクリックして設定画面を開きます。
- ズラしたい列を選ぶ:Column to lagというプルダウンから、前月比を計算したい元の列(売上金額など)を選びます。
ズラす行数(Lag Interval)を決める
設定画面の中央にあるLagという入力欄で、何行分下にズラすかを指定します。
前月比や前日比を出したいのであれば、ここは1のままで大丈夫です。もし前年同月比を出したい場合で、データが月ごとに1行ずつ並んでいるなら、12と入力すれば12行前のデータが横に並ぶことになります。
設定が終わったらOKを押し、緑色の実行ボタンをクリックします。
データの出力結果を確認すると、元の列の右側に「売上金額(-1)」といった名前の新しい列が追加されており、データが1行ずつ下にズレていることがわかります。一番上の行には前のデータが存在しないため、自動的に空白セルとして欠損値マークが入ります。
あとは、このノードの右側にMath Formulaノードをつなぎ、「今月の売上 ÷ 前月の売上」という計算式を作れば、見事な前月比の完成です。
エクセルとは少し違う考え方ですが、一度覚えてしまえば株価の移動平均の計算などにも応用できる強力なテクニックですよ。
