ブロックリファレンス

BLOCKS Reference

Salesforce

変数からAnalyticsへアップロード

概要

このブロックは、変数に格納されたデータをCRM Analyticsデータセットへアップロードします。アップロードには、アップロードするデータのほかにメタデータも必要です(省略可能)。

変数からCRM Analyticsへアップロードブロックの概念図

アップロードするデータは、オブジェクトの配列として準備してください(詳細は後述)。

BigQueryカテゴリーの「クエリーの実行」ブロックの実行結果(変数に格納されたクエリー結果)はこの形式です。「クエリーの実行」ブロックのクエリー結果をアップロードする場合は、このデータ形式を意識する必要はありません。

変数からAnalyticsへアップロードブロックとクエリー実行ブロックの連携図

アップロードには、アップロードするデータの構造が記述されたJSON形式のメタデータも必要です(省略可能)。

例えば、下図のデータをアップロードする場合、nameamountclose_dateそれぞれのデータのデータ型や書式情報などをメタデータで記述します。メタデータの作成については、「Wave Analytics外部データ形式リファレンスopen_in_new」を参考にしてください。

変数からAnalyticsへアップロードのサンプルデータ図
{
  "fileFormat": {
    "charsetName": "UTF-8",
    "fieldsEnclosedBy": "\"",
    "fieldsDelimitedBy": ",",
    "numberOfLinesToIgnore": 1
  },
  "objects": [
    {
      "connector": "AcmeCSVConnector",
      "description": "",
      "fullyQualifiedName": "SalesData",
      "label": "Sales Data",
      "name": "SalesData",
      "fields": [
        {
          "description": "",
          "fullyQualifiedName": "SalesData.Name",
          "label": "Account Name",
          "name": "name",
          "isSystemField": false,
          "isUniqueId": false,
          "isMultiValue": false,
          "type": "Text"
        },
        {
          "description": "",
          "fullyQualifiedName": "SalesData.Amount",
          "label": "Opportunity Amount",
          "name": "amount",
          "isSystemField": false,
          "defaultValue": "0",
          "isUniqueId": false,
          "type": "Numeric",
          "precision": 10,
          "scale": 2,
          "format": "$#,##0.00"
        },
        {
          "description": "",
          "fullyQualifiedName": "SalesData.CloseDate",
          "label": "Opportunity Close Date",
          "name": "close_date",
          "isSystemField": false,
          "isUniqueId": false,
          "type": "Date",
          "format": "yyyy-MM-dd",
          "fiscalMonthOffset": 0
        }
      ]
    }
  ]
}

メタデータは、省略可能ですが、指定することを推奨します。メタデータを省略すると、すべてのデータがテキストとして扱われます。

アップロードするデータの形式

先に述べたとおり、アップロードするデータは、オブジェクトの配列として準備してください。

info 注記

SOQLクエリーの実行」ブロックのクエリー結果をそのままアップロードする場合は、この形式を意識する必要はありません。アップロードするデータをほかの方法で準備する場合、以下の解説を参考にしてください。

ここでは、下図の売上データをアップロードする場合を例に取り、準備するデータの解説を行います。

変数からAnalyticsへアップロードのサンプルデータ図

各レコード(行)をオブジェクトにして、それらを連続して並べます(配列)。

変数からAnalyticsへアップロードの配列の説明図

「オブジェクト」は、キーと値をペアにしたデータを複数個まとめたものです。

変数からAnalyticsへアップロードのオブジェクトの概念図

オブジェクトの配列データは、基本カテゴリーの「オブジェクト生成」ブロックで作成できます。オブジェクトには、「Object」型を、配列には「Array」型を指定します。

変数からAnalyticsへアップロードのオブジェクト生成ブロックの例

外部からフローにデータを与える場合は、JSONテキストで作成します。

[
  {
    "name": "opportunityA",
    "amount": 100.99,
    "sales_date": "2014-06-30"
  },
  {
    "name": "opportunityB",
    "amount": 99.01,
    "sales_date": "2012-01-31"
  }
]

プロパティ

プロパティ名 説明
ブロック名 ブロックの名前を指定します。ブロックに表示されます。
アカウント

Salesforceアカウントを選択します。

error_outline 備考

Salesforceアカウントは、あらかじめフローデザイナーの設定のSalesforceアカウントで設定を済ませておく必要があります。

投入データの変数 CRM Analyticsにアップロードするデータが格納されている変数を指定します。
データセット名 データアップロード先のCRM Analyticsデータセットを指定します。
メタデータ

アップロードするデータの構造を記述したJSON形式のメタデータを指定します。

メタデータの作成については、「Wave Analytics外部データ形式リファレンスopen_in_new」を参考にしてください。

Sandbox アップロード先のSalesforceがSandbox環境かどうかを指定します。
ブロックメモ ブロックに対するコメントを指定します。
操作内容

データをデータセットへアップロードするときに使用する操作を選択します。

  • 上書き:アップロードするデータでデータセットを作成します。データセットが存在する場合は置き換えます。
  • 追加:アップロードするデータをデータセットに追加します。データセットが存在しない場合は作成します。データセットまたはデータにユニークな識別子が含まれる場合は、追加は許可されません。
  • 更新・挿入:データセットの行を挿入または更新します。データセットが存在しない場合は作成します。更新・挿入する行には、ユニークな識別子が設定された項目が1つのみ含まれている必要があります。
  • 削除:データセットから行を削除します。削除する行には、ユニークな識別子が設定された項目が1つのみ含まれている必要があります。

warning 警告

追加、更新・挿入、削除の場合には、メタデータが必要です。

  • 追加および更新・挿入:アップロードデータとメタデータは、アップロード先のデータセットと一致する必要があります。
  • 削除:メタデータは、データセット列のサブセットである必要があります。

使用例

この使用例では、Salesforceから取得したプロジェクトデータをCRM Analytics(旧Einstein Analytics)にアップロードするフローを紹介します。

error_outline 「プロジェクト管理と分析」シナリオについて

この使用例は「プロジェクト管理と分析」シナリオの一部です。このシナリオでは、以下のSalesforce関連ブロックを組み合わせて、プロジェクトデータの取得・更新・分析を行います。

  1. レコードの追加」ブロック:新規プロジェクトデータをSalesforceに登録
  2. レコードの更新、無ければ追加」ブロック:既存プロジェクトデータの更新または新規登録
  3. SOQLクエリーの実行」ブロック:Salesforceからプロジェクトデータを取得
  4. 「変数からAnalyticsへアップロード」ブロック:取得したデータをCRM Analyticsにアップロード(現在のブロック)

各ブロックの使用例を順に参照することで、Salesforceデータを活用した完全なワークフローを理解できます。

データをCRM Analyticsにアップロードすることで、プロジェクトの進捗状況や予算の使用状況などを視覚的に分析できるダッシュボードの作成が可能になります。

前提条件
  • Salesforceアカウントが設定済みであること
  • 「プロジェクト管理」カスタムオブジェクト(Project__c)が作成済みで、アクセス権があること
  • CRM Analyticsへのアクセス権があること
カスタムオブジェクトについて

この例では、「プロジェクト管理」というカスタムオブジェクトを使用します。以下の設定でカスタムオブジェクトが作成されていることを前提としています。

項目 設定値 説明
表示ラベル プロジェクト管理 画面に表示される名前
オブジェクト名 Project APIで使用される名前(末尾の__cは自動付与)
レコード名 プロジェクト管理名 各レコードを識別するための項目の名前
データ型 テキスト プロジェクト名を任意のテキストで入力可能

このカスタムオブジェクトには、以下のカスタム項目が設定されているものとします。

表示ラベル データ型 項目名 詳細設定 説明
予算 通貨 Budget 桁数:18
小数点以下の桁数:0
プロジェクトの予算額
開始日 日付 StartDate - プロジェクトの開始日
ステータス 選択リスト Status 選択値:
計画中
進行中
完了
プロジェクトの状態
顧客名 テキスト CustomerName 文字数:80 顧客企業名
説明 ロングテキストエリア Description 文字数:32768
表示行数:6
プロジェクトの説明
フローの実装手順
  1. SOQLクエリーの実行」ブロックを配置し、以下のように設定します。
    プロパティ名
    アカウント 使用するSalesforceアカウントを選択
    SOQLクエリー
    SELECT 
      Name,
      Budget__c,
      StartDate__c,
      Status__c,
      CustomerName__c,
      Description__c
    FROM 
      Project__c
    ORDER BY 
      Budget__c DESC
    結果を格納する変数 project_data
    Sandbox 適宜選択(本番環境の場合はオフ)
  2. 「変数からAnalyticsへアップロード」ブロックを配置し、以下のように設定します。
    プロパティ名
    アカウント 使用するSalesforceアカウントを選択
    投入データの変数 project_data
    データセット名 Project_Analysis
    メタデータ
    {
      "fileFormat": {
        "charsetName": "UTF-8",
        "fieldsEnclosedBy": "\"",
        "fieldsDelimitedBy": ",",
        "numberOfLinesToIgnore": 1
      },
      "objects": [
        {
          "connector": "AcmeCSVConnector",
          "description": "プロジェクト分析データ",
          "fullyQualifiedName": "ProjectData",
          "label": "Project Data",
          "name": "ProjectData",
          "fields": [
            {
              "description": "プロジェクト名",
              "fullyQualifiedName": "ProjectData.Name",
              "label": "プロジェクト名",
              "name": "Name",
              "isSystemField": false,
              "isUniqueId": false,
              "isMultiValue": false,
              "type": "Text"
            },
            {
              "description": "予算",
              "fullyQualifiedName": "ProjectData.Budget",
              "label": "予算",
              "name": "Budget__c",
              "isSystemField": false,
              "defaultValue": "0",
              "isUniqueId": false,
              "type": "Numeric",
              "precision": 18,
              "scale": 0,
              "format": "#,##0"
            },
            {
              "description": "開始日",
              "fullyQualifiedName": "ProjectData.StartDate",
              "label": "開始日",
              "name": "StartDate__c",
              "isSystemField": false,
              "isUniqueId": false,
              "type": "Date",
              "format": "yyyy-MM-dd",
              "fiscalMonthOffset": 0
            },
            {
              "description": "ステータス",
              "fullyQualifiedName": "ProjectData.Status",
              "label": "ステータス",
              "name": "Status__c",
              "isSystemField": false,
              "isUniqueId": false,
              "isMultiValue": false,
              "type": "Text"
            },
            {
              "description": "顧客名",
              "fullyQualifiedName": "ProjectData.CustomerName",
              "label": "顧客名",
              "name": "CustomerName__c",
              "isSystemField": false,
              "isUniqueId": false,
              "isMultiValue": false,
              "type": "Text"
            },
            {
              "description": "説明",
              "fullyQualifiedName": "ProjectData.Description",
              "label": "説明",
              "name": "Description__c",
              "isSystemField": false,
              "isUniqueId": false,
              "isMultiValue": false,
              "type": "Text"
            }
          ]
        }
      ]
    }
    操作内容 上書き
    Sandbox 適宜選択(本番環境の場合はオフ)
実行結果

CRM Analyticsに以下のようなデータセットが作成されます。

Name Budget__c StartDate__c Status__c CustomerName__c Description__c
クラウド移行プロジェクト 8,000,000 2024-03-31 計画中 グローバル商事 オンプレミスからクラウドへの移行
新規システム開発プロジェクト 6,000,000 2023-12-31 計画中 株式会社サンプル 顧客管理システムの新規開発(予算増額)
次のステップ

この使用例は「プロジェクト管理と分析」シナリオの一部です。次のステップとして、以下のブロックの使用例を参照してください。

この情報は役に立ちましたか?