Skip to Content

Override JSON Metadata in Salesforce Wave Analytics

Overview

Note

Salesforce has renamed Salesforce Wave Analytics as Salesforce Einstein Analytics. However, Jitterbit Design Studio still retains the original name of Wave Analytics. Both terms are used here as appropriate.

In Salesforce Wave Analytics, you can define which fields and columns carry over and Harmony automatically creates an appropriate JSON structure, which tells Salesforce what kind of data will be shared. The JSON file allows for dynamic configuration; you can modify that JSON as required.

A feature of Jitterbit Design Studio gives you access to the JSON (the metadata being sent to Salesforce) so that you can override the metadata and set it appropriately.

Override the JSON used for a Salesforce Wave Analytics Dataset

To override the JSON in a Salesforce Wave JSON metafile, follow these steps:

  • In your Harmony project, open an Operation that uses a Salesforce Wave Analytics Dataset.

  • In that Operation, create a new script (or modify an existing script) that precedes the Salesforce Wave transformation and set in the script the global variable $jitterbit.target.wave.json to a valid JSON string.

    Note

    If the global variable $jitterbit.target.wave.json is set, the Salesforce Wave JSON metadata file generated by the transformation will be completely replaced by the value of this global variable.

  • Create the JSON data by:

    1. In Jitterbit Design Studio, find and open the dataset you want to change (it will be listed under Salesforce Wave Analytics in the left pane):

      attachment

    2. Click the JSON button to open the JSON dialog:

      attachment

    3. Click the Copy To Clipboard button in the dialog to copy the JSON structure:

      attachment

  • Return to the operation script mentioned above.

  • Paste the clipboard contents into the script, following this example—where the contents are pasted between the two single quotes—replacing the text <PASTE_JSON_HERE>_ with the clipboard contents:
$jitterbit.target.wave.json = '
<PASTE_JSON_HERE>
';
  • Replace any single backslashes in the JSON text with two backslashes. Backslashes in Jitterbit scripts must be escaped.
  • Replace or remove any spaces in all "Name" and "fullyQualifiedname" elements. For example, from above:

    "fullyQualifiedName": "Salesforce Wave Analytics Dataset"

    would become

    "fullyQualifiedName": "SalesforceWaveAnalyticsDataset"

  • Save the script and deploy the changes before running.