このページは解答編です。
↓ネ
↓タ
↓バ
↓レ
↓防
↓止
答えと解説
設問はこちらでした。
P-085: 顧客データ(customer.csv)の全顧客に対し、郵便番号(postal_cd)を用いてジオコードデータ(geocode.csv)を紐付け、新たな顧客データを作成せよ。ただし、1つの郵便番号(postal_cd)に複数の経度(longitude)、緯度(latitude)情報が紐づく場合は、経度(longitude)、緯度(latitude)の平均値を算出して使用すること。また、作成結果を確認するために結果を10件表示せよ。
解答ワークフローは以下のようになります。

今回は今まで使ってこなかったgeocode.csvというファイルを使いますが、今まで行ってきた内容で対応可能な内容です。
郵便番号(postal_cd)ごとに緯度経度を平均し、customer.csvに結合すれば完了です。
ワークフローを作る
まず、geocode.csvについてセレクトツールを用いて、不要項目の削除とデータ型の変更を行いましょう。必要な項目は、postal_cdとlongitudeとlatitudeのみです。logitudeとlatitudeは数値型(Double)に変更します。

次に、postral_cdが重複するものは平均値を算出する、ということなので、集計ツールを用いて平均を取りましょう。postal_cdでグループ化し、longitudeとlatitudeの平均を取ります。

次に、このデータを用いてcustomer.csvと結合します。キーフィールドはpostal_cdです。

これであとは、customer_idの昇順で並び替え、先頭から10レコード抽出すれば完了です。
まとめ
緯度経度が出てきたので空間系の問題かと思いきや、普通に集計、結合するだけの問題でした。今まで行ってきた内容で十分対応可能な内容かと思います。
コメント