SOQLクエリビルダー (SOQL Query Builder) を使ってみた

#はじめに
この記事は 2020 年の RevComm アドベントカレンダー ３ 日目の記事です。 ２ 日目は 515hikaru さんの「[ワンライナー仕事術: 日常業務におけるシェルコマンド活用法](https://qiita.com/515hikaru/private/6c9005818113c0ff5da4)」でした。

どうも。最近新しく社内のSalesforceシステム管理者としてメンバーに加わった新参者です！
新米システム管理者として、分からないことも多々ありますが周りの方々に助けられながら日々仕事をこなして行ってますー！
RevCommでは、よく社内で便利ツールとかを共有しあっていて、その中で知った Visual Studio Code(VSCode)で使用できるSalesforce開発に役立つ追加機能を、今回~~あたかも私の持ちネタの如く~~ご紹介していきますね（にっこり）。
#概要
Salesforceの開発用エディタとしてMicrosoftが開発したVisual Studio Codeが人気ではありますが、その人気の理由の一つとしてSalesforceの開発に役立つ豊富な拡張機能が上げられます。今回ご紹介するのはその拡張機能の一つ「[SOQLクエリビルダー (SOQL Query Builder)](https://developer.salesforce.com/blogs/2020/11/introducing-the-soql-query-builder-now-in-beta.html)」です！
このSOQLクエリビルダー、ほんのつい最近ベータ版がリリースされたばかりなんですが、いったいどういったことができるのかを簡単に言うと、SOQLが直感的に作れちゃうということなんです！！
いや、直感的ってなんだよってなると思うので、簡単に使い方の説明もさせていただきますね。
#使い方
(注)こちらの拡張機能はVSCodeでの使用を目的としているため、そちらの開発環境はすでに構築済みの想定で進めさせていただきます。
環境構築に関しては別の方が分かりやすく記事をまとめてくださっているので、そちらを参考にしていただければと。。。([Visual Studio Code で Salesforce の開発環境を構築する](https://qiita.com/shunkosa/items/e6248520bff90f397158))
######① SOQLクエリビルダーのインストール
VSCodeを使ってSalesforceとの連携までできるようになったら、次のリンクからSOQLクエリビルダーのインストールを行ってください。
[SOQL Builder for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=salesforce.salesforcedx-vscode-soql)
######② .soqlファイルを用意し、SOQLクエリビルダーを使ってファイルを開く
拡張機能のインストールまでできたら、次は.soqlファイルをscripts>soql直下に作成してください。

```
例）
.
└── scripts
   └── soql
       └──soql_otameshi.soql
```
作成したファイルを右クリックし、「ファイルを開くアプリケーションの選択」(英語の場合は「Open With」)→「SOQL Builder」の順で選択していきます。![スクリーンショット 2020-11-30 11.57.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/903025/76298ad0-5ee7-516e-744b-6728994b8c86.png)
するといままではテキストベースでしか作成できなかったSOQLが直感的なGUIで作成できるようになっているのです！これは便利。。。
######③ SOQLクエリビルダーを使ってSOQL作成
では、今度は実際にSOQLを作成していきましょう。
といってもやることは単純で、適当に作成したいSOQL文をクリックで選択していくだけです。
例としてAccountオブジェクトからId、Name、LastModifiedDate、LastModifiedByIdを10件抽出し、LastModifiedDateの値の降順で並び替えるSOQLを作成するとします。
その場合は下記の手順で実行します。

* **From**の中から「Account」をクリック
* **Fields**の中から「Id」、「Name」、「LastModifiedDate」、「LastModifiedById」を各々クリック
* **Order By**の中から「LastModifiedDate」を選び、その下の選択肢で「Descending」を選んだ後、「Add」ボタンをクリック
* **Limit**に「10」を入力
![スクリーンショット 2020-11-30 12.05.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/903025/a1853aba-b62b-bc16-9823-cf44eca72962.png)
右側の「SOQL Query」エリアに選択した内容が反映され、SOQLクエリが自動で記述されます。

######④ SOQL実行
SOQLクエリを作成したら、もちろんそれを実行することもできます。
右側にある「Run Query」ボタンを押すと、作成されたクエリをもとに実行結果がテーブル形式で表示されるので、結果の確認も簡単に行うことができます！
![スクリーンショット 2020-11-30 12.07.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/903025/f93a0697-fffd-ddcb-016c-d8f71e17cb11.png)
######⑤ 実行結果をcsvファイル、jsonファイルとして出力
もう一つの目玉として、このSOQLクエリビルダー、なんと実行結果をcsvファイルやjsonファイルとして出力してくれるのです！！！これはほんと便利。。。
手順も簡単。実行結果の右上にある「.csv」、「.json」ボタンをクリックするだけ！
![スクリーンショット 2020-11-30 12.09.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/903025/efec06ed-5e12-2a98-72f8-e7b1c4f95522.png)
すると**soql**フォルダの直下に**query-results**フォルダが出来上がるので、その中に出力されたファイルが格納されます。
これでわざわざレポート作成したり、データローダ使ってファイル出力しなくてもVSCode上でファイル出力までできるようになりました！！
#最後に
最後まで読んでいただきありがとうございます。
いかがでしたか？この「SOQLクエリビルダー」、個人的には結構便利な拡張機能だと思うのですが。
しかし、これはまだベータ版なので、まだまだ足りてない機能もあるようです。（個人的にはWHERE句が設定できないのが残念なところ。。。）
ですので、今後の正式版リリースではそこら辺の機能追加にも期待して気長に待ちたいと思います！

明日は miy さんの記事です。