1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Tableau Prep Builder の使い方 - 欠損値の補完 (How to handle missing data)

Last updated at Posted at 2019-04-09

#欠損値の補完
Qiita で "欠損値" というワードで検索すると様々な方法がでてきます。
https://qiita.com/search?q=%E6%AC%A0%E6%90%8D%E5%80%A4
が、今日は敢えて Tableau Prep Builder でやってみます。

##サンプルデータ

日付 A B C D
2019/4/1 100 - 90 400
2019/4/2 40 30 100 100
2019/4/3 30 40 - 300
2019/4/4 10 60 40 50

こんなデータを用意してみました。A ~ D のカテゴリで、日次で売上データをまとめているクロス集計表です。
"-" となっている箇所はなんらかの理由でデータが欠損しているということにしておきましょう。

##Tableau Prep Builder で欠損値を NULL に置換してみる
上記のサンプルデータを Excel ファイルとして、Tableau Prep Builder に取り込みます。
image.png
"ピボットの追加" を選択して A ~ D を属性値に変換します。
image.png
ピボットの名前 -> カテゴリ, ピボットの値 -> 売上 としてカラム名を変更します。さらにステップの追加をクリックします。
image.png
売上が "-" となっている箇所で右クリックします。Tableau Prep Builder では "値の編集" で任意の値に置換をすることもできますし、"NULLで置換する" を選ぶこともできます。ここでは NULL に置換してみます。
image.png
左上にある "Abc" アイコンは "売上" 列が文字列型であることを意味しています。本来数値型であるべき列ですが、さきほどまで "-" が含まれていたため文字列として認識されてしまっています。"Abc" アイコンをクリックするデータ型を変えることができます。ここでは 数値(整数) としておきます。
image.png
これで "売上" 列を数値型として扱うことができました。
##統計値を使って欠損値の補完がしたい
さきほどの続きです。カテゴリごとに平均値や中央値を計算して、それを欠損値の補完に使いたいです。さてどうするか。
まずはカテゴリごとの統計値を取得するために、集計を行います。
image.png
"カテゴリ" をグループ化したフィールドへ。"売上" を集計フィールドにドラッグ&ドロップします。(矢印手書きでゴメンナサイ)
image.png
Tableau Prep Builder ではデフォルトの集計方法は 合計 (SUM) となります。 SUM をクリックすると他の集計方法に変えることができます。今回は中央値としておきましょう。
image.png
これでカテゴリごとの中央値を取得することができました。このステップを一個前のステップにドラッグ&ドロップして結合を行います。
image.png
こんな感じで結合ができたはずです。カテゴリ列は重複しているので片方はフィールドの削除で消しておきましょう。
image.png
"売上" 列はもともとあった欠損値を含む実績列です。"売上-1" はさきほどの手順で計算した中央値となります。この二つの列をマージすることによって、データが欠損していた箇所に中央値を補完することができます。"ステップの追加" をクリックします。
image.png
列のマージはドラッグ&ドロップで行います。"売上-1" 列をつかんで "売上" 列に投げます。
image.png
以上で欠損値をカテゴリ内における中央値で補完することができました。
image.png

#まとめ
スクリプト一発、、とまではいきませんが、Tableau Prep Builder を使うことで可読性の高い状態で欠損値の補完を行うことができました。
各ステップには日本語で説明を書けるようになっているので、あとで見た際にわかるようになるべく丁寧に記述しておくのがおすすめです。
image.png

#関連リンク
Tableau Prep の使い方 - LOD 表現的な計算をしてみる
Tableau Prep の使い方 - コマンドラインによる自動化
Tableau Prep Builder の使い方 - Index 列 (行 ID 列) を追加する

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?