Tag: workday report optimization

  • Workday Report Naming Conventions

    Last month, I was troubleshooting what seemed like a simple issue for a client.

    Their HR Director needed the Monthly Turnover Analysis—a report she’d been using reliably for six months to present workforce trends to the executive team.

    She couldn’t find it.

    We opened the Report Writer. We searched “turnover.” We searched “termination.” We searched “attrition.”

    Thirty minutes later, we’d found six different reports:

    • Turnover_Report_New
    • Turnover_Final
    • Employee_Turnover_v2
    • Monthly_Attrition_COPY
    • Terminations_Report_Final_FINAL
    • HR_Report_Dec_v3

    All six did roughly the same thing—pulled termination data by department and calculated monthly rates.

    None of them had clear names. None of them listed an owner. Three were duplicates with slightly different date filters. Two hadn’t been run in over 90 days.

    The one she actually needed? Terminations_Report_Final_FINAL.

    We only found it by opening every single report and checking the filters until we recognized the specific business logic she’d requested six months earlier.

    That’s when I understood something critical: Poor report naming conventions aren’t just an annoyance. They’re a hidden productivity tax your organization pays every single day—and most leaders have no idea it’s happening.

    The Hidden Cost of Bad Report Names

    When your Workday tenant is filled with reports named like:

    • Report_Test_2
    • New_Report_Copy
    • Benefits_Final_v3
    • JSmith_Report_Dec2024
    • Custom_Report_FINAL
    • Employee_Data_New_v4

    You’re not creating minor inconveniences. You’re creating systemic organizational drag that compounds over time.

    1. Search Paralysis: The 5-Minute Tax

    Users spend an average of 5-10 minutes searching for the right report instead of finding it in 10 seconds.

    Let’s do the math:

    • 50 users searching for reports each week
    • Average 5 minutes wasted per search
    • 250 minutes per week = 4.2 hours
    • 52 weeks per year = 218 hours annually
    • At $50/hour average loaded cost = $10,900 in wasted labor

    And that’s a conservative estimate for a mid-sized organization. Enterprise organizations with hundreds of report users can easily lose 1,000+ hours annually just to search friction.

    2. Duplicate Work: The Multiplication Problem

    When people can’t find the report they need, they do one of three things:

    1. Create a new report from scratch
    2. Copy an existing report and modify it
    3. Ask someone else to build it for them

    All three options create duplicates.

    Six months later, your Workday admin needs to update the compensation calculation logic to reflect a new bonus structure.

    Which of the twelve “Compensation Report” variants need updating?

    • Compensation_Analysis
    • Comp_Report_Final
    • Employee_Compensation_v2
    • Salary_Data_2024
    • Pay_Report_New
    • Compensation_JSmith_Copy
    • Total_Comp_FINAL
    • Base_and_Bonus_Report
    • Comp_Report_COPY_v3
    • Employee_Pay_Analysis
    • Compensation_Data_Dec
    • Salary_Report_Final_v2

    All of them? Some of them? None of them?

    Without clear naming conventions and ownership tracking, you won’t know until you open each one individually.

    And if you guess wrong, someone’s compensation analysis will have incorrect data—potentially leading to bad business decisions about merit increases, equity adjustments, or market competitiveness.

    3. Maintenance Nightmares: The Debt That Never Gets Paid

    Technical debt in software development is well understood. Configuration debt in enterprise systems is less discussed but equally destructive.

    Every poorly named report is configuration debt.

    When reports are named vaguely:

    • Nobody knows what they do without opening them
    • Nobody knows who owns them
    • Nobody knows if they’re still being used
    • Nobody dares delete them (what if someone needs it?)

    The result? Report portfolios that grow indefinitely.

    I’ve worked with organizations that have:

    • 500+ custom reports (30% unused for over a year)
    • 75+ reports with “Final” in the name
    • 50+ reports with “Copy” in the name
    • 40+ reports with creator names (who left the company years ago)
    • 25+ reports with “Test” in the name (still in production)

    Every one of these represents work that should have been consolidated, archived, or deleted—but wasn’t, because nobody could confidently assess whether it was still needed.

    4. Security Risks: The Audit You Can’t Pass

    Compliance and security audits require you to demonstrate who has access to what data.

    In Workday, this means reviewing report security and identifying which reports access sensitive data categories like:

    • Compensation and salary information
    • Social Security Numbers or National IDs
    • Performance ratings
    • Disciplinary actions
    • Medical or health information
    • Banking and payment details

    When your reports are named “Report_Final_v3” or “Custom_Report_2024,” how do you identify which ones contain sensitive data?

    You can’t—not without opening every single report and reviewing the data sources, fields, and filters manually.

    During an audit, you’re asked: “Provide a list of all reports that access employee salary information and identify everyone with access to run them.”

    With poor naming conventions, that’s a multi-day project involving your entire Workday admin team.

    With good naming conventions, it’s a 15-minute task with a filtered search.

    5. Compliance Failures: The Risk Hiding in Plain Sight

    Beyond audit readiness, unclear report naming creates real compliance exposure.

    Scenario: Your organization operates in multiple countries with different data privacy requirements (GDPR in Europe, CCPA in California, local regulations in APAC).

    You need to ensure European employee data doesn’t flow into reports accessible to US-based managers without proper data processing agreements in place.

    But when your reports are named:

    • Employee_Report_v2
    • HR_Data_Final
    • Worker_Information_Copy
    • Personnel_Report_New

    How do you identify which reports pull European employee data? Which reports are geography-specific vs. global?

    You can’t know from the name alone.

    The result? Potential data privacy violations that expose your organization to regulatory fines, legal liability, and reputational damage.

    All because you didn’t have clear, enforced report naming conventions.

    What Makes a Good Report Name?

    A well-constructed report name answers three critical questions instantly—without requiring you to open the report:

    1. What does this report show?

    Not “Benefits Report” (which benefits? elections? costs? eligibility?).

    But “Employee Pre-Tax Benefits Deductions YTD”.

    2. Who is this report for?

    Not “Payroll_Data” (for payroll processing? reconciliation? audit?).

    But “Finance Monthly Payroll Reconciliation by Cost Center”.

    3. Is this report still relevant?

    Not “Report_Q4” (which year? which quarter? for what purpose?).

    But “2024 Q4 Bonus Eligibility Analysis – Temporary”.

    Good report names are:

    Specific, not generic
    “Active Employees by Department and Location” tells you exactly what’s inside. “Employee Report” tells you almost nothing.

    Readable, not cryptic
    “Employee HSA Eligibility for Non-Exempt Workers” is immediately clear. “EE_HSA_Elig_FLSA_NE” requires a decoder ring.

    Searchable, not obscure
    Use the terms your users actually search for. If everyone calls it “turnover,” don’t name it “attrition” or “separations”.

    Organized, not random
    Following a consistent structure means users learn your naming pattern once and can navigate efficiently forever.

    The Framework: Building Your Naming Convention

    After implementing report governance across dozens of Workday tenants, here’s the structure that works:

    [Prefix] – [Functional Area] – [Specific Purpose] – [Suffix]

    This four-part structure provides clarity, organization, and scalability. Let’s break down each component.

    Part 1: Prefix (Optional but Powerful)

    Prefixes help you instantly identify report type, ownership, or geographic scope.

    When to Use Prefixes

    Global Organizations
    If you operate in multiple countries or regions, geographic prefixes prevent confusion about data scope:

    • US = United States only
    • UK = United Kingdom only
    • APAC = Asia-Pacific region
    • EMEA = Europe, Middle East, Africa
    • GLOBAL = All geographies

    Example: US-HR-Compensation-Annual Merit Increases by Job Profile

    This immediately signals that the report contains only US employee data—critical for data privacy compliance and preventing inappropriate cross-border data access.

    Large Teams with Distributed Report Creation
    If multiple departments create their own reports, functional prefixes establish ownership:

    • HR = Human Resources owned
    • FIN = Finance owned
    • IT = Information Technology owned
    • OPS = Operations owned

    Example: FIN-Payroll-Monthly Tax Withholding by State-Scheduled

    This clarifies that Finance owns this report, meaning Finance is responsible for maintenance, security, and updates.

    Custom vs. Standard Report Identification
    If you want to distinguish custom reports from Workday-delivered standard reports:

    • CR = Custom Report
    • STD = Standard (Workday-delivered, modified)

    Example: CR-Benefits-HSA Election Changes Current Year

    This signals that it’s a fully custom build, not a modified standard report, which impacts how you approach updates during Workday releases.

    Temporary Report Flagging
    For reports with limited lifespans:

    • TEMP = Temporary (delete after specific event/date)

    Example: TEMP-HR-2024 Annual Review Campaign Status

    This prevents your tenant from becoming a graveyard of one-time reports nobody dares delete.

    How to Structure Multi-Part Prefixes

    If you need multiple prefix elements, use consistent ordering:

    Format: [Report Type]-[Geography]-[Function]-[Content]

    Examples:

    • CR-US-HR-Compensation Analysis
    • CR-UK-FIN-Payroll Reconciliation
    • TEMP-GLOBAL-IT-Security Audit

    Keep prefixes short (2-6 characters each) and separate with hyphens for visual clarity.

    Part 2: Functional Area (Required)

    The business domain or process this report supports.

    This is the most important search term users will look for. “I need a compensation report” or “I need a recruiting report” is how people think.

    Standard Functional Areas

    Human Resources:

    • Compensation
    • Benefits
    • Recruiting / Talent Acquisition
    • Onboarding
    • Performance Management
    • Succession Planning
    • Learning & Development
    • Employee Relations
    • Workforce Planning
    • Time Tracking / Time & Attendance
    • Absence Management
    • Offboarding / Terminations

    Finance:

    • Payroll
    • Accounts Payable
    • Accounts Receivable
    • General Ledger
    • Budgeting
    • Financial Planning
    • Expense Management
    • Revenue Recognition
    • Asset Management

    Operations:

    • Procurement
    • Supplier Management
    • Inventory
    • Project Accounting

    IT & Security:

    • Security Audit
    • Access Management
    • Integration Monitoring
    • System Administration

    Choose terms that match how your organization talks about these functions. If everyone calls it “Talent Acquisition,” don’t use “Recruiting” in your report names.

    Why Functional Area Comes Second (After Prefix)

    When users search for reports, they search by function first, then narrow down by specific purpose.

    Search pattern: “compensation” → scan results → “annual merit increases”

    Report name: CR-US-Compensation-Annual Merit Increases by Job Profile

    The functional area appears early in the name, making it easy to spot in search results.


    Part 3: Specific Purpose (Required)

    The precise business question this report answers.

    This is where most report names fail. Generic descriptions don’t help users identify the right report.

    Bad vs. Good Examples

    Bad: “Employee Report”

    • Which employees? Active? All? Terminated?
    • What information? Contact details? Compensation? Performance?
    • For what purpose? Audit? Headcount? Directory?

    Good: “Active Employees by Department and Location as of Today”

    • Population: Active employees only
    • Grouping: By department and location
    • Timing: Current/as of today

    Bad: “Benefits Report”

    • Which benefits? Medical? All benefits? Retirement?
    • What aspect? Elections? Costs? Eligibility?
    • What time period? Current? Annual? Historical?

    Good: “Employee Medical Plan Elections by Coverage Tier”

    • Benefit type: Medical plans specifically
    • Information: Elections (who chose what)
    • Breakdown: By coverage tier (employee only, employee + spouse, family)

    Bad: “Turnover_Data”

    • Voluntary or involuntary terminations?
    • What time period?
    • What breakdown? Department? Location? Reason?

    Good: “Monthly Voluntary Terminations by Manager with Reason Codes”

    • Type: Voluntary only (not involuntary)
    • Frequency: Monthly
    • Breakdown: By manager
    • Additional detail: Includes reason codes

    Bad: “Compensation_JSmith_Copy”

    • What compensation information?
    • Why does JSmith’s name matter? (Spoiler: it doesn’t, and JSmith left the company 2 years ago)
    • Why is this a copy? Copy of what?

    Good: “Base Salary Changes Last 12 Months by Job Family”

    • Compensation type: Base salary (not bonus, not equity)
    • Scope: Changes only (not current state)
    • Time period: Last 12 months
    • Breakdown: By job family

    How to Write Specific Purpose Descriptions

    Use this formula:

    [Data Type] + [Qualifier/Filter] + [Grouping/Breakdown] + [Time Period]

    Examples:

    Data Type: Active Employees
    Qualifier: With Dependents
    Grouping: By Benefits Eligibility Status
    Time Period: Current
    Result: “Active Employees with Dependents by Benefits Eligibility Status”

    Data Type: Open Requisitions
    Qualifier: Aging Over 60 Days
    Grouping: By Department and Hiring Manager
    Time Period: As of Today
    Result: “Open Requisitions Aging Over 60 Days by Department and Hiring Manager”

    Data Type: Performance Ratings
    Qualifier: Ratings of 4 or Higher
    Grouping: By Manager and Job Profile
    Time Period: 2024 Annual Review Cycle
    Result: “Performance Ratings 4+ by Manager and Job Profile – 2024 Annual Review”

    Be specific enough that a new user unfamiliar with your reports can understand exactly what’s inside without opening it.

    Indicates status, time period, or special handling.

    Suffixes provide critical context about how the report should be used or handled.

    Common Suffix Types

    Status Indicators:

    • Temporary = Delete after specific date/event
    • DRAFT = Under development, not for production use
    • ARCHIVED = Historical, no longer maintained
    • DEPRECATED = Being phased out, use alternative report

    Delivery Method:

    • Scheduled = Automated delivery on recurring schedule
    • On-Demand = User-initiated only
    • Subscription = Users can subscribe for automatic delivery

    Audience Indicators:

    • Executive = Restricted to executive leadership
    • Manager Self-Service = Available to all people managers
    • Public = Available to all employees

    Time Period:

    • 2024 Q4 = Time-specific report
    • Annual = Used once per year for annual process
    • Historical = Historical analysis, not current data

    Suffix Examples in Context

    CR-HR-2024 Annual Review Campaign Status-Temporary
    Signals this report tracks a specific 2024 campaign and should be deleted after the campaign concludes.

    CR-Payroll-Bi-Weekly Payroll Register by Cost Center-Scheduled
    Indicates this report runs automatically on a schedule, so users should expect to receive it without requesting.

    CR-Compensation-Executive Compensation Summary-Executive
    Clarifies this report contains sensitive data restricted to executive access only.

    CR-Benefits-Medical Plan Costs 2020-2023-Historical
    Shows this is a historical analysis report, not current-year data, preventing users from making decisions based on outdated information.

    Real-World Transformation Examples

    Let’s look at how actual problematic report names transform using this framework.

    Example 1: Compensation Report

    Before: Report_Final_v3

    Problems:

    • What does this report show? Unknown
    • Who is it for? Unknown
    • What does “Final” mean? Final version? Final calculation? Final year?
    • What’s “v3”? Version 3? Is there a v4?

    After: CR-US-Compensation-Base Salary Changes YTD by Job Profile

    Benefits:

    • Immediately clear it’s a custom report (CR)
    • Geographic scope defined (US)
    • Functional area identified (Compensation)
    • Specific content described (Base Salary Changes)
    • Time period specified (YTD)
    • Breakdown clarified (by Job Profile)

    Example 2: Benefits Report

    Before: Compensation_JSmith_Copy

    Problems:

    • Is this compensation or benefits? (Probably benefits despite the name)
    • Why is JSmith’s name in the report? (JSmith left the company 18 months ago)
    • It’s a copy… of what? Why?
    • What does it actually show?

    After: CR-Benefits-Active Employee Medical Elections by Plan and Coverage Tier

    Benefits:

    • Functional area correctly identified (Benefits)
    • Population specified (Active Employees)
    • Benefit type clarified (Medical)
    • Data type defined (Elections, not costs or eligibility)
    • Breakdown described (by Plan and Coverage Tier)
    • No personal names (ownership tracked in metadata, not report name)

    Example 3: Turnover Report

    Before: Benefits_New_Dec

    Problems:

    • This name suggests it’s about benefits, but it’s actually a turnover report
    • What does “New” mean? New hires? New report? New calculation?
    • “Dec” could mean December… but which year? 2022? 2023? 2024?

    After: HR-Recruiting-Monthly Voluntary Terminations by Department-Scheduled

    Benefits:

    • Functional area correctly identified (Recruiting, not Benefits)
    • Frequency specified (Monthly)
    • Type clarified (Voluntary Terminations only)
    • Breakdown defined (by Department)
    • Delivery method indicated (Scheduled, so users know to expect it automatically)

    Example 4: Payroll Report

    Before: Turnover_FINAL

    Problems:

    • Extremely generic name
    • “FINAL” suggests there were other versions… where are they?
    • No indication of content, time period, or purpose

    After: CR-Payroll-Bi-Weekly Payroll Register by Cost Center and Worker Type

    Benefits:

    • Functional area identified (Payroll)
    • Frequency clear (Bi-Weekly, aligning with payroll schedule)
    • Report type specified (Payroll Register)
    • Two-dimensional breakdown (Cost Center AND Worker Type)
    • Searchable by people looking for “payroll register” or “cost center”

    Example 5: HR Analytics Report

    Before: HR_Report_Dec_v3

    Problems:

    • “HR_Report” could be anything HR-related (compensation? headcount? performance?)
    • “Dec” = December… of which year?
    • “v3” = Is there a v4? Is this the current version?

    After: CR-HR-Headcount by Department Location and Employment Type-2024 Q4

    Benefits:

    • Specific data type (Headcount)
    • Three-dimensional breakdown (Department, Location, Employment Type)
    • Time period explicitly stated (2024 Q4)
    • No version numbers (Workday tracks report change history automatically)

    Implementation Best Practices

    A naming convention only creates value if people actually use it. Here’s how to make your standards stick.

    Rule 1: Write for End Users, Not Report Writers

    Your report names should make sense to people who didn’t build the reports.

    Bad Example: EE_HSA_Elig_FLSA_NE_CY

    What does this mean?

    • EE = Employees (but new users won’t know this)
    • HSA = Health Savings Account (okay, this one’s pretty standard)
    • Elig = Eligibility (abbreviation)
    • FLSA = Fair Labor Standards Act (requires HR knowledge)
    • NE = Non-Exempt (not immediately obvious)
    • CY = Current Year (could also mean Calendar Year)

    A new HR coordinator asked to run this report would have no idea what it contains.

    Good Example: Employee HSA Eligibility for Non-Exempt Workers – Current Year

    Everything spelled out. Immediately clear to anyone, regardless of Workday experience or tenure.

    The Acronym Test

    Only use acronyms that are:

    1. Universally recognized in your industry (YTD, FLSA, FMLA, PTO, HSA, 401k)
    2. Part of your organization’s standard vocabulary
    3. Would be understood by a new employee within their first month

    When in doubt, spell it out. Workday doesn’t restrict report name length, so use the extra characters.

    Rule 2: Use Title Case, Not ALL CAPS or lowercase

    Title case is significantly easier to scan in long lists.

    Hard to Read:

    • EMPLOYEE COMPENSATION BY DEPARTMENT AND LOCATION WITH BONUS ELIGIBILITY STATUS
    • employee compensation by department and location with bonus eligibility status
    • Employee_Compensation_By_Department_And_Location_With_Bonus_Eligibility_Status

    Easy to Read:

    • Employee Compensation by Department and Location with Bonus Eligibility Status

    Your users are scanning through dozens or hundreds of report names. Reduce their cognitive load by making names easy to visually parse.

    The 3-Second Rule

    A user should be able to read and comprehend your report name in 3 seconds or less. Title case helps achieve this.

    Rule 3: Standardize Separator Usage

    Choose your separators and use them consistently.

    Recommended Structure:

    • Use hyphens (-) to separate major sections (Prefix – Functional Area – Purpose – Suffix)
    • Use spaces within each section
    • Avoid underscores (_) which make text harder to read

    Good:

    • CR-US-HR-Compensation Analysis by Job Profile-2024
    • CR-Benefits-Medical Plan Elections by Coverage Tier
    • TEMP-Payroll-Tax Withholding Reconciliation-Delete Jan 15

    Bad:

    • CR_US_HR_Compensation_Analysis_by_Job_Profile_2024 (underscores reduce readability)
    • CR-US-HR-Compensation-Analysis-by-Job-Profile-2024 (too many hyphens blur section boundaries)
    • CR US HR Compensation Analysis by Job Profile 2024 (no clear section separation)

    Rule 4: Standardize Prefix Length for Visual Alignment

    If you’re using prefixes, keep them consistent length so report names align visually in search results.

    Good Visual Alignment:

    CR-HR-Compensation Analysis by Job Profile
    CR-HR-Benefits Elections by Coverage Type
    CR-HR-Performance Ratings by Manager
    CR-FN-Payroll Register by Cost Center
    CR-FN-Budget Variance by Department
    CR-FN-Expense Analysis by Category

    The consistent “CR-XX-” prefix creates visual alignment, making it easier to scan and group related reports.

    Poor Visual Alignment:

    C-HR-Compensation Analysis by Job Profile
    CUSTOM-HR-Benefits Elections by Coverage Type
    CR-HR-Performance Ratings by Manager
    CUSTOMRPT-FN-Payroll Register by Cost Center
    FIN-Budget Variance by Department
    CR-FINANCE-Expense Analysis by Category

    Inconsistent prefix lengths create visual noise and make scanning harder.

    Rule 5: Mark Temporary Reports Explicitly

    If a report won’t be evergreen, add “Temporary” or “TEMP” to the name and document the deletion date.

    Examples:

    • CR-HR-2024 Annual Review Campaign Status-Temporary (delete after Feb 28, 2025)
    • TEMP-Finance-Q4 2024 Bonus Processing-Delete After Jan 15, 2025
    • CR-IT-Migration Validation Report-Temporary (delete after go-live)

    This accomplishes three things:

    1. Prevents zombie reports: Everyone knows this report has a limited lifespan
    2. Enables confident deletion: When the date arrives, admins can delete without fear
    3. Reduces clutter: Temporary reports don’t pollute your permanent report catalog

    Pro Tip: Set a calendar reminder for the deletion date, or use Workday’s business process to request report deletion automatically.

    Rule 6: Never Use Version Numbers in Report Names

    Avoid “v2,” “v3,” “Final,” “New,” or any version indicators in report names.

    Why?

    Workday automatically tracks report change history. You can view previous versions, compare changes, and restore prior versions directly from Report Writer.

    Version numbers in names create confusion:

    • Is “Report v3” the current version, or is there a v4 somewhere?
    • If you update “Report v3,” do you rename it “Report v4”?
    • What happens to users who bookmarked “Report v2”?

    Instead of versioning in names, use Workday’s built-in version control:

    • Make changes to the existing report
    • Workday automatically creates a version history
    • Users always get the current version when they run the report
    • Admins can review change history and see who made what changes when

    Exception: If you genuinely need multiple versions to coexist (e.g., different calculation methodologies for comparison), differentiate by purpose, not version number:

    • CR-Compensation-Total Compensation Including Equity Value
    • CR-Compensation-Total Compensation Excluding Equity Value

    Rule 7: Avoid Vague Terms That Add No Information

    Generic words like “Report,” “Data,” “New,” “Final,” or “Custom” typically add zero value.

    Replace vague terms with specific details:

    ❌ Benefits Report → ✅ Employee Medical Plan Elections by Coverage Tier
    ❌ Payroll Data → ✅ Bi-Weekly Payroll Register by Cost Center
    ❌ Turnover Report → ✅ Voluntary Terminations Last 12 Months by Department
    ❌ New Headcount Report → ✅ Active Employees by Department Location and Worker Type
    ❌ Final Compensation Report → ✅ Annual Merit Increase Recommendations by Job Profile

    Every word in your report name should add meaning.

    The Deletion Test

    If you can remove a word from your report name without losing information, delete it.

    “Custom Benefits Report Final” → Delete “Custom” (all reports in this category are custom) → Delete “Report” (obviously it’s a report) → Delete “Final” (meaningless modifier) → What remains? “Benefits”… which tells you almost nothing.

    Start over: “Employee Medical Dental and Vision Elections Current Year” – every word adds information.

    Governance: Making Naming Conventions Stick

    A documented naming convention is worthless if nobody follows it. Enforcement requires governance.

    1. Create a Report Naming Standards Document

    Document your naming convention in a formal standards guide accessible to anyone who creates reports.

    Your standards document should include:

    Required Structure and Format

    • The 4-part naming template with descriptions
    • Separator usage rules
    • Title case requirements
    • Character limits (if any)

    Approved Prefixes and Their Meanings

    • Complete list of allowed prefixes
    • When to use each prefix
    • How to request new prefixes

    Functional Area List

    • Standardized functional area names
    • Mapping to organizational departments
    • Who owns each functional area

    Suffix Guidelines

    • When to use suffixes
    • Approved suffix terms
    • Special handling for temporary reports

    Examples (Good and Bad)

    • 10+ real examples of well-named reports
    • 10+ examples of poorly named reports with explanations of what’s wrong
    • Before/after transformations

    Process for Requesting Exceptions

    • When exceptions might be warranted
    • Who approves exceptions
    • How to document approved exceptions

    Make this document accessible via:

    • Workday tenant home page
    • Report Writer help resources
    • New hire onboarding materials
    • Report writer training curriculum

    Review and update this document annually to ensure it stays current with organizational changes.

    2. Establish a Report Approval Workflow

    Don’t allow anyone to create custom reports without review.

    Approval workflow should include these checkpoints:

    Business Owner Sign-Off

    • Confirms genuine business need (prevents duplicate reports)
    • Verifies report doesn’t already exist
    • Commits to ongoing ownership and maintenance
    • Defines report lifecycle (evergreen vs. temporary)

    Data Steward Review

    • Confirms appropriate data sources
    • Validates security domain configuration
    • Ensures data privacy compliance
    • Reviews field selection for sensitivity

    Workday Admin Validation

    • Confirms naming convention compliance
    • Checks for performance optimization
    • Reviews calculated field necessity
    • Validates against existing report portfolio

    Final Approval Authority

    • Workday Center of Excellence lead
    • IT Governance Board
    • HR Operations Director
    • Reporting Manager (depending on organization size)

    Workflow Example:

    1. Requestor submits report request with business justification
    2. Business owner reviews and approves need
    3. Data steward confirms data appropriateness
    4. Workday admin builds report following naming standards
    5. Business owner tests report and confirms accuracy
    6. Admin assigns security and publishes report
    7. Report added to governance catalog with owner, purpose, and review date

    Large organizations should implement a Change Control Board or Reporting Center of Excellence to manage this process centrally.

    3. Assign Report Owners

    Every custom report needs a designated owner responsible for its lifecycle.

    Report Owner Responsibilities:

    Periodic Review (at least annually)

    • Confirm report is still needed
    • Verify data sources are still appropriate
    • Test report accuracy after Workday releases
    • Update business logic when processes change

    Maintenance

    • Apply updates when business rules change
    • Modify filters when organizational structure changes
    • Update field selections when new data becomes available
    • Respond to user questions and issues

    Compliance Certification

    • Confirm security domains are still appropriate
    • Verify data privacy compliance
    • Validate audit trail requirements
    • Review field-level security settings

    Deletion Responsibility

    • Proactively delete report when no longer needed
    • Archive historical data if required before deletion
    • Communicate deletion to stakeholders
    • Document deletion rationale

    How to Track Ownership:

    In Workday Report Metadata:

    • Use the Description field to document owner name and contact
    • Include ownership in report tags
    • Reference owner in scheduled delivery settings

    In External Governance System:

    • Maintain report catalog in SharePoint, Confluence, or similar
    • Link reports to organizational roles (not individuals)
    • Track ownership transitions when people change roles

    Example Description Field:

    Report Owner: Director of HR Operations (Jane Smith)
    Purpose: Monthly voluntary turnover analysis for executive leadership
    Review Frequency: Quarterly
    Last Review Date: Dec 15, 2024
    Next Review Date: March 15, 2025
    Scheduled for Deletion: No (evergreen report)

    4. Audit Existing Reports Quarterly

    Set up a recurring governance task to review your report portfolio.

    Quarterly Audit Checklist:

    Identify Unused Reports

    • Pull reports not run in 90+ days
    • Contact owners to confirm still needed
    • Mark for deletion if no longer required
    • Archive if historical reference needed

    Flag Naming Convention Violations

    • Search for reports with “test,” “copy,” “final,” “new” in names
    • Search for reports with version numbers (v2, v3, etc.)
    • Search for reports with personal names (JSmith, MJones, etc.)
    • Prioritize high-use reports for renaming

    Find Duplicate Reports

    • Group reports by functional area
    • Review similar names for potential duplicates
    • Open suspected duplicates and compare data sources, fields, and filters
    • Consolidate when duplicates confirmed

    Review Reports Without Clear Owners

    • Identify reports where owner has left organization
    • Identify reports created by generic admin accounts
    • Assign new owners or mark for deletion

    Assess Security Compliance

    • Review reports accessing sensitive data (compensation, SSN, performance)
    • Validate security domain assignments
    • Confirm appropriate access levels
    • Document any compliance gaps for remediation

    Most organizations discover 30-40% of custom reports are unused during their first audit.

    That’s not a failure—it’s an opportunity to reduce clutter, improve performance, and focus maintenance efforts on reports that actually create value.

    5. Train Every Report Writer

    Make naming convention training mandatory for anyone with report creation permissions.

    Training Curriculum:

    Module 1: Why Naming Conventions Matter (15 minutes)

    • Real examples of report search problems
    • Cost of poor naming (wasted time, duplicates, compliance risks)
    • Benefits of consistent naming
    • Organizational commitment to governance

    Module 2: Your Organization’s Naming Structure (30 minutes)

    • The 4-part framework with examples
    • Approved prefixes and when to use them
    • Functional area standardization
    • Suffix guidelines
    • Title case and separator rules

    Module 3: How to Search for Existing Reports (20 minutes)

    • Search strategies to find reports before creating new ones
    • Using filters and categories
    • Reading report names to understand content
    • When to copy existing vs. create new

    Module 4: Report Request and Approval Process (15 minutes)

    • How to submit report requests
    • Approval workflow stages
    • Expected turnaround time
    • Ownership responsibilities

    Module 5: Hands-On Practice (30 minutes)

    • Rename 10 poorly named reports
    • Create report names from business requirements
    • Identify naming convention violations
    • Search for and evaluate existing reports

    Deliver training:

    • During new hire onboarding (for anyone who will create reports)
    • During Workday release cycles (as a refresher)
    • When granting report creation permissions
    • Annually as a governance refresher

    Create a Quick Reference Guide (1-page PDF) with:

    • Naming template
    • Common prefixes and suffixes
    • Good vs. bad examples
    • Link to full standards document

    Make this available in Report Writer as a help resource.


    Migration Strategy: Fixing Your Existing Report Mess

    You can’t rename 500 reports overnight. Attempting to do so will create chaos, broken links, and angry users who can’t find their reports.

    Here’s a phased approach that minimizes disruption:

    Phase 1: Document Current State (Week 1)

    Task 1.1: Export Complete Report Inventory

    • Export all custom reports with names, owners, last run date, and run count
    • Include report type (Simple, Advanced, Matrix, Composite)
    • Capture security domain assignments
    • Document scheduled delivery settings

    Task 1.2: Analyze Usage Patterns

    • Sort by last run date
    • Sort by run count (last 90 days)
    • Identify reports run weekly or more frequently
    • Identify reports not run in 90+ days
    • Identify reports not run in 180+ days

    Task 1.3: Flag Problematic Names

    • Reports containing “test,” “copy,” “final,” “new”
    • Reports with version numbers (v2, v3, etc.)
    • Reports with personal names (JSmith, MJones, etc.)
    • Reports with vague names (“Report_1”, “Employee_Data”, “Custom_Report”)
    • Reports with generic functional names only (“Benefits”, “Compensation”, “Payroll”)

    Task 1.4: Identify Duplicates

    • Group by functional area and look for similar names
    • Compare data sources and fields for suspected duplicates
    • Flag duplicate clusters for consolidation

    Deliverable: Spreadsheet with complete report inventory, usage data, and problem flags

    Phase 2: Prioritize High-Impact Reports (Week 2)

    Not all reports are equally important. Focus your initial efforts on high-visibility, high-impact reports.

    Priority 1: Executive and Board Reports

    • Reports used by C-suite or board of directors
    • Reports for external compliance or regulatory filing
    • Reports that feed into investor communications

    Why first: These reports have the highest organizational visibility and compliance risk

    Priority 2: Scheduled and Shared Reports

    • Reports with automated delivery schedules
    • Reports shared across multiple departments
    • Reports embedded in business processes

    Why second: These reports have the most dependencies and users who need to be notified of name changes

    Priority 3: High-Frequency Reports

    • Reports run daily or weekly
    • Reports used by large user populations
    • Reports critical to operational processes

    Why third: These reports impact the most users most frequently

    Priority 4: Department-Specific Reports

    • Reports used by single departments
    • Reports run monthly or less frequently
    • Reports with small user populations

    Why fourth: Lower impact; can be renamed in later phases

    Priority 5: Ad-Hoc and Temporary Reports

    • Reports created for one-time analyses
    • Reports not run in 90+ days
    • Reports marked as temporary

    Why last: May be candidates for deletion instead of renaming

    Deliverable: Prioritized list of reports grouped into 4-5 renaming batches

    Phase 3: Rename in Batches (Weeks 3-8)

    Rename reports in waves, communicating each batch before making changes.

    Batch 1: Executive and Compliance Reports (Week 3)

    • 20-30 reports maximum
    • Highest importance and visibility
    • Communicate changes to executive assistants and direct users 1 week before
    • Rename reports
    • Update any bookmarks, links, or documentation
    • Send confirmation after renaming with old → new name mapping

    Batch 2: Scheduled and Shared Reports (Week 4-5)

    • 40-60 reports maximum
    • Update scheduled delivery settings with new names
    • Communicate to distribution lists 1 week before
    • Rename reports
    • Monitor first scheduled run to ensure delivery works
    • Send confirmation with name mapping

    Batch 3: High-Frequency Reports (Week 6-7)

    • 50-80 reports maximum
    • Communicate to functional area leads 1 week before
    • Rename reports
    • Update training materials and help documentation
    • Send confirmation with name mapping

    Batch 4: Department-Specific Reports (Week 8)

    • 100-150 reports maximum
    • Communicate to department admins and power users
    • Rename reports
    • Send confirmation with name mapping

    Communication Template:

    Subject: Workday Report Names Changing on [Date] – Action Required

    We are improving Workday report organization by implementing clear, consistent naming conventions.

    On [Date], the following reports will be renamed:

    OLD NAME → NEW NAME
    ---------------------------------------
    Report_Final_v3 → CR-US-Compensation-Base Salary Changes YTD by Job Profile
    Benefits_Report_Copy → CR-Benefits-Active Employee Medical Elections by Plan
    Turnover_Data → HR-Recruiting-Monthly Voluntary Terminations by Department

    What This Means for You:
    • Report content and data are unchanged
    • Search for the NEW NAME after [Date]
    • Update any saved links or bookmarks
    • Report security and delivery schedules remain the same

    Why We're Making This Change:
    [Brief explanation of naming convention benefits]

    Questions? Contact [Workday Admin Team]

    Phase 4: Delete Unused Reports (Week 9)

    Reports not run in 180+ days are strong candidates for deletion.

    Before Deleting:

    1. Contact Report Owners
      • Email owners of unused reports
      • Confirm report is no longer needed
      • Offer to archive data if needed for historical reference
    2. Check for Annual or Cyclical Use
      • Some reports are only used during annual processes (year-end, annual reviews, open enrollment)
      • Check if last run date aligns with annual cycle
      • If annual, add suffix “Annual” and retain
    3. Export Report Definitions
      • Save report XML definitions before deleting
      • Store in secure location (SharePoint, network drive)
      • Document deletion in governance log
    4. Communicate Pending Deletions
      • Send notification 2 weeks before deletion
      • Include report name, last run date, and reason for deletion
      • Provide escalation path if someone still needs the report
    5. Delete in Batches
      • Delete 20-30 reports at a time
      • Monitor for complaints or restoration requests
      • Document deletions in governance log

    Deletion Communication Template:

    Subject: Unused Workday Reports Scheduled for Deletion on [Date]

    The following Workday reports have not been run in over 180 days and are scheduled for deletion on [Date]:

    REPORT NAME | LAST RUN DATE | OWNER
    ---------------------------------------
    Employee_Report_v2 | March 15, 2024 | Jane Smith
    Benefits_Old_Copy | January 8, 2024 | Unassigned
    Turnover_Test_3 | April 22, 2024 | John Doe (no longer with company)

    If you still need any of these reports:
    1. Reply to this email by [Date - 1 week]
    2. Provide business justification for keeping the report
    3. Confirm you will be the ongoing owner

    Reports will be archived before deletion and can be restored if needed within 30 days.

    Questions? Contact [Workday Admin Team]

    Phase 5: Implement Governance (Week 10+)

    With your report portfolio cleaned up, implement ongoing governance to prevent regression.

    Launch:

    • Report approval workflow for new reports
    • Naming standards document published
    • Report owner assignment process
    • Quarterly audit schedule
    • Training program for new report writers

    Measure Success:

    • % of reports following naming conventions (target: 95%+)
    • Average time to find reports (target: <30 seconds)
    • of duplicate reports created (target: <5% of new reports)
    • % of reports with assigned owners (target: 100%)
    • % of reports run in last 90 days (target: 70%+)

    Continuous Improvement:

    • Review naming standards annually
    • Solicit feedback from report users
    • Update standards based on organizational changes
    • Celebrate successes (reduced search time, fewer duplicates)

    The Template: Your Naming Convention Cheat Sheet

    Copy this structure and customize for your organization:

    Standard Format

    [Prefix] – [Functional Area] – [Specific Purpose] – [Suffix]

    Approved Prefixes

    PrefixMeaningWhen to Use
    CRCustom ReportAll custom-built reports
    USUnited StatesGeography-specific (US only data)
    UKUnited KingdomGeography-specific (UK only data)
    APACAsia-PacificGeography-specific (APAC only data)
    EMEAEurope, Middle East, AfricaGeography-specific (EMEA only data)
    GLOBALAll GeographiesGlobal reports (all countries)
    HRHuman ResourcesHR-owned reports
    FINFinanceFinance-owned reports
    ITInformation TechnologyIT-owned reports
    TEMPTemporaryReports to be deleted after event

    Functional Areas

    Human Resources:

    • Compensation
    • Benefits
    • Recruiting
    • Performance
    • Learning
    • Time Tracking
    • Absence
    • Onboarding
    • Offboarding

    Finance:

    • Payroll
    • Accounts Payable
    • Accounts Receivable
    • General Ledger
    • Budgeting
    • Expense Management

    Operations:

    • Procurement
    • Supplier Management
    • Project Accounting

    IT & Security:

    • Security Audit
    • Access Management
    • Integration Monitoring

    Suffixes

    SuffixMeaningWhen to Use
    TemporaryLimited lifespanReport will be deleted after specific event
    ScheduledAutomated deliveryReport runs on recurring schedule
    ExecutiveRestricted audienceReport contains sensitive data for executives
    AnnualYearly useReport only used during annual process
    YYYY QXTime-specificReport tied to specific quarter/year
    DRAFTUnder developmentReport not ready for production use

    Example Report Names

    Compensation:

    • CR-US-Compensation-Annual Merit Increases by Job Profile
    • CR-GLOBAL-Compensation-Total Compensation Analysis by Country-Executive
    • CR-Compensation-Base Salary Changes Last 12 Months by Department

    Benefits:

    • CR-Benefits-Active Employee Medical Elections by Coverage Tier
    • CR-US-Benefits-HSA Eligibility for Non-Exempt Workers-Current Year
    • CR-Benefits-Retirement Plan Enrollment by Age Group

    Payroll:

    • CR-Payroll-Bi-Weekly Payroll Register by Cost Center-Scheduled
    • CR-US-Payroll-Monthly Tax Withholding by State
    • CR-Payroll-Year-End W2 Validation Report-Annual

    Recruiting:

    • CR-Recruiting-Open Requisitions Aging Over 60 Days by Department
    • CR-Recruiting-Time to Fill Analysis by Job Family-2024 Q4
    • CR-Recruiting-Candidate Pipeline by Source and Stage

    Performance:

    • CR-Performance-Performance Ratings 4+ by Manager and Job Profile-2024 Annual Review
    • CR-Performance-Goal Completion Status by Department-Scheduled
    • TEMP-Performance-2024 Year-End Review Campaign Status-Delete Jan 31

    Time Tracking:

    • CR-Time-Unapproved Timesheets Aging Over 7 Days by Manager
    • CR-Time-Weekly Hours by Project and Worker-Scheduled
    • CR-US-Time-Overtime Hours by Department-Last 90 Days

    Absence:

    • CR-Absence-PTO Balances by Worker and Plan-Current
    • CR-Absence-Absence Requests Pending Manager Approval
    • CR-US-Absence-FMLA Leave by Reason Code-2024 YTD

    Learning:

    • CR-Learning-Compliance Training Completion Status by Course
    • CR-Learning-Overdue Learning Assignments by Manager
    • CR-Learning-Learning Hours by Job Family-2024 Q4

    Workforce Planning:

    • CR-HR-Active Employees by Department Location and Worker Type
    • CR-HR-Headcount by Cost Center-Monthly-Scheduled
    • CR-HR-New Hires Last 90 Days by Hire Reason

    Security & Audit:

    • CR-IT-Security Group Membership by Worker-Monthly-Scheduled
    • CR-IT-Inactive Users with System Access-Security Audit
    • CR-IT-Security Policy Changes Last 30 Days

    What This Means for Your Organization

    Poor report naming conventions create real business costs:

    • Wasted time searching
    • Duplicate work
    • Maintenance complexity
    • Security risks
    • Compliance exposure

    Good report naming conventions create real business value:

    • Users find reports in seconds
    • Zero duplicate work
    • Simple maintenance
    • Clear security boundaries
    • Audit readiness

    Start your transformation today:

    Week 1: Export your current report inventory and assess the damage
    Week 2: Define your naming standard using this framework
    Week 3: Rename your top 20 most-used reports
    Week 4: Implement approval workflow for new reports
    Week 5: Train your report writers
    Week 6: Delete unused reports
    Week 7+: Quarterly audits and continuous improvement

    The result?

    Your Workday tenant becomes organized, maintainable, and scalable.
    Your users stop wasting time searching and start spending time analyzing.
    Your admins stop maintaining zombie reports and start building value-adding functionality.
    And you’ll never see “Report_Final_v3” again.

    What’s the worst report name you’ve encountered in your Workday tenant? 
    Share it in the comments
    Let’s learn from each other’s pain (and maybe have a laugh). 😄

  • Workday Reports: Advanced vs. Matrix vs. Composite Guide

    You open a reporting request from your CFO:

    “I need headcount by department, broken down by location and job level, with month-over-month trends and turnover rates.”

    You stare at the request. Should you build an Advanced Report? A Matrix Report? A Composite Report? Or maybe three separate reports?

    This is where most Workday professionals get stuck. They know how to build reports technically, but they don’t know which report type to use when. So they default to Advanced Reports for everything, then spend hours manipulating data in Excel to get the view they actually need.

    Here’s the truth: choosing the wrong report type doesn’t just waste time. It creates slow, unmaintainable reports that confuse users and break during updates.

    This guide teaches you how to choose the right report type for every scenario. You’ll learn what each report type does, when to use it, and how to build it correctly with real-world examples.

    The Three Report Types: What They Actually Do

    Advanced Reports: The List Builder

    What It Is:
    An Advanced Report displays data from a single business object as a list of rows. Think of it as a detailed table where each row represents one record.

    Structure:

    • One row per record (employee, position, transaction, event)
    • Multiple columns showing different fields
    • Can include filters, prompts, sorting, and grouping
    • Can include subtotals and aggregations

    Visual Example:

    Employee NameHire DateDepartmentLocationJob TitleAnnual Salary
    Sarah Johnson2022-03-15EngineeringSan FranciscoSenior Engineer$125,000
    Mike Chen2023-01-10SalesNew YorkAccount Executive$95,000
    Emily Davis2021-06-20HRChicagoHR Business Partner$105,000

    Best For:

    • Employee lists (active headcount, new hires, terminations)
    • Transaction logs (compensation changes, job changes, time off)
    • Detailed records for audits, integrations, or EIB loads
    • Reports that answer: “Show me all [records] where [criteria]”

    Not Good For:

    • Pivoting data across multiple dimensions
    • Showing trends over time periods
    • Combining data from multiple business objects

    Matrix Reports: The Pivot Table

    What It Is:
    Matrix Report summarizes numeric data across rows and columns. It’s Workday’s version of an Excel pivot table or crosstab.

    Structure:

    • Rows define one dimension (e.g., Department)
    • Columns define another dimension (e.g., Location or Time Period)
    • Cells show aggregated metrics (count, sum, average)
    • Interactive drilling (click to see detail records)

    Visual Example:

    Headcount by Department and Location

    DepartmentSan FranciscoNew YorkChicagoTotal
    Engineering4512865
    Sales10381563
    HR581225
    Total605835153

    Best For:

    • Summarizing data across two dimensions
    • Headcount analysis (by org, location, job level)
    • Trend analysis over time (monthly, quarterly, yearly)
    • Financial rollups (cost by department and account)
    • Reports that answer: “Show me [metric] broken down by [dimension 1] and [dimension 2]”

    Not Good For:

    • Showing raw transaction details
    • Combining multiple unrelated metrics
    • Reports with more than two grouping dimensions

    Composite Reports: The Dashboard Builder

    What It Is:
    Composite Report combines multiple Matrix Reports into a single unified report. It’s how you build executive dashboards and scorecards.

    Structure:

    • Multiple sub-reports (each is a Matrix Report)
    • Each sub-report can have different data sources
    • Aligned by common dimension (department, location, time period)
    • Metrics calculated across sub-reports at the composite level

    Visual Example:

    HR Scorecard by Department

    Sub-Report 1: Headcount Trend

    DepartmentJan 2025Feb 2025Mar 2025
    Engineering606365
    Sales586163

    Sub-Report 2: New Hires

    DepartmentJan 2025Feb 2025Mar 2025
    Engineering543
    Sales354

    Sub-Report 3: Terminations

    DepartmentJan 2025Feb 2025Mar 2025
    Engineering211
    Sales022

    Composite Calculation: Turnover Rate

    DepartmentJan 2025Feb 2025Mar 2025
    Engineering3.3%1.6%1.5%
    Sales0%3.3%3.2%

    Best For:

    • Executive dashboards (HR scorecard, Finance KPIs)
    • Multi-metric analysis aligned by common dimension
    • Combining HCM + Finance data
    • Reports that answer: “Show me 4-5 related metrics side-by-side”

    Not Good For:

    • Simple lists or single-metric analysis
    • Ad-hoc analysis (too complex for quick requests)
    • Reports without a common aligning dimension

    Decision Framework: Which Report Type Should I Use?

    Use this flowchart to decide:

    Question 1: Do I need multiple related metrics from different data sources?

    • Yes → Use Composite Report
    • No → Go to Question 2

    Question 2: Do I need to aggregate/summarize data across dimensions?

    • Yes → Use Matrix Report
    • No → Go to Question 3

    Question 3: Do I need a detailed list of records?

    • Yes → Use Advanced Report

    Real-World Scenario Examples

    Scenario 1: “Show me all employees who were hired in the last 90 days”

    Report Type: Advanced Report

    Why: You need a list of individual employee records. No aggregation needed.

    Data Source: Workers

    Columns: Employee Name, Employee ID, Hire Date, Department, Manager, Location

    Filter: Hire Date is within the last 90 days


    Scenario 2: “Show me headcount by department and location”

    Report Type: Matrix Report

    Why: You need to aggregate (count employees) across two dimensions (department and location).

    Data Source: Workers

    Rows: Department (grouping)

    Columns: Location (grouping)

    Measure: Count of Workers


    Scenario 3: “Show me monthly headcount, new hires, terminations, and turnover rate by department”

    Report Type: Composite Report

    Why: You need multiple related metrics (4 different calculations) aligned by common dimensions (department and month).

    Sub-Report 1 (Matrix): Headcount by Department and Month

    Sub-Report 2 (Matrix): New Hires by Department and Month

    Sub-Report 3 (Matrix): Terminations by Department and Month

    Composite Calculation: Turnover Rate = (Terminations ÷ Average Headcount) × 100

    Building Your First Advanced Report

    Let’s build a practical Advanced Report: New Hires in Last 90 Days

    Step 1: Create the Report

    1. Search for Create Custom Report
    2. Report Type: Advanced
    3. Data Source: Workers
    4. Report Name: New Hires – Last 90 Days
    5. Click OK

    Step 2: Add Columns

    Click Add in the Columns section to add fields:

    Column 1: Worker (displays employee name)

    Column 2: Employee ID

    Column 3: Hire Date

    Column 4: Primary Position

    Column 5: Worker’s Manager (manager name)

    Column 6: Location

    Column 7: Cost Center

    Column 8: Time Type (Full-Time, Part-Time)

    Pro Tip: Rename column labels for clarity. “Worker” → “Employee Name”, “Worker’s Manager” → “Manager”

    Step 3: Add Filter

    Click Filter tab.

    Filter Condition: Hire Date is within the last 90 days

    Configuration:

    • Field: Hire Date
    • Operator: Is Within
    • Value: Last 90 days (Workday calculates dynamically)

    Alternative: Use Prompt instead of hard-coded filter to let users choose the date range at runtime.

    Step 4: Add Sorting

    Click Sort tab.

    Primary Sort: Hire Date (descending – newest hires first)

    Secondary Sort: Worker (ascending – alphabetical within same hire date)

    Step 5: Add Grouping (Optional)

    Click Sort tab, scroll to Grouping.

    Group By: Department

    This groups all new hires by their department, with subtotals showing count per department.

    Enable: Summarize Detail Rows (checkbox)

    Result: Report shows:

    • Engineering: 12 new hires
      • Sarah Johnson – 2025-03-15
      • Mike Chen – 2025-03-10
    • Sales: 8 new hires
      • Emily Davis – 2025-03-20

    Step 6: Test and Share

    Click OK to save and run the report.

    Validate:

    • Do all employees shown have hire dates within last 90 days?
    • Are columns displaying correctly?
    • Is sorting working as expected?

    Share the Report:

    1. Click Share icon
    2. Select users or security groups
    3. Grant View permission
    4. Save

    Building Your First Matrix Report

    Let’s build: Headcount by Department and Location

    Step 1: Create the Report

    1. Search for Create Custom Report
    2. Report Type: Matrix
    3. Data Source: Workers
    4. Report Name: Headcount by Department and Location
    5. Click OK

    Step 2: Configure Rows

    Rows Axis: Department (Supervisory Organization)

    This defines what appears down the left side of your matrix.

    Row Field: Organization > Name (displays department names)

    Sort: Ascending (alphabetical order)

    Step 3: Configure Columns

    Columns Axis: Location

    This defines what appears across the top of your matrix.

    Column Field: Location > Name (displays location names like “San Francisco”, “New York”)

    Sort: Ascending (alphabetical order)

    Step 4: Configure Measure

    Measure: What you’re counting or summing in each cell.

    Metric: Count of Workers

    Aggregation Method: Count (default for counting records)

    Alternative measures:

    • Sum of Annual Salary (for compensation analysis)
    • Average of Tenure (for tenure analysis)

    Step 5: Add Filter (Optional)

    Click Filter tab.

    Filter: Worker Status = Active

    This excludes terminated employees from the headcount.

    Step 6: Enable Drilling

    Drilling lets users click a cell to see the detail records.

    Configuration: Enabled by default in Matrix Reports

    How It Works:
    User clicks cell showing “45 employees in Engineering – San Francisco”
    → Workday displays list of those 45 employees with details

    Step 7: Add Prompts (Optional)

    Prompts let users filter the report at runtime.

    Add Prompt: As of Date

    Use Case: Users can run the report “as of December 31, 2024” to see historical headcount.

    Configuration:

    1. Click Prompts tab
    2. Add As of Date prompt
    3. Default value: Today (report defaults to current headcount)
    4. Users can override to see historical data

    Step 8: Test and Visualize

    Click OK to save and run.

    Validate:

    • Do row totals match expected headcount per department?
    • Do column totals match expected headcount per location?
    • Does grand total match total active headcount?

    Add Chart Visualization:

    1. Click Add Chart
    2. Chart Type: Stacked Bar Chart
    3. X-Axis: Department
    4. Y-Axis: Headcount
    5. Stack By: Location (different colors for each location)

    Result: Visual chart showing headcount distribution across departments and locations.

    Building Your First Composite Report

    Let’s build: HR Monthly Scorecard (Headcount, Hires, Terms, Turnover)

    Step 1: Build the Matrix Sub-Reports First

    You need to create each Matrix Report separately before combining them.

    Sub-Report 1: Monthly Headcount by Department

    1. Create Matrix Report
    2. Data Source: Workers (Snapshot-based for historical data)
    3. Rows: Department
    4. Columns: Month (from Period Reporting Calendar)
    5. Measure: Count of Workers
    6. Filter: Worker Status = Active (at snapshot date)
    7. Save As: Headcount by Department – Monthly

    Sub-Report 2: New Hires by Department and Month

    1. Create Matrix Report
    2. Data Source: Hire Employee Event
    3. Rows: Position > Organization (Department)
    4. Columns: Event Date > Month
    5. Measure: Count of Events
    6. Save As: New Hires by Department – Monthly

    Sub-Report 3: Terminations by Department and Month

    1. Create Matrix Report
    2. Data Source: Terminate Employee Event
    3. Rows: Position > Organization (Department)
    4. Columns: Event Date > Month
    5. Measure: Count of Events
    6. Save As: Terminations by Department – Monthly

    Step 2: Create the Composite Report

    1. Search for Create Custom Report
    2. Report Type: Composite
    3. Report Name: HR Monthly Scorecard
    4. Click OK

    Step 3: Add Sub-Reports

    Click Add Sub-Report for each Matrix Report you created.

    Sub-Report 1: Headcount by Department – Monthly

    Sub-Report 2: New Hires by Department – Monthly

    Sub-Report 3: Terminations by Department – Monthly

    Step 4: Align Sub-Reports

    Alignment ensures data from different sub-reports lines up correctly.

    Align By:

    • Rows: Department (common dimension across all sub-reports)
    • Columns: Month (common time dimension)

    Result: All three metrics display side-by-side for each department and month.

    Step 5: Add Composite Calculations

    Composite Calculations perform math across sub-reports.

    Calculation: Turnover Rate

    Formula: (Terminations ÷ Average Headcount) × 100

    Configuration:

    1. Click Add Calculation
    2. Calculation Name: Turnover Rate
    3. Formula Type: Custom
    4. Formula:text(Sub-Report[Terminations].Measure / ((Sub-Report[Headcount].Measure + Sub-Report[Headcount].Measure.PriorPeriod) / 2)) * 100

    What This Does:

    • Divides terminations by average headcount (current month + prior month ÷ 2)
    • Multiplies by 100 to get percentage
    • Displays as new row in the composite report

    Calculation: Net Headcount Change

    Formula: Hires – Terminations

    Configuration:

    textSub-Report[New Hires].Measure - Sub-Report[Terminations].Measure
    

    Step 6: Format the Report

    Add Section Headers:

    • Section 1: Headcount Metrics
    • Section 2: Movement Metrics
    • Section 3: Turnover Analysis

    Conditional Formatting:

    • Turnover Rate > 5%: Red (concerning)
    • Turnover Rate 3-5%: Yellow (monitor)
    • Turnover Rate < 3%: Green (healthy)

    Number Formatting:

    • Headcount: Whole numbers (no decimals)
    • Turnover Rate: One decimal place with % symbol (e.g., 3.2%)

    Step 7: Test and Validate

    Run the composite report.

    Validation Checks:

    • Do headcount numbers match your HRIS records?
    • Do new hires + terminations align with HR transaction logs?
    • Does turnover calculation make sense? (formula working correctly?)
    • Are all departments showing data? (check for alignment issues)

    Common Issues:

    • Misaligned departments: Sub-reports use different organization hierarchies. Standardize to Supervisory Organizations.
    • Missing time periods: One sub-report has data for January, another doesn’t. Add zero-value handling.

    Advanced Techniques: Calculated Fields

    Calculated Fields let you create custom formulas and logic within reports.

    When to Use Calculated Fields

    Scenario 1: Custom Tenure Calculation

    Need: Show employee tenure in “Years.Months” format (e.g., 3.5 years = 3 years, 6 months)

    Advanced Report Column: Tenure (Calculated Field)

    Formula:

    textDATEDIFF(Hire Date, Today, "years") + "." + MOD(DATEDIFF(Hire Date, Today, "months"), 12)
    

    Result: Employee hired March 1, 2022 shows “3.9” (3 years, 9 months as of Dec 2025)

    Scenario 2: Compensation Ratio (Compa-Ratio)

    Need: Compare employee salary to midpoint of their pay grade

    Matrix Report Measure: Compa-Ratio (Calculated Field)

    Formula:

    text(Annual Salary / Compensation Grade Midpoint) * 100
    

    Result: Employee earning $90K in grade with $100K midpoint shows 90% (below midpoint)

    Scenario 3: Conditional Text Labels

    Need: Tag employees as “New Hire”, “Tenured”, or “Long-Term” based on tenure

    Advanced Report Column: Tenure Category (Calculated Field)

    Formula:

    textIF(Tenure < 1, "New Hire",
       IF(Tenure >= 1 AND Tenure < 5, "Tenured",
          "Long-Term"))
    

    Result:

    • Employee with 6 months tenure: “New Hire”
    • Employee with 3 years tenure: “Tenured”
    • Employee with 8 years tenure: “Long-Term”

    Creating a Calculated Field

    1. From your Custom Report editor, click Columns tab
    2. Click Add > Calculated Field
    3. Field Name: Tenure Category
    4. Field Type: Text (or Number, Date, depending on formula output)
    5. Formula: Enter your formula using Workday formula syntax
    6. Available Functions:
      • DATEDIFF (date arithmetic)
      • IF/THEN/ELSE (conditional logic)
      • SUM, AVG, COUNT (aggregations – Matrix only)
      • CONCAT (text concatenation)
      • ROUND, CEILING, FLOOR (number formatting)
    7. Click Validate to check formula syntax
    8. Click OK to save

    Report Performance Optimization

    Why Report Performance Matters

    Slow reports frustrate users, time out during scheduled runs, and consume system resources.

    Performance Best Practices

    1. Filter Early, Filter Often

    Bad: Pull all 50,000 workers, then filter in Excel

    Good: Filter to active workers in last 6 months (reduces dataset to 2,000 records)

    How:

    • Add Worker Status = Active filter
    • Add date range filters (Hire Date, As of Date)
    • Use Prompts to let users narrow scope

    2. Limit Columns in Advanced Reports

    Bad: Include 40 fields “just in case”

    Good: Include only fields users actually need (10-15 columns max)

    Why: Each column adds processing time and data retrieval overhead.

    3. Use Summarize Detail Rows in Advanced Reports

    Scenario: You need totals by department, not every individual employee.

    Solution: Enable Summarize Detail Rows in Sort tab

    Result: Report aggregates data automatically (like a Matrix), runs faster than full detail list.

    4. Avoid Cross-Business Object Relationships When Possible

    Bad: Advanced Report pulling from Workers + Positions + Compensation + Benefits (4 objects)

    Good: Use Matrix Report with single business object, or Composite to separate concerns

    Why: Cross-object joins slow down queries significantly.

    5. Schedule Large Reports to Run Off-Hours

    Scenario: Monthly headcount report with 3 years of historical data (slow)

    Solution:

    1. Navigate to Edit Custom Report
    2. Configure Schedule
    3. Run at 2:00 AM when system load is low
    4. Deliver via email or save to shared folder

    6. Use Data Sources Wisely

    For Historical Trending: Use Snapshot-based Data Sources (Workers – Snapshot) instead of live Workers object

    Why: Snapshots are pre-aggregated and optimized for time-series analysis.


    Common Mistakes and How to Avoid Them

    Mistake 1: Using Advanced Report When Matrix Is Better

    Scenario: Request is “Show me headcount by department”

    What People Do: Build Advanced Report listing all employees, export to Excel, create pivot table

    What They Should Do: Build Matrix Report with Department as Row, Count of Workers as Measure

    Impact: 10 minutes in Excel becomes 30 seconds in Workday.

    Mistake 2: Too Many Calculated Fields in One Report

    Problem: Report has 15 calculated fields with nested IF statements and cross-field references.

    Impact: Report takes 5 minutes to run, times out in production.

    Solution:

    • Move complex calculations to Business Object Calculated Fields (reusable across reports)
    • Simplify formulas (break complex logic into multiple simpler fields)
    • Use Composite Reports to separate calculations across sub-reports

    Mistake 3: Not Sharing Reports with Appropriate Security

    Problem: You built a great report, but users can’t find it or don’t have permission to run it.

    Solution:

    • Share report with Security Groups (not individual users)
    • Grant appropriate permissions:
      • View: Users can run and view results
      • Modify: Users can edit the report definition (usually admins only)
    • Add report to relevant Dashboard or Report Category for discoverability

    Mistake 4: Hard-Coding Filters Instead of Using Prompts

    Problem: Report filters to “Hire Date between Jan 1, 2025 and March 31, 2025” (hard-coded)

    Impact: Report is useful for Q1 2025 only. Next quarter, you have to edit and update the report.

    Solution: Use Prompts

    • Add Start Date prompt
    • Add End Date prompt
    • Users can run report for any date range without editing definition

    Mistake 5: No Testing with Large Data Sets

    Problem: Report works great in test tenant with 100 employees. In production with 50,000 employees, it times out.

    Solution:

    • Test in Sandbox with production-like data volumes
    • Run performance checks before deploying
    • Add filters to limit data scope if needed

    Real-World Report Examples

    Example 1: Compensation Analysis Report (Advanced)

    Business Need: HR needs list of all employees with compensation below market midpoint for their pay grade.

    Report Type: Advanced Report

    Data Source: Workers

    Columns:

    • Employee Name
    • Employee ID
    • Job Profile
    • Compensation Grade
    • Annual Salary
    • Compensation Grade Midpoint (reference field)
    • Compa-Ratio (calculated: Salary ÷ Midpoint × 100)
    • Variance from Midpoint (calculated: Salary – Midpoint)

    Filter:

    • Worker Status = Active
    • Compa-Ratio < 90% (below market)

    Sorting: Compa-Ratio ascending (lowest paid first)

    Use Case: Annual compensation review to identify underpaid employees.

    Example 2: Termination Trend Analysis (Matrix)

    Business Need: Leadership wants to see termination trends over the past 12 months by department.

    Report Type: Matrix Report

    Data Source: Terminate Employee Event

    Rows: Organization (Department)

    Columns: Event Date > Month

    Measure: Count of Terminations

    Filter: Event Date is within the last 12 months

    Chart: Line chart showing termination trend by department

    Use Case: Monthly leadership review to identify retention issues.

    Example 3: Executive HR Dashboard (Composite)

    Business Need: CEO wants single-page HR scorecard showing headcount, hiring, turnover, and diversity metrics.

    Report Type: Composite Report

    Sub-Reports:

    1. Headcount Trend (Matrix)

    • Rows: Time Period (Month)
    • Measure: Count of Active Workers

    2. Hiring by Source (Matrix)

    • Rows: Recruiting Source
    • Measure: Count of Hires

    3. Turnover Rate (Matrix)

    • Rows: Department
    • Columns: Month
    • Measure: Termination Count
    • Composite Calculation: Turnover % = (Terms ÷ Avg Headcount) × 100

    4. Diversity Metrics (Matrix)

    • Rows: Gender
    • Columns: Job Level
    • Measure: Count of Workers

    Alignment: By Time Period (Month)

    Use Case: Monthly executive briefing, CEO board presentation.

    Your Report Type Cheat Sheet

    QuestionReport TypeExample
    Need a list of individual records?Advanced“Show me all new hires in Q1”
    Need to aggregate across 1-2 dimensions?Matrix“Headcount by dept and location”
    Need to combine multiple metrics?Composite“HR scorecard: headcount, hires, terms, turnover”
    Need detailed transaction history?Advanced“All compensation changes in 2024”
    Need trend analysis over time?Matrix“Monthly hiring trend by department”
    Need pivot table / crosstab?Matrix“Average salary by job level and location”
    Need executive dashboard with 4-5 KPIs?Composite“Finance scorecard: budget, actuals, variance, forecast”
    Need to export for integration/EIB?Advanced“All active workers with full demographic data”
    Need drillable interactive analysis?Matrix“Headcount by org (click to see employees)”

    What You’ve Learned

    You now understand:

    ✅ The three core Workday report types and when to use each

    ✅ How to build Advanced Reports for detailed lists and transaction logs

    ✅ How to build Matrix Reports for aggregations, pivots, and trends

    ✅ How to build Composite Reports for multi-metric dashboards

    ✅ How to use Calculated Fields for custom formulas and logic

    ✅ Performance optimization techniques to keep reports fast

    ✅ Common mistakes to avoid and best practices to follow

    The difference between a junior and senior Workday professional isn’t knowing how to build reports—it’s knowing which report type to build for each business need.

    Choose wisely. Build efficiently. Deliver insights, not just data.