中小企業情シス稼業

2社連続で中小企業ひとり情シスやっています。 同じ境遇の方のお役に立てればと思います。

広告

広告

データローダを使わずラクにSalesforceデータを繰り返し取得する方法

women-sipping-cocktails-in-a-white-room


データローダを使わずSalesforceデータを一括更新する方法をご紹介しましたが、その流れでデータ取得の手順がありました。

関連記事:


同じデータ取得するのに、毎回Salesforce Connector(旧Data connector for Salesforce)の操作するの面倒だな・・・」と思っていましたが、ちゃんとラクにできる機能がありました。さすがGoogle謹製です。


データの一括更新はリスクありますが、取得だけならデータを壊す恐れはありません。
定期的に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データを定期的に自動で取得するには、上記で取得したデータを表示したまま、
Salesforce Connector(旧Data connector for Salesforce)で「Refresh」をクリックします。
DCfS-Refresh1


「Auto Refresh」の「CREATE」をクリックします。
DCfS-Refresh2


データ取得したいシートにチェックを付けて、
更新間隔(4時間・8時間・24時間)を選択し「CREATE」をクリックします。
DCfS-Refresh3

DCfS-Refresh4


設定が保存され、定期的にデータ取得されるようになります。
設定が不要になったら、「DELETE」をクリックします。
DCfS-Refresh5

Salesforceデータを不定期に取得する

不定期にSalesforceデータを取得したい場合も大丈夫です。

※以前にSalesforce Connector(旧Data connector for Salesforce)でデータ取得したGoogleスプレッドシートを残しておく必要があります。

以前にデータ取得したGoogleスプレッドシートを表示して、
Salesforce Connector(旧Data connector for Salesforce)で「Refresh」をクリックします。
DCfS-Refresh1


「Manual Refresh」の「REFRESH」をクリックします。
データが取得されます。
DCfS-Refresh6




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

関連記事:


皆さんデータローダを使うのが主流なんですかね。
もう私はSalesforce Connector(旧Data connector for Salesforce)から離れられませんw

Power Automateで空白を判定して処理を分岐させる一例

shipping-box


先日の記事で、
Power Automateを使って、
Googleスプレッドシートの内容を読み取り、
Microsoft365で個々のメールアドレスに別内容のメールを送る
例をご紹介しました。

関連記事:
スプレッドシートを読み取って個々に別内容のメールを送信する簡単な方法


最初は、
・添付ファイルなしの場合
・添付ファイルありの場合
とフローを別にしていたのですが、せっかくなので1つにしてみようと思いました。

これがすんなり行きませんでした・・・

空白を判定する

Googleスプレッドシートには、添付ファイルのパスを入力するセルがあります。
PowerAutomate-Sheet

ここが空白かどうかを判定して、
・空白の場合            : メールを送信
・空白ではない場合 : 添付ファイルの情報を取得して、メールを送信
という風に処理を分岐しようと考えました。


結論から言うと、以下のように「空白のままにする」が正解でした。
PowerAutomate-BranchCondition

ただ厳密に言うと、
「""」(長さ0の文字列)を入力してフローを保存したところ、勝手に空白に置き換わった
というのが本当のところです。


最初は、
・Null
・true ※今考えるとこれはおかしいですね
・false
・empty関数 ※ネットにありました
等試してみましたが、どれもうまくいきませんでした。

empty関数は私のやり方が悪い可能性大ですがw



Power Automateって条件分岐とか承認/却下の判定とかクセがあるんですよね。

今回はGoogleスプレッドシートを参照している場合限定のやり方かもしれません。

まあこういうやり方もあるということで。

wingetでPCにアプリをラクにインストールする

get-started-today-letter-board


PCのセットアップをもう少し効率化したい


でもWindows Autopilotとか難しそう・・・ヘタレですみません。
あと会社がお高いライセンス買ってくれそうもありません。ADすらないし・・・


お手軽にやりたいので、私は winget を使っています。

最初は起動すらできなくて諦めていたのですが、
今ではOSに最初からインストールされており、使いやすくなりましたのでご紹介します。

アプリインストーラーのインストール・更新

アプリをインストールするPCに、まずアプリインストーラーをインストールする必要があります。
なんかややこしいですねw
※何でwingetで名前を統一しないんですかね・・・

Microsoft Storeを起動します。
winget-01

検索ボックスで「アプリインストーラー」で検索すると2行出てくるので、
箱のアイコンのほうをクリックします。
winget-02

「入手」をクリックします。
winget-03

既にインストールされている場合は、「更新」をクリックします。
winget-04

「インストール中」の表示になります。
※「更新」をクリックしてから表示が変わるまで、少し時間がかかります。
winget-05

青いボタンが消えたらインストール完了です。
※「インストール済み」とか表示して欲しい・・・
winget-06

これでアプリインストーラーの準備は完了です。

コマンドの実行

後はコマンドプロンプトを起動して、コマンドを実行するだけです。

例えば、Google Chromeをインストールする場合は、

winget install -h --force --id Google.Chrome

です。
いくつかオプションがついていますが、いろいろ試行錯誤してきて、今のところこれが一番確実に動いてくれています。

実行すると以下のような画面になります。
winget-07


例えば、Acrobat Reader、Microsoft Teams、Zoomをインストールする場合は以下のコマンドになります。

winget install -h --force --id Adobe.Acrobat.Reader.64-bit
winget install -h --force --id Microsoft.Teams
winget install -h --force --id Zoom.Zoom

※PowerShellでも実行可能です。
※インストールが終わらない場合、タスクバーに「ユーザーアカウント制御」が表示され、応答待ちになっていることがあります。

パッケージ名を調べる

先ほどのwingetのコマンドでは、パッケージ名(アプリ名)を正確に指定する必要があります。
それを調べる方法です。

キーワードで検索することができます。
例えば、「Chrome」で調べる時は、

winget search Chrome

です。

実行すると以下のような画面になります。
コマンドでは「名前」で指定できますが、「ID」で指定したほうが確実です。
winget-09


他には、
winget.runで調べることもできます。

例えば「chrome」で検索するといくつかヒットします。
winget-10

詳細を見ると、wingetのコマンド例も書いてあります。
winget-11

アプリのアップグレード

インストールしたアプリのアップグレード(バージョンアップ)もwingetで可能です。

例えば、Google Chromeをアップグレードしたい場合は、

winget upgrade -h --id Google.Chrome

です。

実行すると以下のような画面になります。
今回は最新版がインストールされていたので、「適用可能な更新は見つかりませんでした。」と表示されました。
winget-12


また全てのアプリを一括してアップグレードする便利なコマンドもあります。

winget upgrade -h –all

実行すると以下のような画面になります。
自分がwingetで入れていないアプリもアップグレードされます。
旧バージョンのままにしておきたいアプリもアップグレードされる可能性があるので、注意が必要です。
winget-08




wingetでのアプリのインストールは、意外と完了まで時間がかかるのですが、放っておけば終わっているので、その間他のことができます。その価値は高いです。

正直、最後のアプリのアップグレード機能はあまり使っていません。
自分がセットアップするときにラクできればいい話なのでw

でもアプリの脆弱性などで急遽アップグレードの必要が出てきたときには、ユーザ各自でコマンドを実行してもらうには良いかもしれません。

広告
広告
プロフィール
40過ぎて何とか結婚し、2015年末に子どもができた、左利き初老オヤジです。日本史を再勉強中。株、囲碁、鼻炎、眼振少々。中小企業ハッタリテキトー情シス(社内SE)。Access/ExcelVBAしか武器(?)はなし。情試はPM/SM/SA/NW。 ベンダーSEを数年やり、その後情シスに転職しました。 情シスでは中小企業ばかり3社見てきました。現職と前職ではひとり情シスです。 会社では「いないとヤバいが、評価はしない」という扱いです。 ノウハウを伝える相手もいないので、せっかくなので自分なりのコツを公開したいと思います。 同じような環境で苦労されている方のお役に立てればと思います。 「情シスの格を上げる」が目標です。 Twitterをフォローいただくと、ブログ更新時に通知されます。http://twitter.com/suiton_everyday よろしくお願いいたします。
お問い合わせ
お問い合わせはこちら
プライバシーポリシー
・当サイトに掲載されている広告について
当サイトでは、第三者配信の広告サービス(Googleアドセンス)を利用しています。
このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 『Cookie』(氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。
またGoogleアドセンスに関して、このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。

・当サイトが使用しているアクセス解析ツールについて
当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。
このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。
このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。
この規約に関して、詳しくはこちら、またはこちらをクリックしてください。