こんにちは。CData Software Japan リードエンジニアの杉本です。
前回の記事で CData Excel Formulas を用いた動的なデータの取得方法を紹介しました。
www.cdatablog.jp
記事中でも少し触れている通り、この CData Excel Formulas は値の取得だけでなく、値の動的な追加や更新もサポートしています。
cdn.cdata.com
というわけで今回は値の更新方法・CDATAUPDATE の使い方を解説したいと思います。
利用する CData Excel Add-in
利用するCData Excel Add-in は前回と同様に Salesforce です。
もちろん、Salesfroce以外のサービスでもOKです。
www.cdata.com
インストール完了後、予め接続情報を設定しておきます。
CDATAUPDATEの使い方
CDATAUPDATE 関数では、セルの値を元に、動的に Salesfroce上のデータを更新することが可能です。
cdn.cdata.com
今回は例として Salesforce の Accountオブジェクトの「Name」を更新するシートを作成してみます。
Accountデータの更新には「Id」を条件に指定する必要があります。この「Id」の値を含めた列とN機更新対象である「Name」の列を含めたシートを作成しました。
CDATAUPDATE関数はD列に指定しています。第1引数に更新対象の値が含まれるセルの範囲、第2引数に接続情報、第3引数に列名が含まれるヘッダーのセルの範囲を指定しています。
=CDATAUPDATE(A2:B2,"Account","Salesforce.Connection1",$A$1:$B$1)
あとはD列でそれぞれコピーすれば、それぞれの行の値を更新する処理が構成されて、Name列の説の値を変えるだけで、そのままSalesfroce上の値も更新されるようになります。
ちなみに今回のようなExcel データの場合、以下のように一括で範囲指定することも可能です。
=CDATAUPDATE(A1:B11,"Account","Salesforce.Connection1")
しかしながら、CDATAUPDATE関数の特性上、範囲指定された全データのリクエストがSalesforce側に送られてしまうので、パフォーマンスやAPI Limitの消費が激しくなってしまうので、利用する場合は要注意です。
今回のExcel の例だと、裏側では10回リクエストが飛んでしまいます。行数が多いものであれば、1行ごとにCDATAUPDATE 関数を指定したほうが効率的でしょう。
関連コンテンツ