

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Salesforce データソースへの接続
<a name="salesforce-AMG-datasource"></a>

**注記**  
このデータソースは、Grafana Enterprise 専用です。詳細については、「[Enterprise プラグインへのアクセス許可の管理](upgrade-to-enterprise-plugins.md)」を参照してください。  
さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースに適切なプラグインをインストール必要がある可能性があります。詳細については、「[プラグインを使用したワークスペースの拡張](grafana-plugins.md)」を参照してください。

Salesforce データソースを使用すると、Amazon Managed Grafana 内で Salesforce のデータを視覚化できます。

このデータソースを使用するには、[Salesforce](https://www.salesforce.com/) アカウントと [Salesforce 接続アプリ](https://help.salesforce.com/articleView?id=sf.connected_app_overview.htm&type=5)が必要です。

## 既知の制限事項
<a name="salesforce-known-limitations"></a>
+  アドホックフィルターは未サポートです。
+  現在、SOQL クエリ、および SOQL 経由でアクセスできるデータのみがサポートされています。SOSL および SAQL のクエリ形式は未サポートです。

## 必須の設定
<a name="salesforce-settings"></a>

次のオプション設定が必要です。

**注記**  
プラグインは現在、OAuth 2.0 のユーザー名パスワードフローを使用しています。接続アプリに必要なコールバック URL は使用しません。したがって、有効な任意の URL に設定することができます。


|  名前  |  説明  | 
| --- | --- | 
|  Enable OAuth settings  |  OAuth を有効にするにはこれをチェックする必要があります。 | 
|  Callback URL  |  このプラグインでは使用されないため、有効な任意の URL を指定できます。 | 
|  Selected OAuth Scopes (minimum requirements)  | データ (api) にアクセスして管理します。 | 
|  Require Secret for Refresh Token Flow  |  これは有効化または無効化のいずれかを選択できます。 | 

## データソースの追加
<a name="salesforce-adding-the-data-source"></a>

1.  Amazon Managed Grafana ワークスペースで Grafana コンソールを開いて、ログインしていることを確認します。

1.  [**設定**] (歯車アイコン) のサイドメニューで、[**データソース**] を選択します。

1.  **[データソースの追加]** を選択します。
**注記**  
 サイドメニューに **[データソース]** リンクが表示されていない場合は、現在のユーザーに `Admin` ロールが付与されていないことを意味します。

1.  データソースのリストから **[Salesforce]** を選択します。

1. 次の情報を入力します。
   + **[ユーザー名]** に、Salesforce の接続とクエリに使用する Salesforce アカウントのユーザー名を入力します。
   + **[パスワード]** にユーザーのパスワードを入力します。
   + **[セキュリティトークン]** に、そのユーザーのセキュリティトークンを入力します。
   + **[コンシューマーキー]** に、Salesforce に接続するコンシューマーキーを入力します。これは Salesforce 接続アプリから取得できます。
   + **[コンシューマーシークレット]** に、Salesforce に接続するコンシューマーシークレットを入力します。これは Salesforce 接続アプリから取得できます。
   + **[サンドボックスを使用]** をは、Salesforce サンドボックスを使用する場合に選択します。

## Salesforce データソースのクエリ
<a name="salesforce-query"></a>

クエリエディタはクエリビルダーと SOQL エディタのモードをサポートしています。SOQL は [Salesforce Object Query Language](https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql.htm) の略です。

### クエリビルダー (SOQL ビルダー)
<a name="salesforce-query-builder"></a>

クエリビルダーは SOQL クエリ構築用の使いやすいインターフェイスです。SOQL クエリの記述に慣れていない場合は、このモードを使用して SOQL を構築し Salesforce オブジェクトをクエリできます。クエリビルダーの **[FROM]** フィールドは Salesforce のエンティティ (1 つ以上) を参照します。クエリビルダーで他の操作を行う前に、**[FROM]** フィールドを選択する必要があります。**[FROM]** フィールドを選択したら、ビルダーモードを選択する必要があります。SOQL ビルダーは現在次のモードをサポートしています。
+ `List` — 選択したテーブル/salesforce のフィールドを含む項目を一覧表示します。このモードを使用して、「この四半期に作成された機会のリストを、名前、値、ステージとともに表示」などの結果を取得します。
+ `Aggregate` — エンティティ内の項目を集約します。このモードを使用して、「先月作成された機会をカウント」 または「ステージ名によりグループ化した機会の合計値」などの結果を取得します。
+ `Trend` — 集計結果を経時的に表示します。このモードを使用して、「CreatedDate による機会数のカウント」 または「機会によりグループ化された値の合計数」などの結果を取得します。

クエリエディタで `Entity/FROM` と **[モード]** を選択してから、次のオプションを使用してクエリを構築します。


|  **フィールド**  |  **適用対象**  |  **説明**  | 
| --- | --- | --- | 
|  SELECT |  すべて  |  表示するフィールドのリストを選択します。集計ビューまたはトレンドビューで、値の集計方法も選択します。 | 
|  WHERE |  すべて  |  (オプション) フィルター条件を指定します。結果は選択した条件に基づいてフィルタリングされます。 | 
|  ORDER BY |  LIST、AGGREGATE  |  (オプション) 結果に使用するフィールド名とソート順序を選択します。 | 
|  LIMIT |  LIST、AGGREGATE  |  (オプション) 返される結果数を制限します。デフォルトは 100 です。 | 
|  グループ化の条件 |  AGGREGATE  |  (オプション) 集計値を特定のフィールドで分割する場合にフィールドを選択します。 | 
|  時間フィールド |  トレンド  |  結果をグループ化するための日付フィールドを指定します。結果は Grafana のタイムピッカー範囲に基づいてフィルタリングされます。 | 

クエリエディタで前述のフィールドを設定すると、生成された SOQL のプレビューもクエリエディタの下に表示されます。クエリビルダーの制限でブロックされる場合は、安全に SOQL エディタに切り替えることができます。SOQL エディタでは生成された SOQL クエリをカスタマイズできます。

### SOQL エディタ
<a name="salesforce-SOQL-editor"></a>

未加工 SOQL エディタには、 未加工の SOQL クエリを介して Salesforce オブジェクトをクエリするオプションがあります。SOQL エディタには、テーブルごとに使用可能なエンティティや対応するフィールドなどの、自動入力の提案が用意されています。テーブルごとに使用可能なエンティティを表示するには、SELECT または WHERE の後に Ctrl\$1スペースを使用します。エンティティ名の後にドットを入力すると、使用可能なフィールドが表示されます。

**ショートカット**

CTRL \$1 スペースを使用すると、使用可能なコンテキストオプションを示すコード完了が表示されます。

CMD \$1 S ではクエリを実行します。

**時系列としてクエリ**

日付フィールドを時間に、メトリクスフィールドをメトリクスにエイリアシングして時系列クエリを作り、メトリクスと日付でグループ化します。以下に例を示します。

```
SELECT sum(Amount) amount, CloseDate time, Type metric from Opportunity
group by Type, CloseDate
```

**マクロ**

ダッシュボードの時間範囲によりフィルタリングする場合は、SOQL クエリでマクロを使用できます。
+ `$__timeFrom` — `time` データ型に変換された現在アクティブな時間選択の開始に置き換えられます。
+ `$__timeTo` — `time` データ型に変換された現在アクティブな時間選択の終了に置き換えられます。
+ `$__quarterStart` — 会計四半期の開始 (SalesForce 会計年度設定から派生)。
+ `$__quarterEnd`— 会計四半期の終了 (SalesForce 会計年度設定から派生)。

```
SELECT UserId, LoginTime from LoginHistory where LoginTime > $__timeFrom
```

## テンプレートおよび変数
<a name="salesforce-templates"></a>

新しい Salesforce クエリ変数を追加するには、「[クエリ変数の追加](variables-types.md#add-a-query-variable)」を参照してください。Salesforce データソースをデータソースとして使用します。ここでは任意の SOQL クエリを使用できます。

ユーザー ID やユーザー名など、名前/値のペアを使用する場合は、SOQL クエリから 2 つのフィールドを返します。最初のフィールドは ID として使用されます。これはクエリエディタ SOQL のキー (ID など) でフィルタリングする場合に実行します。

変数構文を使用して SOQL クエリで 変数を使用します。詳細については、「[変数構文](templates-and-variables.md#variable-syntax)」を参照してください。