このページは解答編です。
↓ネ
↓タ
↓バ
↓レ
↓防
↓止
答えと解説
設問はこちらでした。
P-079: 商品データ(product.csv)の各項目に対し、欠損数を確認せよ。
※出力結果は、フィールド名の昇順で出力すること
解答ワークフローは以下のようになります。
今回は、欠損値を確認する問題です。欠損値は「Null」ですので、Nullをカウントすれば良いということになります。
Rツールを使ったワークフロー
データ調査タブの中に「基本データプロファイル」というツールがあります。このツールを使うことで、各フィールドの記述統計量が得られます。
基本データプロファイルツール
このツールに通すことで、各フィールドの記述統計量が得られます。非常に多くの統計値が取れるので詳細はヘルプをご確認ください。
なお、いくつかオプションがありますが、極端に多くのデータ、極端に長い文字などを扱うときはパフォーマンスをあげるために上限を設定するオプションがあります。
なお、「メトリック単位を使用する」オプションは、チェックを入れることで空間オブジェクトの長さなどの単位がメートル法のものになります(チェックを付けなければ、マイルベースの単位で計算されます)。
実際のワークフローでは、上のデータプロファイルツールの結果に対して、Nullをカウントしたレコードがあることが確認できるため、この行だけ抜き出せば良いことになります。
フィルターツールでNullsを抜き出しましょう。
あとは、フィールド名を整えて、フィールド名の昇順で並び替えれば完了です。
実際のワークフローは以下の通りとなります。
通常のツールを使ったワークフローの作成
次に、通常のツールを使って作成してみましょう。
Nullをカウントするには集計ツールを使えば良いです。しかしながら、今回6つのフィールドがあるため、6回も集計ツールを使うのは面倒です。
このような時に使えるのが転置ツールです。すべての項目を縦方向に持ちたい場合は、全てのフィールドにチェックを付ければおしまいです。
これにより、フィールド名は「Name」というフィールドに格納し、該当する値は「Value」というフィールドに格納されます。
あとは、集計ツールを使い、Nameでグループ化し、Valueの「Nullのカウント」を取れば欲しい物が得られます。
あとは、フィールド名の昇順で並び替えれば完了です。
最終的なワークフローは以下の通りとなります。
まとめ
今回は欠損値(Null)をカウントする問題でした。フィールドサマリーツールなどでもNullの割合は出てくるのですが、数は出ないため基本データプロファイルツールが必要となります。それ以外にも基本的なツールの組み合わせでも実現可能です。
コメント