Tag: workday advanced reports

  • 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.