こんにちは、普段はSalesforceのシステム管理者をしているnakochiです。
今回は、取引先オブジェクトにたくさんのデータが蓄積されていると起こりがちな、住所の部分のデータのメンテナンス方法について解説します。データを活用可能なきれいな状態に定期的にメンテナンスする手間を減らし、正確な作業ができるように、ぜひ参考にしてみてください。
取引先の一括更新用レポートを新規作成する
取引先オブジェクトのレコードを一括更新するため、更新を行う対象となるレコードを出力します。そのためにレポートの機能を使って取引先の一覧を表示させます。
レポート機能で、表形式のレポートを作成し、
・取引先ID
・取引先名
・都道府県(請求先)
・市区町村(請求先)
・町名番地(請求先)
の項目を表示させ、すべてのレコードを出力できるようにしましょう。
このようにレポートを作成したら、未整理公開レポートや、私の非公開レポート、のフォルダに忘れずに保存しておきましょう。レポート名を「住所情報一括修正用取引先レポート」などとしておくと、レポートの意図もわかりやすいと思いいます。
更新や確認作業の効率化をレポートを見ながら行いましょう
レポート機能を使って一括更新用のレポートを作成する、と説明しましたが、別にデータローダでもかまわないはずです。なぜ、レポート機能を使用すると思いますか?
答えは、データローダで出力すると項目名が英語で表示されるからです。英語で項目名が表示されると、日本語での入力項目名に触れてきた運用管理者が項目名を間違えてしまうかもしれません。また、出力後にExcel などの表計算ソフトを使用して一括編集してからもう一度データローダでUpdate の処理をするときの項目の対応付けに手間取るかもしれません。
レポートを用いてデータを出力すると、レポートの画面で表示されるように項目名は日本語で表示されます。日本語で表示された列に対して、表計算ソフトで編集をすることも、データローダで自動で項目を対応付けることもできるので、レポートでの出力をおすすめします。
また、一括編集してアップデートの処理を行った後、処理をおこなったレコードすべての項目が正常に修正されているかを確認するためにも、レポートを用いることですぐに確認でき、修正がきちんとできなかった場合、条件を絞って再び出力することがとても簡単です。
そのため、Salesforce でデータを一括更新したい、という場合にはレポート機能での出力をおすすめします。
左から4文字目に注目!一括更新用レポートの住所から都道府県を正確に抜き出す思考法
レコードを一括更新するために、Excel やGoogle スプレッドシートでファイルを開けるようにしましょう。ここでは、Excel 形式でレポートのデータをダウンロードします。
お使いのパソコンのOSや言語の環境によっては、出力の形式指定によっては文字化けしてしまうかもしれません。日本語環境で使用されている方は、日本語(Shift JIS)や日本語(Windows)などの出力設定を行ってエクスポートして文字化けが起こらないファイル形式を指定してください。
一括更新したいファイルを開くことができたら、このようになります。
このデータは、サンプルとしてこちらからアクセスすることができます。
ここで注目していただきたいのは、都道府県(請求先)に、住所すべての情報が入力されているということです。このままでは都道府県ごとに取引先データを活用するために仕分けることが困難です。都道府県(請求先)に都道府県だけの情報を、町名・番地(請求先)に都道府県よりも後の情報すべてを表示するようにデータを仕分けましょう。
このようにするために、データを1つ1つ編集していては、時間がかかりすぎます。
このような観点から、データの仕分けを高速で行うことができます。
都道府県名が含まれている住所のデータの「4」文字目に注目します。
都道府県は、4文字目が「県」となるのが
・神奈川県
・和歌山県
・鹿児島県
のどれかです。それ以外は、3文字目に県が含まれるか、あるいは北海道、東京都、京都府、大阪府というデータのみになります。
そのため、文字列の4文字目が「県」の場合、左から4文字目までを抽出し、それ以外の場合は左から3文字目までを抽出するという関数を定義することで、都道府県のみを抽出できるのです。
その関数は、このようになります。
=IF(MID(住所の入力されているセル,4,1)=”県”,
LEFT(住所の入力の入力されているセル,4),
LEFT(住所の入力の入力されているセル,3)
)
このように関数を利用することで、住所の中から都道府県だけを数分で抽出できるようになります。
さて、都道府県よりも後の部分についてはどのように考えたらよいでしょうか?市区郡については膨大な自治体数があるために、全てを正確に抽出する関数を定義することは難しいです。
ここでは、市区郡については無視しておいて、町名・番地に対して都道府県よりも後の文字全てを抽出するようにします。
考え方は、抽出した都道府県の文字数を数えます。都道府県の文字数よりも1つ後の文字、例えば神奈川県は4文字なので、5文字目からを抽出します。そこから何文字の文字を抽出するかについては、もともとの文字数から都道府県名を引き算することで求められます。
このようにして町名・番地を抽出する関数はこのようになります。
=MID(LEN(都道府県を抽出したセル +1,LEN(住所の入力されているセル)-LEN(都道府県を抽出したセル)
関数のサンプルはこちらからセルをご参照ください。
※アクセスできない方はシークレットウインドウから
このようにしてデータを整えたら、一括更新のための操作を行います。
データローダで一括更新
データローダでデータを一括更新するため、更新用のデータをCSVの形式にしましょう。Google スプレッドシートで編集していた場合は、ファイル>ダウンロード>CSV
Excel で編集していた場合は、名前をつけて保存>CSV
としましょう。
ここで、日付形式のデータは、「yyyy-mm-dd」形式で表示しないとエラーが出ますし、
数値形式のデータは、桁区切りの文字である「,」などの半角数字以外の文字が含まれている場合はエラーが出ることに注意しましょう。
もし、Google スプレッドシートからCSVでダウンロードしたファイルをデータローダを使用してImport やUpdate しようとして文字化けが起こった場合、一度Excel 形式でダウンロードしてから、Excel からCSVに形式を変換して保存するなどを試してみましょう。
一括編集用に定義したのレポートを使用し、編集後のファイルをCSV 形式にしてデータローダを使うと、このように項目を自動でマッピングすることができます。
データローダの使い方について、基本的な操作手順を知りたい方はこちらの記事から
一括更新が完了したら、更新用に作成したレポートを表示してみましょう。
「住所情報一括修正用取引先レポート」
を表示すると、更新した都道府県(請求先)や町名・番地(請求先)が更新されます。表示したままだった方は、更新ボタンを押すことで、データが最新の状態となって保存されます。
このように、都道府県データをきちんと整理することで、都道府県別取引先数、都道府県別商談数、などを分析することが可能となります。都道府県データだけでなく、取引先のデータだけでなく、あらゆる項目、オブジェクトにおいてきちんと整理したいデータのメンテナンスを行う際にはレポートやExcel や表計算ソフトの機能を駆使して効率的にデータ整備ができるようになりましょう。
まとめ
Salesforce ではデータの正確さがデータ活用を行う上で最も大事なことです。しかし、データの整理のために膨大な作業時間を取られてしまっては迅速な分析ができないばかりか、重要な顧客対応やビジネス活動の時間を割かれてしまいます。
Salesforce、表計算の標準機能を活用してデータ整理の効率性を高めて行きましょう。
Salesforce を導入したばかりや、これから導入しようとしている企業で、どのように活用したらいいのか、データの移行に悩んでいる、などありましたら、ぜひお問い合わせフォームからご相談ください。
対応内容や稼働時間などご相談のうえ、お見積もりを作成いたします。