🍊

[Tableau Certified Data Analyst試験に向けて] Tableau Prepのクリーニングステップについてメモ書き

2024/07/04に公開

はじめに

Tableau Certified Data Analyst試験では,いくつかTableau Prepの操作方法が問われる。
そのうちクリーニングステップについて調べたことをメモとして残す。

そもそもフローの選択肢として何があるか

公式ドキュメントはここ。

https://help.tableau.com/current/prep/ja-jp/prep_build_flow.htm

実際に見てみる。
データソースを追加したあと,いろんなステップでデータを加工できる。以下の通り。

  • クリーニングステップ
    • 誤字や重複,表記揺れなどを修正すること。本記事にて詳述。
    • 世の中には「データクリーニング (data cleaning)」以外にも,「データクレンジング (data cleansing)」「データスクラビング (data scrubbing)」という言葉もあるが,あまり差はない。
  • 新しい行
    • 公式では「シーケンシャルデータのギャップを埋める」とある。要はTableau DesktopでいうMeasureデータの補完を行なう。
    • 数値や日付が対象。
  • 集計
    • Tableau Desktopでいう集計関数をかませること。SUM()AVG()など。
  • ピボット
    • クロス集計表など,同じ種類のフィールドをまとめること。また,その逆。
  • 結合
    • 特定の列をキーとして2つのデータセットを一行単位で組み合わせること。
  • ユニオン
    • 列名が一致していれば,列の順番は関係なくユニオンしてくれる。
    • 色で組み合わさり方を示してくれるのは好印象。
    • 列名はTableau Desktopと違って自動で大文字小文字を変換してくれない。どうして
    • 列名の変更を行なえば組み合わせてくれる。
  • スクリプト
    • RやPythonで記述されたスクリプトを使って加工ができる。
  • 予測
    • Einstein Discoveryが作成するモデルで予測してくれる。
  • 出力
    • .hyperや.csvなどのファイルや,Tableau ServerへのデータソースとしてのPublishが行なえる。
  • フローの挿入
    • 別フローファイルで作成したステップをひとつのカードとして差し込める。

実機ではこのように選択できる。

クリーニングステップについて

本記事の本題。クリーニングステップとして選択できる加工方法についてメモを残す。

フィルター

  • 計算
    • Tableau Desktop同様,計算フィールドによる条件式で値を絞る。
  • 選択した値
    • 手動選択で絞る。
  • ワイルドカード一致
    • 入力した値に対して一致しているかどうかを選べる。
    • 選べるオプションは下記4種。
      • 部分一致
      • 前方一致
      • 後方一致
      • 完全一致
  • NULL値
    • NULL値か,NULL以外の値を保持できる。

クリーニング

文字自体の変更や余計な空白や数値の削除を担当する。選べる選択肢は下記の通り。

  • 大文字にする
    • そのまま。UPPER()関数と同義。
  • 小文字にする
    • そのまま。LOWER()関数と同義。
  • 文字の削除
    • アルファベット文字を削除し,数値と記号を残す。以下例では数値がそもそも含まれていないので数値も消えているかに見えているが否。
  • 数値の削除
    • そのまま。数字が削除される。
  • 句読点の削除
    • そのまま。句読点が削除される。
  • スペースのトリミング
    • 先頭と末尾の空白を削除する。イメージはTRIM(<string>)
  • 余分なスペースの削除
    • 先頭と末尾の空白に加え,単語と単語の間にある複数の空白を単一にしてくれる,らしい。
  • すべてのスペースを削除
    • 単語中の空白も対象。REPLACE(<string>, ' ', '')と同義。

値のグループ

Tableau Desktopでいうディメンションピルのグループ化。選べるオプションは下記4種。

  • 手動選択
    • 手作業でグルーピングする方法。Tableau Desktopでも行なえる。
  • 読み方
    • 音声がにている値を自動でまとめてくれる。一般的な多くのスペルチェッカーで用いられているMetaphone3というアルゴリズムを使用しているとか。
  • 一般的な文字
    • 共通するアルファベット文字や数字を含む値を検索して自動でグルーピング。あるアルゴリズムで単語をインデックス化して,それに応じてグルーピングされるらしい。
    • おそらく公式ドキュメントを読むのが一番だが,アルファベットによる「First, Last」「Last First」は同じグループになるらしい。しかし似た名前もグルーピングされるようなので,データセットの全容が分かっているときに使えそう。
  • スペル
    • スペルが似ている値を検索してグルーピングする。レーベンシュタイン距離アルゴリズムを利用する。
    • Google検索の「もしかして: 」はこのアルゴリズムが活用されているらしい。もちろんそれだけじゃないと思うが。

公式ドキュメントにメカニズムが書いてある。しかし英単語が基準になっていそうなので,安牌は手動選択なのかもしれない。

https://help.tableau.com/current/prep/ja-jp/prep_clean.htm#標準値への複数の値の手動によるマッピング

値の分割

選べるのは「自動分割」と「カスタム分割」。Tableau DesktopでいうSPLIT()関数を使った加工を行なって新しい列を生成できる。

その他

下記加工方法がその他にある。

  • フィールド名の変更
    • Renameのこと。
  • フィールドの複製
    • Duplicateのこと。元の値をもたせながら加工後のレコードとかを見たいときなどに使えそう。
  • 保持するフィールド
    • 選択しているフィールド以外のフィールド(列)を削ぎ落とす
  • 計算フィールドの作成
    • 以下のオプションがある
      • カスタム計算
      • FIXED LOD
      • ランク
      • タイル
  • データの役割としてパブリッシュ
    • Ask DataとしてTableau ServerにPublishすること。
  • フィールドを非表示にする
    • 選択しているフィールド単体を隠す。見えなくするだけ。
  • 削除
    • 選択しているフィールドを削除する

おわりに

TDCA試験ではTableau Prepも出題されるとあったので,簡単に調べてみました。
レーベンシュタイン距離,口に出して読みたい日本語って感じで好きになりました。

Discussion