-->

【KNIME】(ナイム)大量のデータを一気にまとめる方法!重複行をまとめるならGroupBy(グループバイ)

2022/05/25

Knime

t f B! P L

この記事の概要

KNIME(ナイム)のGroupBy(グループバイ)を解説。
このノードは重複する行を1つにまとめることができるノード。
重複する行を1つにまとめると同時に合計値(SUM)計算や平均値計算なども可能です
大量のデータを一気にまとめ上げることができます!


まえがき

どうもシャイン社員です!
最近ドミニオンというカードゲームにハマっています!
オンラインでも遊べるDominion Onlineがオススメです。
無料でできますので良ければ一緒にやりたい人、募集中です!

GroupBy(グループバイ)の使い方

重複している行を1つにまとめたいと思ったことはありませんか?
何行にもわたって重複した内容が書いてある…
伝票処理や統計表で合計値や平均値を求めたい…

エクセルだとピボットなどの機能を用いて1つに纏めることが多いと思います

KNIMEではGroupBy(グループバイ)というノードを使うことで
簡単に重複するデータを1つに纏めることができます

下記のような具合ですね。



それでは詳細説明をしていきます。

重複する項目を1つにまとめる

例として下記のような表を作ってみました。
伝票処理表?のようなものです(*'ω'*)

取引先と伝票番号に対して取引内容と日時、金額が書かれています。
今気づきましたが下記の表の書き方の場合は伝票番号ではなく、取引先番号ですね…。
スミマセン…。

複数の取引先と何回も取引していますね。
例えばこの表の「初芝産業」の取引が何回かありますが、
合計何回の取引で合計金額はいくらなんでしょうか?

これをGroupByノードを使用して取引先ごとにまとめていこうと思います。


ワークフローは下記です。

Excel Reader(エクセルリーダー)でファイルを読み込んでGroupByでまとめます。

String Manipulationは本来不要です。
金額の列がDouble型で詠み込まれたのをInt型に戻しているだけなので
無くてもOKです。





Configure(設定)Groups画面の解説

Configure画面(設定)について解説します。
まずはこのGroups画面から解説し、画面は下記のようになります。



それぞれの項目について解説していきます。

Available column(s):
ここに表示されている列(カラム)のデータが集計されます。
なのでここは合計値や平均値や出現回数など
関数によって求めたい数字が含まれる列を選択します。
今回は金額と日時、内容を集計します。


Groups column(s)
ここで選択されている列(カラム)の内容ごとにデータをまとめます
今回は伝票番号(取引番号)と取引先ごとにデータをまとめます。



Configure(設定)-Manula Aggregation画面の解説

さきほどAvailable column(s)で選択した列(カラム)がここに追加されています。
ここに表示されている列(カラム)を関数を使って集計します。

集計したい列(カラム)を選択し「add」をクリックします。
すると右側の項目に選択した列(カラム)が追加されます。

Aggregation(click to change)の欄をクリックすると
集計方法がずらっと出てくるので、希望の集計方法を選択します。

今回は下記のように設定しました。

金額→合計(Sum):取引先ごとの合計金額を算出
日付→カウント(Count):取引回数を算出
内容→リスト(List):取引内容をリスト化して出力



集計方法(Aggregation)の種類

カラムの計算方法についてよく使う項目を説明します。


List:リスト形式で集計します。
文字列をすべて1行で集計し[]で囲まれたカンマで区切られたデータで出力します。
List(sort)はアルファベット順に項目を並び替えてくれます。

Maximum:集計するデータの中で最大値を表示します。

Minimum:集計するデータの中で最小値を表示します。

Missing value count:データの中の欠損値をカウントしその個数を表示します。

First:データの最初の文字列、数字を表示します。

Last:データの最後の文字列、数字を表示します

Percent:同じデータが全体に占める割合をパーセントで表示します。

SUM:データの合計値を算出します。(Int/Double/Long型のみ)

Mean:データの平均値を算出します。(Int/Double/Long型のみ)

Median:データの中央値を算出します。(Int/Double/Long型のみ)

Standard devitation:データの標準偏差を算出します。(Int/Double/Long型のみ)

Mean absolute deviation:データの平均絶対偏差を算出します。(Int/Double/Long型のみ)

Median absolute deviation:データの中央絶対値偏差を算出します。(Int/Double/Long型のみ)



出力結果

最後に出力結果を添付します。
下記の表のように重複する行を1つに纏めた表を出力できました!
やったぁ!



あとがき

いかがでしたでしょうか?
活躍の場面が多いGroupByノードは大量のデータを一気にまとめることができる
強力なノードなので、ぜひ使い方を覚えて活用しましょう!

それでは!




このブログを検索

注目の投稿

【KNIME】(ナイム)最強の表計算マクロソフト!KNIME(ナイム)のご紹介!使い方は?できることは?

この記事の概要 KNIME(ナイム)は表計算、マクロ動作を主機能とするフリーソフト。 エクセルと同等の機能を有しており、行列計算やグラフ描画可能。 ノードと呼ばれる箱を線で繋ぐことで計算処理を行う事が出来るため 関数名などを覚える必要はなく、処理の内容が分かりやすい。 Pytho...

スポンサー広告

スポンサー広告

QooQ