← back to writing
/ WORKDAY · HR ANALYTICS · GUIDE · 2026

Workday custom reports: a complete beginner's guide.

Six HR analytics reports — Headcount, Pipeline, Comp, DE&I, Recruitment, Productivity — built click-by-click for someone who has never opened Workday, then connected to Power BI.

03.06.26
· 35 min read
Workday HR Analytics Power BI

Most "Workday for analysts" guides assume you know which menu is which. This one doesn't. It walks a first-time user through building six HR analytics reports that feed a senior-partner dashboard — every click, every field name, every place to type. Roughly 30–40 hours of work spread over six to eight weeks.

The six reports we'll build:

  1. Headcount & Attrition — the foundation
  2. Talent Pipeline & Flight Risk — who's ready, who's leaving
  3. Compensation & Cost — the sensitive one
  4. Diversity, Equity & Inclusion — with cell suppression
  5. Recruitment & Onboarding — the pipeline
  6. Productivity (Worker Dimension) — for joining to billing in Power BI

Then we'll connect all six to Power BI through Workday's RaaS web service.

How to read this guide

Don't skip steps. Don't improvise. Workday rewards precision and punishes guessing.


Section 1 — Workday basics

1.1 Logging in

  1. Open Chrome or Edge.
  2. Go to your firm's Workday URL — something like https://www.myworkday.com/yourfirmname/d/home.htmld.
  3. Sign in with your firm credentials (usually single sign-on).
What you see

The Workday home page. Top banner: Workday logo on the left, a search bar in the middle, your profile photo or initials on the right.

1.2 The search bar is your most important tool

In Workday you rarely use menus. Almost every report, task, and screen is reached by typing its name into the search bar.

  1. Click into the search bar.
  2. Type a few letters. Workday shows suggestions as you type.
  3. Click the one you want.
Note

Suggestions are grouped — "Tasks and Reports," "People," "Organisations." Click "More Categories" at the bottom for the rest.

1.3 Terms you must know

1.4 The Related Actions menu

Almost every blue, underlined item in Workday has a hidden menu — the Related Actions menu, sometimes called the "twinkie."

  1. Hover over any blue item.
  2. A small three-dots-in-a-box icon appears to its right.
  3. Click it. A menu opens with options like Edit, Web Service, Schedule, Share.
Important

You'll use Related Actions constantly. Whenever a step says "open Related Actions on the report," this is what it means.


Section 2 — Confirm your security access

If you don't have access to a field, it won't appear when you build a report — and you won't be told why. Sort security first.

2.1 Check what you currently have

  1. Search "My Account" and open the report.
  2. Scroll to the "Workday Account" section. You'll see your Role-Based and User-Based Security Groups.
  3. Screenshot the list — you'll need it when asking the Workday Security Admin for missing access.

2.2 Domains you need

Ask the Workday Security Admin to confirm View access on each:

Important

If you don't have "Reports: Custom Reports," stop and get that access before going further. Nothing in this guide works without it.

2.3 Smoke test

  1. Search "Create Custom Report".
  2. If a form opens asking for Report Name and Report Type, you're good — click Cancel.
  3. If you see "You do not have access to this task," contact the Admin.

Section 3 — One-time setup

Do this section once. You'll reuse everything in it across all six reports.

3.1 Create the report folder

  1. Search "Create Custom Report Folder" and open the task.
  2. Folder Name: HR Analytics – Partner Dashboard.
  3. Click the orange OK, then Done.

3.2 Calculated fields you'll reuse everywhere

You'll build six. The pattern is the same every time: search "Create Calculated Field," pick a Function, fill the inputs, save.

CF_Tenure_Years

  1. Search "Create Calculated Field" → open it.
  2. Field Name: CF_Tenure_Years.
  3. Business Object: Worker.
  4. Function: Date Difference. Click OK.
  5. Start Date Field: Continuous Service Date (or Hire Date if your firm doesn't use CSD).
  6. End Date Field: Today.
  7. Output Format: Years. Click OK, then Done.

CF_Time_In_Role_Months

Same pattern. Field Name: CF_Time_In_Role_Months. Function: Date Difference. Start Date Field: Position Entry Date. End Date Field: Today. Output Format: Months.

CF_Class_Year

Used to group associates by hire-year cohort (Class of 2022, etc.).

  1. Field Name: CF_Class_Year.
  2. Business Object: Worker.
  3. Function: Date to Text. Click OK.
  4. Source Date Field: Hire Date.
  5. Format Pattern: yyyy (four lowercase y's).

CF_Level_Band

Maps each Job Profile to a standard level: Partner / Counsel / Senior Associate / Associate / Paralegal / Business Services.

  1. Field Name: CF_Level_Band.
  2. Function: Evaluate Expression. Click OK.
What you see

A grid with three columns: Order, Conditions, Return Value.

  1. Click the + on the left of the grid to add a row.
  2. Click into the Conditions cell. A condition builder opens.
  3. Source Field: Job Profile. Operator: in the selection list. Value: select every Job Profile that maps to Partner. Ctrl/Cmd-click for multiple.
  4. Return Value: Partner.
  5. Add a row for each remaining level. Each row maps a set of Job Profiles to its Return Value.
  6. Final row: Conditions = All Other Values, Return Value = Unmapped.
  7. Click OKDone.
Note

Order matters. Workday evaluates row 1 first. First match wins. Put the most specific rules at the top.

CF_Practice_Group

Pulls the Practice Group from the Worker's organisations. Assumes your firm has a custom org type called "Practice".

  1. Field Name: CF_Practice_Group.
  2. Function: Lookup Related Value. Click OK.
  3. Source Field: Organizations by Type for Worker.
  4. Organization Type: Practice (or whatever your firm calls it).
  5. Return Field: Organization Name.

CF_Regrettable_Flag

  1. Field Name: CF_Regrettable_Flag.
  2. Function: Evaluate Expression. Click OK.
  3. Row 1: Termination Reason in {Better Opportunity, Compensation, Relocation, Resignation – Voluntary} → Regrettable.
  4. Row 2: Termination Reason in {Performance, Misconduct, Reduction in Force, Retirement, Deceased} → Non-Regrettable.
  5. Row 3: All Other Values → Not Applicable.
Important

Your firm's exact Termination Reasons will differ. Run the "View Termination Reasons" report first, then map them with HR Leadership's input.


Section 4 — Report 1: Headcount & Attrition

The foundation of the partner dashboard. Headcount by Practice × Level, plus 12-month attrition.

4.1 Start the report

  1. Search "Create Custom Report" → open it.
What you see

A form with Report Name, Report Type, Data Source, Business Object, and a few checkboxes.

  1. Report Name: HR – Headcount and Attrition.
  2. Report Type: Advanced.
  3. Data Source: Workers as of Date.
  4. Business Object auto-fills to Worker — leave it.
  5. Check "Optimized for Performance".
  6. Check "Web Service Enabled" (required for Power BI).
  7. Click OK.
What you see

Report Writer with tabs across the top: Columns, Sort, Filter, Prompts, Output, Share, Advanced, Schedule, History.

4.2 Add columns

Click the Columns tab, then the + to add a row. Repeat for each:

Drag rows by the grid handle on the left to reorder.

Note

If a calc field doesn't appear in the Field picker, it was saved under a different Business Object, or you don't have the security domain it depends on.

4.3 Add the As-of-Date prompt

  1. Prompts tab → +.
  2. Field: Effective As Of Date (or "As Of Date" depending on tenant).
  3. Required: checked.
  4. Default Value: type Today and pick the Today function.

4.4 Add filters

  1. Filter tab → Filter Condition: And.
  2. + → Field: Active Status, Operator: equal to, Value: Yes.
  3. + → Field: Termination Date, Operator: greater than or equal to, Value: Today − 365.
  4. Group the two rows: (Active Status = Yes) OR (Termination Date ≥ Today − 365) using the parenthesis controls.

4.5 Add a Supervisory Org prompt

Back to Prompts+:

4.6 Test-run

  1. Click View (top-right) → Run.
  2. Leave As-of Date as Today; leave Sup Org blank → OK.
  3. Spot-check: pick a Partner you know — does their Level Band say Partner?

4.7 Build a Matrix version for Practice × Level

  1. Search "Create Custom Report".
  2. Report Name: HR – Headcount Matrix (Practice x Level).
  3. Report Type: Matrix.
  4. Same Data Source, Business Object, and checkboxes as 4.1.
  5. Row Grouping: CF_Practice_Group.
  6. Column Grouping: CF_Level_Band.
  7. Summarized Fields: Worker (Count Unique).
  8. Reuse the filters and prompts from 4.3–4.5.

4.8 Save into the folder

Open the report → Edit → scroll to Save in Folder → pick HR Analytics – Partner Dashboard.


Section 5 — Report 2: Talent Pipeline & Flight Risk

Who's ready for promotion. Who's quietly looking.

5.1 Create the report

  1. Search "Create Custom Report".
  2. Report Name: HR – Talent Pipeline and Flight Risk.
  3. Report Type: Advanced.
  4. Data Source: All Workers (real-time, slower).
  5. Business Object: Worker. Optimized for Performance + Web Service Enabled both checked.

5.2 Add columns

Worker, Employee ID, Job Profile, CF_Level_Band, CF_Practice_Group, CF_Class_Year, CF_Tenure_Years, CF_Time_In_Role_Months, Last Promotion Date, Most Recent Performance Review Rating, Manager, Compa-Ratio.

5.3 Build the flight-risk score

Three component calc fields, then sum them:

Then:

5.4 Filters and prompts


Section 6 — Report 3: Compensation & Cost

Important

This is the most sensitive report in the dashboard. Confirm with HR Leadership and Compliance who can see it before saving. Do not share with the broader analytics team.

6.1 Create the report

  1. Create Custom Report.
  2. Report Name: HR – Compensation and Cost (Restricted).
  3. Report Type: Advanced.
  4. Data Source: Workers with Compensation.
  5. Business Object: Worker. Both checkboxes checked.

6.2 Add columns

Worker, Employee ID, CF_Level_Band, CF_Practice_Group, Primary Work Location, Annualized Base Pay, Target Bonus Amount, Last Actual Bonus Amount, Total Annualized Allowance, Total Annualized Salary and Allowances, Compensation Grade, Compensation Grade Profile Midpoint, Compa-Ratio.

6.3 Fully-loaded cost calc field

Note

1.30 is a placeholder for benefits load. Get the real multiplier from Finance — it usually varies by country.

6.4 Filter, prompts, save

Filter: Active Status = Yes. Prompts: Supervisory Organization (optional, multi-select, include subordinates). Save to the folder.


Section 7 — Report 4: DE&I

Important

Personal data (gender, ethnicity) lives under separate privacy rules. Get written sign-off from Legal/Privacy before publishing. Always suppress cells with fewer than five people.

7.1 Representation snapshot

  1. Create Custom Report.
  2. Report Name: HR – DEI Representation by Level.
  3. Report Type: Matrix.
  4. Data Source: Workers as of Date.
  5. Row Grouping: CF_Level_Band.
  6. Column Grouping: Gender.
  7. Summarized Fields: Worker (Count Unique).

7.2 Add suppression logic

7.3 Duplicate for ethnicity

Open Related Actions on the report tile → Custom Report → Copy. Rename to HR – DEI Representation by Ethnicity. Change Column Grouping from Gender to Ethnicity.

7.4 Promotion and attrition rate


Section 8 — Report 5: Recruitment & Onboarding

8.1 Job requisition pipeline

  1. Create Custom Report.
  2. Report Name: HR – Recruitment Pipeline.
  3. Report Type: Advanced.
  4. Data Source: All Job Requisitions.
  5. Business Object: Job Requisition. Both checkboxes checked.

Columns: Job Requisition ID, Job Posting Title, Job Profile, Supervisory Organization, Primary Location, Recruiting Start Date, Target Hire Date, Filled Date, Status, Hiring Manager, Primary Recruiter, Number of Candidates, Number of Offers Extended, Number of Offers Accepted.

Calc field CF_Days_To_Fill: Date Difference between Recruiting Start Date and Filled Date in Days.

8.2 Source of hire

  1. Create Custom Report again.
  2. Report Name: HR – Source of Hire.
  3. Report Type: Matrix.
  4. Data Source: Candidates. Business Object: Candidate.
  5. Row Grouping: Source.
  6. Column Grouping: Candidate Stage.
  7. Summarize: Candidate ID (Count Unique).

Section 9 — Report 6: Productivity (Worker dimension)

Billable hours don't live in Workday — they're in Aderant, Elite 3E, or Intapp. This report just builds the Worker dimension you'll join in Power BI.

  1. Create Custom Report.
  2. Report Name: HR – Worker Dimension for Billing Join.
  3. Report Type: Advanced.
  4. Data Source: All Workers. Business Object: Worker. Both checkboxes checked.

Columns: Worker, Employee ID, CF_Level_Band, CF_Practice_Group, Primary Work Location, Standard Weekly Hours, Hire Date, Termination Date, Active Status, Manager.

Filter: Active Status = Yes OR Termination Date ≥ Today − 730 days.

Note

In Power BI, join this to the billing system's timekeeper table on Employee ID and calculate Utilisation and Realisation there.


Section 10 — Sharing reports

Reports are private by default. Until you share, only you can run them.

  1. Open the report. Hover the title → Related Actions.
  2. Custom Report → Share.
What you see

A Share screen with two options: "Share with specific authorized groups and users" and "Share with all authorized users."

  1. Pick "Share with specific authorized groups and users."
  2. Authorized Groups: add the security groups (e.g. "Partners," "HR Leadership").
  3. Authorized Users: named individuals (sparingly).
  4. OKDone.
Important

For Compensation and DE&I reports, never pick "Share with all authorized users." Limit to named groups only.


Section 11 — Scheduling

11.1 Schedule a PDF email

  1. Open the report. Related Actions → ScheduleSchedule a Report.
What you see

A wizard with steps: Schedule, Output, Notification, Filter, Prompts.

  1. Schedule: Recurrence (Weekly, Monday), Run Time (e.g. 06:00), Time Zone.
  2. Output: Format = PDF, Page Orientation = Landscape.
  3. Notification: add recipients. Check "Include link to the report."
  4. Prompts: fill in defaults.
  5. OK to save.

11.2 Verify it ran

Search "Process Monitor" or "My Scheduled Reports". Find your instance, check status.


Section 12 — Connect each report to Power BI

12.1 Get the OData URL

  1. Open the report. Hover title → Related Actions → Web Service → View URLs.
What you see

A page listing URL formats: WSDL, REST Workday XML, REST Workday JSON, Atom, RSS.

  1. Right-click REST Workday XML → Copy link address.

12.2 Create the Integration System User

Power BI should authenticate as a service account, not as you.

  1. Ask the Workday Admin to create an ISU, e.g. ISU_PBI_HR_Analytics.
  2. Have them assign it to a security group with the same domains you used.
  3. Have them share each report with that ISU's group.
  4. Receive the username and password via password manager.

12.3 Pull into Power BI Desktop

  1. Open Power BI Desktop.
  2. Get Data → OData feed.
  3. Paste the REST Workday XML URL → OK.
  4. Authentication: Basic. Enter ISU credentials → Connect.
  5. Navigator opens. Check the report → Load.
  6. Repeat for each of the six reports.

12.4 Refresh schedule in Power BI Service

  1. Publish to the Power BI Service.
  2. Dataset → Settings → Scheduled Refresh.
  3. Enter ISU credentials under Data Source Credentials.
  4. Schedule: Daily 5 AM for Headcount, Recruitment, Pipeline. Weekly for Comp. Monthly for DE&I.

Section 13 — Common problems

A field is missing from the Field picker. You don't have the security domain that owns it. Ask the Admin which domain owns the field and request access.

The report runs but returns zero rows. A filter is too restrictive. Temporarily delete all filters, run, then add them back one at a time.

The Web Service URL returns Access Denied. The ISU doesn't have the report shared with it, or doesn't have the right domains.

Calculated field doesn't appear in the picker. It was saved with the wrong Business Object.

Matrix cells say "Not Authorized." You're trying to summarise a field you can't read. Pick a different Summarise field.

The report runs too slow. Confirm Optimized for Performance is checked; switch to an indexed data source; add stricter filters early; remove unused calc fields; limit the Sup Org scope when testing.


Appendix A — Build order and effort

WeekTaskHoursRisk
1Sections 1–2: basics, security access4Low
2Section 3: folder + six calculated fields6Medium
3Section 4: Headcount & Attrition6Medium
4Section 8: Recruitment4Low
5Section 6: Compensation + Legal review6High
6Section 5: Talent Pipeline + Flight Risk8High
7Section 7: DE&I + Legal sign-off6High
8Sections 9 + 12: Worker dimension + Power BI6Medium

Appendix B — Where to click quick reference

I want to…Type this into the search bar
Build a new reportCreate Custom Report
Build a new calculated fieldCreate Calculated Field
Create a folder for reportsCreate Custom Report Folder
Edit an existing reportEdit Custom Report
Copy a reportCopy Custom Report
See reports I ownMy Reports
See fields on a Business ObjectView Business Object
Check my securityMy Account
Check what security a field needsView Security for Securable Item
Schedule a reportSchedule a Report
Check on scheduled reportsProcess Monitor
Get the Web Service URLOpen report → Related Actions → Web Service → View URLs
Share a reportOpen report → Related Actions → Custom Report → Share

Appendix C — Glossary

TermMeaning
Advanced ReportMost flexible report type. Default for full control.
Business ObjectThe "thing" the report is about.
Calculated FieldCustom field you define once, reuse anywhere.
Data SourcePre-built collection of records of a Business Object.
DomainSecurity bucket containing one or more fields.
Evaluate ExpressionCalc-field function that maps conditions to return values.
FilterRule that excludes records.
ISUIntegration System User — service account for Power BI etc.
Matrix ReportPivot-style report with Row, Column, Summarised fields.
PBOPrimary Business Object — the report's main object.
PromptQuestion the report asks when it runs.
RaaSReports as a Service — turning a report into a URL.
Related ActionsThe three-dot menu next to every blue item.
Sup OrgSupervisory Organisation.
Web Service EnabledCheckbox required for Power BI to pull the report.

That's the build. The six reports together give the partner one place to see the firm — headcount, who's leaving, who's ready to step up, what people cost, where the diversity funnel leaks, what's in the recruiting pipeline, and how productive everyone is. Done in order, six to eight weeks gets you there.

← All writing