Report Builder Recipes and Deployment
Designed reports and reusable views move between sites with a deployment plan and a recipe step.
Export with a deployment plan
Add the Designed Reports and Views step to a deployment plan. With Include all reports and views on (the default), it exports every designed report and view, including the ones created after the plan. Turn it off to pick the reports and views to export: the views the picked reports and views read are exported with them, so they run on the other site.
Each item is written with its owner's user name, and share links are never exported. A plan saved before reports could be picked keeps exporting all of them.
Import with the ReportDesigns recipe step
The ReportDesigns recipe step imports them: views first, then reports. Items are matched by itemId and replaced, or created with that id, and the owner is matched by OwnerUserName when a user with that name exists. An item without a valid itemId or a title is reported as a recipe error. Designs are not checked against the target site's data sources on import.
{
"steps": [
{
"name": "ReportDesigns",
"Views": [
{
"itemId": "4z1f5b0c6t0m9z2k8w3d7r5q1v",
"displayText": "Revenue by region",
"query": { "dataSets": [], "columns": [] },
"OwnerUserName": "admin"
}
],
"Reports": [
{
"itemId": "4z1f5b0c6t0m9z2k8w3d7r5q1r",
"displayText": "Top customers",
"category": "Sales",
"showInAdminMenu": true,
"query": { "dataSets": [], "columns": [] },
"visuals": [],
"sharedRoles": [ "Sales" ],
"OwnerUserName": "admin"
}
]
}
]
}
Enum values are written by name (for example "aggregate": "Sum" or "type": "Chart"). Export a plan from a site where the report works to get the full query shape.
Importing a view whose query changed, or that is live, drops its stored rows, so a scheduled view runs live until its next refresh (see Scheduled views). A design that references a data source or data set the target site does not have imports, but reports the problem when it runs; enable the same features on both sites.