winged-wheels

Salesforceを使いだして結構経ちましたが、やっぱりデータローダは使う気になりません。

でも情シスには、大量のデータ更新とかの依頼がワサワサと来ます。
エンドユーザと同じようにクリッククリックでは芸がないですし、
こんなくだらない単純作業に時間を取られるわけにはいかないので、効率的な手法を確立する必要があります。

調べてみると、
Google スプレッドシートのアドオン「Salesforce Connector(旧Data connector for Salesforce)」で、Salesforceのデータを操作することができることがわかりました。

Google謹製ということは、Googleでもデータローダのクセの強さに苦労してるんですかね。
頭のいい人はちゃんと考えてくれています。
こういう見た目は地味だけど、ちゃんと効果が出るようなツール大好きですw

「データローダでやるの怖い!」
「データローダクセが強すぎ!」
などの理由で、Salesforceデータの一括更新をためらわれている方は是非ご活用ください。

以下が手順となります。よく使う機能だけをシンプルに書きました。

    1.アドオンの追加
    2.Salesforceへの接続
    3.Salesforceデータの取込
    4.Salesforceデータの更新

※一部画像にモザイクが入っております。ご了承ください。

アドオンの追加

Googleアカウントが必要です。持っていない場合は、取得してください。

「Data connector for Salesforce」で検索して、アドオンをインストールしてください。
01

Googleドライブを開きます。
GS1

「新規」をクリックします。
02

「Googleスプレッドシート」をクリックします。
03

[アドオン]-[Data connector for Salesforce]-[Click to enable the add-on]をクリックします。
※有効になるのに少し時間が掛かります
04

[アドオン]-[Data connector for Salesforce]-[Open]をクリックします。
05

画面の右側にSalesforceへの接続画面が出ればOKです。
06

Salesforceへの接続

Salesforceへ接続します。

環境を選択し、「AUTHORIZE」をクリックします。
※Production:本番環境、Sandbox:テスト環境
07


Salesforceにログインしていない場合、ユーザとパスワードを求められます。


ユーザとパスワードが通ると、以下の画面になるので、
「許可」をクリックします。
08

画面を閉じます。
09

画面の右側にデータ操作パネルが表示されればOKです。
10

Salesforceデータの取込

SalesforceからデータをGoogleスプレッドシートに取り込みます。
※Salesforce Connectorを使ってデータ更新する際は、レコードIDを使います。
まずレコードIDを含むデータを取り込み、それを基に更新する方が安全です。

Salesforce での一意のレコード ID の特定


「Import」をクリックします。
11

取り込むオブジェクトを選択します。
検索ボックスで検索し、該当オブジェクトにチェックを入れます。
「NEXT」をクリックします。
12

取り込むフィールドを選択します。
検索ボックスで検索し、該当フィールドにチェックを入れます。

※「ID」フィールドと更新したいフィールドには必ずチェックを入れておきます。

「NEXT」をクリックします。
13

取り込むデータを絞り込むこともできます。
フィールドを選択し、条件を指定し、「ADD」をクリックします。
14


「equals」以外にも条件を選択できます。
14_2

条件をクリアしたい場合は、条件の左の「×」をクリックします。

取り込むデータの最大行数も指定できます。
デフォルトが10000なので、それを超える場合は値を変更します。
※あまり多くのデータを取得しようするとエラーになります。
その場合は数字を減らしてください。

「GET DATA」をクリックします。
15

アクティブなスプレッドシートのデータが置き換えられるという警告が表示されます。
「REPLACE」をクリックします。
16

データが取得できました。
17


Salesforceデータの更新

Salesforceデータの一括更新は、エンドユーザからの要望も多く、効果も大きいです。
が、当然Importより慎重に作業する必要があります。
注意点としては以下になります。

IDフィールド必須
IDフィールドでレコードを特定するので、必須です。
エンドユーザにデータ準備してもらうときは、必ずIDフィールドを含めてもらいます。
IDフィールドを含んだデータを渡した方が確実かもしれません。

Salesforce での一意のレコード ID の特定

フィールド名を間違わない
フィールド名(≠ 表示名)を間違うと更新できなかったり、間違えて他のフィールドを更新するリスクがあります。
Importしたデータを基に作業すれば間違いないです。

まず数件更新して試す
更新したデータを一括で戻す方法はない(と思います)です。
更新対象のデータを、予めImportし保存しておけば安心です。


では更新していきましょう。
「UPDATE」をクリックします。
18

UPDATEでは、選択した行が更新対象とみなされます。
(スプレッドシートのセルの色が変わります)

データの範囲が違う場合は、行を正しく選択しなおしてから、
「REFRESH THE SELECTED RANGE」をクリックします。
※「Row」「Count」の値も確認したほうが良いです。

19

更新するオブジェクトを選択します。
20

「Update」を選択します。
「Id Column」でIDの入っている列を指定します。(Updateではこの指定が必須になります)
※更新結果が表示される列(Results Column)は、データの入っている最も右の列の次の列が自動で指定されますので、そのままにしておきます。
「NEXT」をクリックします。
21

更新の概要が表示されるので確認します。
22

値の更新を行う列にチェックを入れます。
※間違えて更新しないよう、チェックを入れるのは最小限にします。(ID列にはチェック不要)

「EXECUTE」をクリックします。
23

最終確認のメッセージが表示されます。
「UPDATE」をクリックします。
24

更新結果が表示される列(Results Column)に「Updated」と表示されれば更新成功です。
25



Salesforce Connector(旧Data connector for Salesforce)ではInsertも可能ですが、必須項目などの制限で、なかなかすんなり行かないので、
私はPower Automate+Googleスプレッドシートでやっています。詳しくは下記記事をどうぞ。

関連記事:


ベンダーから、この手のツールを紹介されたことがないのですが、プロwは使わないんですかね。