Build the Same Dataset with a Recipe
Build the Same Dataset with a Recipe
Let's build the exact same opportunities dataset — Opportunity + Account + User — but with a recipe this time. Recipes are the modern data-prep engine: drag-and-drop, visual, and far more flexible than a dataflow. The trade-off is that you own the relationships. Dataset Builder figured out the next object and the join keys for you; in a recipe you decide what joins to what, and how.
Start a new recipe
From Analytics Studio, Create → Dataset and pick from your datasets or sync objects — this opens a recipe in the Data Manager (Data Flows & Recipes → Recipes → new recipe).
In the recipe, Select Data shows everything available to you: datasets you've created, external sources, and the connected/sync objects from Salesforce. Grab the same three — Opportunity, Account, User.
Click Next and you land in the recipe canvas — your three objects sitting there, not connected. That's the core difference: in a recipe, connecting them is your job.
Join the objects
Grain rules still apply: Opportunity is the lowest level, so everything joins onto it.
- 1
Join Account onto Opportunity
Drag from the Opportunity node's plus onto Account. It becomes a Join node. The recipe correctly picks up Account ID = Account ID — verify it, then apply.
- 2
Join User onto Opportunity — watch the key
Add User to Opportunity (not to Account — the owner belongs to the opportunity). Here the recipe guesses wrong: it matches Opportunity ID to User ID. You want Owner ID → User ID. Fix the key by hand.
- 3
Apply each step
Recipes don't save as you go the way you might expect — click Apply at the bottom to commit each node before moving on.
OwnerId → User.Id, not Opportunity.Id → User.Id. You have to know your objects well enough to catch it. Dataset Builder would never have let you make this mistake — that's the safety you trade away for control.Control your columns
Recipes give you real control over the output columns:
- Join type — expand the join node to choose a lookup vs a full join. (We covered why that matters in the grain lesson; keep these as lookups here.)
- Prefixes — fields from Account come in as
Account.Name,Account.Industry, and so on. You can rename these prefixes so the final columns read the way you want. - Keep or drop — preview the incoming columns and hide the ones you don't need so they never reach the output. Trim
User.fields down to just the owner name and photo, for instance.
Add the output node
Here's the step people forget: nothing exists as a usable dataset until you add an output (register) node. The joins alone produce nothing you can put on a dashboard.
- 1
Add the output node
Click the plus after your last join and add an Output node. This is what actually materializes the dataset.
- 2
Name it deliberately
Give it a clear label (e.g. 'Opp Owner Acc — from recipe'). Labels can have spaces; the API name can't. Use a clean API name you can paste into bindings later.
- 3
Apply, then Save and Run
Apply the output node, then Save and Run the recipe. It executes and builds your dataset.
Same result, different engine
When it finishes, you have the same opportunities dataset — built by a recipe reading from the same synced objects, instead of by a dataflow. Two engines, one outcome.
Dataset Builder
Figures out relationships, keys, and hierarchy for you. Lookups only. Safest for beginners and quick baseline datasets.
Recipe
You choose objects, join types, and keys. Way more flexible and a friendlier UI — but you own the grain and the mistakes.
Which should you use? Honestly, it depends on your comfort and the job — a decision we'll unpack after one more, very common task: combining two datasets you've already built. That's next.
This is a members-only lesson
Sign in free to read the full lesson, track your progress, and take the quiz.
Sign in to continueDiscussion
No comments yet — be the first to start the discussion.
Run the Dataflow
Execute the default dataflow to build your dataset, monitor it in Data Manager, and fix the most common first-run error — objects that haven't been synced yet — by running Connect manually.
Combine Datasets
Use a recipe to join your Salesforce opportunities dataset with the external CSV amounts into one final, enriched dataset — the everyday move that blends internal and external data for dashboards and stories.