Monitor every job — live status, progress and throughput on one page
The Jobs report tells you, at any moment, whether your migration is running and how fast. It covers every job SMART Migration knows about — Discovery, Migration, Offload, Restore — and answers the operational question the Files report does not: “is everything running, and at what rate?”
ℹ Jobs report = job-level status and rate. Files report = per-file outcomes and reasons. They are built to be used together.
—-
Current state, not history
The report shows each job’s current state — one row per job, the latest snapshot. Everything that changes between runs (start, finish, result, message, file count, volume, issues) is overwritten each time the job runs, so what you see is always where this job stands now, not a run-by-run log.
—-
What it tells you
Three things, live, for whatever you have selected:
- Where the jobs stand — how many are running, ready, on hold or finished, and which hit an Error and need attention.
- How much has been done — files migrated, versions, volume and issue counts.
- How fast — the live throughput rate (below).
—-
Throughput — the live rate
Files/hour, versions/hour and MB/hour are calculated live. For each job the duration is start → finish, or start → now if it is still running; those durations are summed across the jobs in the current selection, and the totals are divided by that sum.
(Total Files) / SUM_OVER_JOBS( DATEDIFF(CurrentStartDate, COALESCE(CurrentFinishDate, NOW()), SECONDS) )
- Filter to one job, or one
Group, to see its rate in isolation. - Filter to Running to see your live rate right now.
⚠ Because a running job’s duration grows in real time, throughput drifts slightly between refreshes while jobs are in flight. That is expected, not a bug.
—-
Decompose and slice the job set
The Decomposition Tree works on jobs exactly as it does on files: put Total Jobs at the centre and break it down in any order — by CurrentResult (find the errors), then by Type (which job type fails most), then by volume or file-count bucket (are failures concentrated on the big jobs?). Power BI can suggest the next split.
There are slicers for everything you would filter by — status, result, job type, source and destination (and their types), Group, title, and the job’s folder path in Teams — and the whole page cross-filters from any selection. Jobs are also pre-bucketed by volume, file count and average versions per file, so you can read the shape of the workload — the deep-history libraries, the giant jobs — at a glance, without writing a query.
—-
A central hub for your jobs — straight into Teams
The jobs detail table holds a direct link to each job in Microsoft Teams (the c_JobItemLink column). One click on a row opens that job’s item in the Content Governance team, where it can be reviewed, edited, put on hold or re-run.
That makes the report more than a dashboard. For anyone who is a member of the team in Microsoft Teams, it is a central hub for the whole job set: you watch status and throughput in the report, spot the job that needs attention, and jump straight to it in Teams to act — without hunting for it by hand.
★ Status in one place, action one click away. The report shows what is happening; the link takes you to the job to do something about it.
—-
Daily monitoring — a 60-second check
- Open your saved
.pbix(or the.pbitthe first time) and hit Refresh. - Check the counts — anything On Hold, or Running that shouldn’t be?
- Check throughput — are files/hour and MB/hour roughly where they should be for this tenant?
- Set the Status slicer to Running — the per-job progress bar (completed vs remaining files) shows live progress; spot anything barely moving.
- Set CurrentResult to Error — the detail table lists the failing jobs.
—-
Investigating a failed job
When a job’s result is Error:
- Read the job’s message on its row in the detail table — the verbatim error text, usually enough to diagnose.
- Click the job’s Teams link on that row to open the job item and act on it (see A central hub for your jobs above).
- For per-file failure reasons — “which files in this job failed, and why?” — switch to the Files report and filter to that job.
—-
How the report file works — free, portable, yours
Power BI Desktop is free. The application that opens and refreshes the report is a free Microsoft product — no licence fee to view, refresh, customise or share it. Content Governance installs it automatically as part of setup, unless you opt out.
Template vs working file. The shipped .pbit is the empty template (structure only). The first time you load data into it, you save a working .pbix — structure plus an embedded snapshot of the data.
The data lives inside the .pbix. The report uses Power BI import mode, so a refresh stores a compressed copy of the data inside the file. It is self-contained: copy it to any machine with Power BI Desktop and it opens with no database, server or credentials, showing the jobs exactly as of the last refresh.
Refreshing. The model connects to the BI database (PostgreSQL or SQL Server) over an ODBC data source. Anyone who has that ODBC source configured can press Refresh for current data; anyone who does not simply keeps the embedded snapshot.
Publish or customise. It is an ordinary Power BI report. Publish it to the Power BI service (the portal) for browser-based sharing and scheduled refresh if the client has it, and edit it freely — rebrand, add or remove visuals, change measures.
ℹ The same Power BI architecture is covered in full, in a file-level context, in the Files report’s project record chapter.
—-
Share it as an operational snapshot
Because the data is frozen inside the .pbix, the Jobs report is an ideal status handover for managers, customers or auditors who only need to see the picture, not act on jobs: Refresh, then Save a copy of the .pbix, and send it to someone with no migration-server access and no database account. They open it in (free) Power BI Desktop and get the full interactive dashboard — KPIs, slicers, decomposition tree, the lot — with no infrastructure on their side.
—-
The “License Status” page
The template ships with a second page, License Status, that is intentionally empty for now — reserved for future licence-tracking content. Ignore it, hide it, or delete it from your .pbix; it affects nothing else.

