Skip to content

07 · Reporting Basics

Every concept covered so far — organizations, workers, business processes, compensation — eventually gets consumed through a report. This module covers Workday's standard reporting model: what a standard report is, how to run and filter one, and why "as of" dating (previewed in Module 5) matters so much for accurate historical reporting.

Standard reports vs. custom reports

Workday ships with hundreds of standard reports — pre-built, pre-configured reports covering common needs (headcount, turnover, compensation review, org charts) that any tenant can use immediately without building anything. Custom reports, built with Workday's report writer (using calculated fields, covered starting in Level 2 Module 5), let an organization report on exactly its own data shapes and terminology.

This module is scoped to standard reports — running one, understanding its prompts, and filtering its output — since that's what the overwhelming majority of day-to-day Workday users (managers, HR partners) actually do. Building custom reports is a Level 2+ skill.

Report category Example standard reports
Headcount & organization Headcount, Organization Chart, Worker Directory
Staffing New Hires, Terminations, Transfers
Compensation Compensation Review, Total Rewards Statement
Time & absence Time Off Balance, Absence Summary

Running a standard report

The general pattern for running any standard report:

  1. Find it — type the report's name into global search (Module 2); Workday surfaces matching reports you have security access to run.
  2. Fill in prompts — most reports open a prompt screen asking for filter criteria before running: an organization, a date or "as of" date, a worker type, or a date range.
  3. Run — the report executes and returns a data grid (or, for some reports, a chart/summary view).
  4. Refine — most report outputs support additional in-grid filtering, sorting, and column selection without re-running the whole report from scratch.
  5. Export or share — most reports can be exported (commonly to Excel) for further analysis outside Workday.

"As of" dating — the concept that makes historical reporting correct

Because Workday preserves history rather than overwriting it (Module 3 and 5 both mentioned this), most organization- and worker-related reports accept an "As Of" date prompt. Running the same report with different "As Of" dates can produce genuinely different — and both correct — results:

Report As Of Jan 1 As Of Jul 1 (after a reorg)
Headcount by supervisory org Shows Jordan under "Distribution Center West" Shows Jordan under "Retail Operations — Store 118," reflecting the transfer from Module 5
Organization Chart Shows the pre-reorg management structure Shows the current structure

Getting "As Of" wrong is one of the most common real-world reporting mistakes: someone pulls a headcount report today intending to reconstruct what a department looked like six months ago, forgets to set the As Of date, and gets today's structure applied retroactively to historical counting — silently producing a wrong answer that looks plausible.

Filtering a report

Beyond the As Of date, most standard reports offer additional filter prompts, commonly:

Filter type Example
Organization Limit to "Distribution Center West" only, including or excluding sub-orgs
Worker type Employees only, or include contingent workers
Date range New hires between two dates, rather than a single as-of snapshot
Status Active workers only vs. include terminated

A well-formed report request states all four dimensions explicitly rather than accepting defaults blindly — "Active employees only, in Distribution Center West including sub-orgs, as of today" is a precise, reproducible request; "just run the headcount report" is not.

Worked example: answering a real question with a standard report

Meridian's VP of HR Operations asks: "How many people did Distribution Center West hire in Q1, and how does that compare to how many left?"

An HR analyst answers this with two standard reports, run carefully:

  1. New Hires report, filtered to Organization = "Distribution Center West" (including sub-orgs "Warehouse Operations" and "Inbound Logistics"), Date Range = Jan 1–Mar 31, Worker Type = Employee (the question is about hiring, not adding contingent workers). Result: 14 hires.
  2. Terminations report, same organization and sub-org scope, same date range, Status = both Voluntary and Involuntary included (the question asked "how many left," not "how many resigned"). Result: 9 terminations.
  3. The analyst reports back: "DC West hired 14 and lost 9 in Q1 — net headcount growth of +5, with a 61% hire-to-loss ratio." They also note the scope explicitly (which sub-orgs, which worker types, which date range) so the VP can trust the number without re-deriving it themselves.

Notice the analyst didn't just run "the headcount report" — they picked the two reports that actually answer the hiring vs. attrition question asked, and stated their filter choices out loud, which is the habit that separates a trustworthy report from a technically-correct-but-ambiguous one.

How It Actually Works

A Workday report — standard or custom — is not a query against a snapshot table refreshed on a schedule. It's a live traversal of the business object graph, executed against the effective-dated relationship records described in Modules 3, 5, and 6, at the exact instant the report runs and for the exact date you asked it to reconstruct.

"As Of" dating works because every relationship record carries its own effective-date range, and the report engine picks the record whose range covers the requested date. There is no single "current org" field anywhere to overwrite; a Worker's organization assignment is a series of time-bounded records, each valid from one effective date until superseded by the next. When you run Headcount by Supervisory Org "as of Jan 1," the engine doesn't roll anything back — it simply queries, for every worker, which assignment record's date range contains January 1st, and groups by that record's organization. Running the identical report "as of Jul 1" queries the same underlying records but a different point along each worker's timeline, which is exactly why the two runs can legitimately disagree without either being wrong — they're reconstructing two different true moments from the same append-only history.

Report prompts (organization, worker type, date range, status) are filters applied to the object-graph traversal, not separate report variants. A standard report's definition specifies which business object type it starts from (say, Worker) and which relationships it follows to assemble its output columns (organization, position, compensation). The prompts you fill in become constraints applied to that same traversal — "only follow this path for workers whose current organization-assignment record resolves to Distribution Center West or a descendant in the supervisory org tree" is what "Organization = DC West, including sub-orgs" compiles down to underneath. This is also why a forgotten filter produces a wrong-but-plausible answer rather than an error: leaving out the worker-type filter doesn't break the traversal, it just widens which Worker instances satisfy the query, silently including contingent workers whose relationships happen to structurally qualify.

Custom reports (Level 2+) use the identical traversal engine — they just let you choose the starting object type and the relationship paths yourself, via calculated fields, instead of relying on a pre-built definition. Understanding standard reports as "someone already chose a starting object and a set of relationship paths for you" is what makes custom report building in Level 2 feel like an extension of this module rather than an entirely new skill.

Cheat sheet

Term One-line definition
Standard report A pre-built report available out of the box
Custom report A tenant-built report using the report writer (Level 2+)
As Of date The point in time a report reconstructs organizational/worker state for
Prompt A filter input requested before a report runs
Export Sending report output (typically to Excel) for further analysis

Exercise

Using the four filter dimensions from this module (organization, worker type, date range, status), write out the exact filter values you'd use to answer this question: "How many involuntary terminations happened in Meridian's Retail Operations (West Region) in the last 12 months, employees only?" Then write one sentence describing what would go wrong with the answer if the analyst forgot to exclude contingent workers, and one sentence describing what would go wrong if they forgot to restrict to involuntary only.