Data Preparation
Use this guide to work with datasets and recipes in Data Manager.
Datasets
What a Dataset Is
In Salesforce CRM Analytics, a dataset is a collection of related data that can be viewed in tabular format. Data can come from:
- Salesforce objects (including Cloudaware‑managed objects and CMDB data).
- External data sources (for example, BigQuery exports).
- Other datasets combined via recipes.
Datasets are the primary building blocks for lenses and dashboards.
Where to View Datasets
You can view datasets in two main places:
- Data Manager → Data Assets – the administrator view across all datasets, with metadata such as last refresh, row counts, and owning recipe/dataflow.
- Analytics Studio → Browse → Datasets – the same datasets as seen by end users in Analytics Studio.
Datasets are stored in apps:
- To hide a dataset from other users, save it in the Private App.
- To make a dataset broadly visible, save it in the Shared App or a dedicated app (for example, CMDB, Cost Management, Security).
Analytics apps control access for users, groups, and roles via Viewer, Editor, and Manager levels. You can also apply security predicates on a dataset to enforce row‑level access control. Always verify which app a dataset is stored in: if a dataset lives in a Private App but is used by a shared dashboard or lens, end users may see access errors.
Create a Dataset
You can create new datasets in two main ways:
-
New dataset in Data Manager
- From Data Assets, click New Dataset.
- Use this for simple, manually managed tables that are uploaded or edited occasionally and do not require automatic refresh.
-
Dataset via recipe
- Use recipes to combine multiple data sources, apply filters and transformations, and write the result into a dataset.
- This is the recommended approach for Advanced Analytics subject areas, because recipes can be scheduled, versioned, and monitored like other ingestion jobs.
Check Dataset Details
To review or troubleshoot a dataset from Data Assets:
- Click the dropdown arrow next to the dataset.
- Select Edit (or open the dataset details panel).
Key fields to check:
- Dataset Label – human‑readable name shown in the UI.
- API Name – stable identifier used by dashboards, lenses, and recipes.
- Usage – where the dataset is referenced (dashboards, lenses, recipes).
- Security Predicate – row‑level filter, if configured.
Changing the Dataset Label does not change the API Name. If you change the API Name, CRM Analytics treats it as a different dataset, and dependent dashboards or lenses may break until they are updated.
Before deleting a dataset, review Usage and remove or update any dashboards, lenses, or recipes that depend on it.
For more details, see also Salesforce documentation on how to Manage Datasets
Recipes
What a Recipe Is
A recipe is a saved set of transformation steps that you apply to one or more input sources. Use recipes to:
- Combine data from multiple datasets or connected objects.
- Bucket values and add calculated (formula) fields.
- Standardize and cleanse data (for example, fix labels, map IDs, align timestamps or units).
- Remove unnecessary fields and filter out irrelevant rows.
Recipes run in Data Manager and write their results into CRM Analytics datasets used by Advanced Analytics dashboards and lenses.
Create a Recipe
To create a new recipe:
- Open Data Manager.
- In the left navigation, select Recipes.
- Click New Recipe in the upper‑right corner.
- Add input nodes for the data you want to transform:
- Salesforce objects (including Cloudaware CMDB objects).
- Existing datasets.
- Externally connected objects (for example, a connected BigQuery view).
Each input becomes a node in your recipe graph that you can connect to other nodes for joins, filters, and transformations.
Recipe Nodes
Recipes support several node types. To add a node, click + from an existing node or between two nodes in the recipe canvas.
Join
Use a Join node to enrich data by adding columns from a second data source based on shared key fields (for example, Account ID).
Examples:
- Join AWS EC2 instances to AWS accounts using the Account record ID.
- Join CMDB CIs to ownership or cost‑center tables by application or tag keys.
Naming convention for joined columns:
- Use a meaningful API prefix for right‑side columns.
- Base the prefix on the API name of the joined object:
- Remove the Cloudaware prefix such as
CA10__. - Remove the
__csuffix. - Use the remaining name as the prefix.
- Remove the Cloudaware prefix such as
For example, when joining CA10__CaAwsAccount__c, use AwsAccount as the prefix.
Join types include Lookup, Left/Right, Inner, and Outer. Lookup is selected by default and is suitable for most enrichment use cases.
Append
Use Append to add rows from another dataset or connected object to your current stream.
- Fields with the same name and compatible types are mapped automatically; you can also map fields manually.
- Common use case: append different cloud resource types into a single multi‑resource dataset for cross‑cloud analysis.
Update
Use an Update node to replace or update column values in a primary dataset using data from another source, matched on a key pair.
Example:
- Match on Account ID to update Account Name or owner fields based on a reference table.
Transform
The Transform node lets you manipulate, clean, and structure data before it is loaded into a dataset. Within a single Transform node, you can perform multiple actions in sequence, such as:
- Formula calculations (EA‑SQL expressions).
- Bucketing.
- Date/time normalization.
- Data type conversions.
Use Transform nodes to implement most field‑level logic so that datasets are analytics‑ready and consistent across dashboards.
Filter
Use a Filter node to remove unnecessary rows from your dataset to:
- Reduce dataset size and improve performance.
- Focus dashboards on relevant scopes (for example, active records only).
When a Filter node is placed immediately after an input node, it acts as a source‑level filter and reduces the volume of data loaded into the recipe. A common pattern is to filter out deleted or decommissioned records.
Aggregate
The Aggregate node rolls up granular data into summarized metrics (for example, sum, average, count) grouped by selected dimensions.
Examples:
- Total cost per application and month.
- Number of active users per team.
- Count of incidents per service and severity.
Use Aggregate before snapshotting or exporting data for long‑term trend analysis to keep row counts manageable.
Output
The Output node defines where the final transformed data is stored. A recipe can contain multiple Output nodes, allowing you to:
- Write results to multiple datasets.
- Produce both detailed and aggregated datasets from the same recipe.
Always:
- Give each output dataset a meaningful label and API name.
- Save the dataset in the appropriate app (for example, CMDB, Cost Management, Security) so dashboards and users can find it easily.
Scheduling Recipes
After a recipe is tested and saved, schedule it so that datasets stay up to date:
- In Data Manager → Recipes, find your recipe.
- Click the dropdown arrow next to the recipe.
- Select Schedule.
- Choose a schedule:
- Time‑based (for example, hourly, daily, weekly).
- Event‑based, if available in your org.
Without a schedule, the dataset will not refresh automatically and dashboards may show stale data. Coordinate schedules with upstream data arrival times and downstream reporting needs.
For more details, refer to Salesforce CRM Analytics documentation on how to Add More Data in a Recipe and Manage Recipes.