A pipeline must run the same notebook for each of 20 tables. What do you use?
Why B is the answer
A ForEach activity with a parameterized notebook
A ForEach activity loops over the table list and passes each name to one parameterized notebook, so the logic lives in a single place.
In detail
- ForEach repeats an activity.
- A parameter passes each table name.
- Parameters avoid twenty near-identical notebooks.
Use case
An illustrative scenario, not a real incident.
Twenty tables need the same cleaning. One notebook takes a table name, and ForEach runs it for each table, so a fix lands in one place.
See it in different ways
flowchart LR A["Schedule or event trigger"] --> B["Pipeline"] B --> C["Copy activity"] C --> D["Notebook activity"] D --> E["Refresh or notify"]
mindmap
root((Fabric tools))
Pipeline
Copy
Schedule
ForEach
Notebook
Python
Complex logic
Dataflow Gen2
Low code
Triggers
Schedule
Eventflowchart LR S0["List of tables"] --> S1["ForEach activity"] --> S2["Notebook with a parameter"] --> S3["Each table done"]
Key point: Parameterize, then loop.
Why the other options are wrong
- A. A single dataflow with 20 manual steps
- Manual steps do not scale.
- C. 20 copies of the pipeline, one for each table
- 20 copies are hard to maintain.
- D. A shortcut for each of the 20 tables
- A shortcut does not run a notebook.

