14.2 Building Custom Reports: Index vs Standard
Key Takeaways
- Create custom reports by starting from or copying a delivered report when possible; use Create Custom Report when you need a deliberate data source and report type from the outset.
- Index data sources are pre-built, optimized, denormalized structures for faster reporting on large datasets; Standard data sources read fields directly from a business object and its related objects.
- Report columns pull fields from the primary business object and from related business objects reachable on the chosen data source—walk the BO graph rather than inventing free-floating columns.
- Enable a custom report as a web service (Report as a Service / RaaS) when integrations must consume the output programmatically; the calling identity still needs domain Get access.
- Data source choice (Index vs Standard), related-object hops, and RaaS enablement are exam-critical design decisions for tasks T58–T60.
14.2 Building Custom Reports: Index vs Standard
Quick Summary: Build Custom Reports by copying delivered definitions when close, or by creating a custom report with an intentional data source. Prefer Index data sources for high-volume, performance-sensitive reporting; use Standard data sources when you need flexible, object-centric field paths. Add columns from the primary business object and related BOs, and enable RaaS when systems must call the report as a web service.
Tasks T58, T59, and T60 sit at the center of Report Writer Fundamentals. After T57's copy-and-columns skill, the exam expects you to create custom reports thoughtfully: pick the right starting point, choose Index vs Standard, assemble fields across the data model, and know when web service enablement matters.
Creating a Custom Report (T58)
"Create a custom report by starting with or copying a delivered report" is deliberate wording. Two valid starts:
| Start path | When to use | What you inherit |
|---|---|---|
| Copy delivered / standard report | Requirement matches ~most of an existing report | Data source, columns, filters, prompts, type-oriented setup |
| Create Custom Report task | New requirement, deliberate type/source choice, or no close delivered fit | You choose report type and data source first, then columns |
Create Custom Report high-level steps
- Launch Create Custom Report (or copy a delivered report if that is the better start).
- Name the report with a clear tenant convention.
- Select report type (for example Advanced for flexible lists; Matrix when you need summarized row×column layouts—Matrix detail is expanded in Advanced Reporting).
- Select the data source (Index vs Standard decision below).
- Optionally set data source filters that permanently constrain the population.
- Add columns (fields from primary and related objects).
- Configure sort, filters, and prompts (section 14.3).
- Configure sharing / security design (section 14.4).
- Enable as web service only if integrations need RaaS.
- Save, test as yourself and as a representative runner, then promote through your change process.
Exam trap: Creating a custom report is not writing SQL against the tenant database. Workday Report Writer is metadata-driven over data sources and business objects.
Index vs Standard Data Sources (T59) — Exam-Critical
Every custom report binds to a data source. For HCM Core Report Writer, master the contrast between Index and Standard data sources.
| Dimension | Index data source | Standard data source |
|---|---|---|
| Structure | Pre-built, optimized, denormalized structures delivered by Workday | Reads fields directly from a business object and navigable related objects |
| Performance | Tuned for faster reporting on large datasets | More flexible; can be slower on large tenants with many hops |
| Flexibility | Field set oriented around the index design | Richer object-centric exploration of related BOs |
| Typical use | High-volume operational and analytics lists (for example worker-centric indexes) | When you need specific related-object paths or fields best reached from the BO model |
| License myth | No special extra license required just because it is Index | Same platform feature set for Core reporting |
Definition pair to memorize:
- Index data sources = pre-built, optimized, denormalized structures for faster reporting on large datasets (example language: Worker Index style sources).
- Standard data sources = pull directly from a business object and its related objects, offering more flexibility but potentially slower performance on large tenants.
Exam trap A: "Standard is always faster than Index." → False. Index is generally the performance-oriented choice for large volumes.
Exam trap B: "Index requires a paid add-on license." → False in standard Core exam language—do not invent licensing gates.
Exam trap C: "There is no difference." → False. Structure, flexibility, and performance differ.
Need high volume + speed? --> prefer Index data source
Need flexible BO paths? --> Standard data source (or Index if fields exist there)
Unsure? --> Check whether a delivered report already solved it (copy)
Configuration scenario: Global Retail must extract 120,000 worker rows nightly for a workforce analytics mart. The author chooses an Index worker-oriented data source for performance, limits columns to required fields, and enables RaaS for the integration ISU. A second report for a 40-person HRIS team that must traverse unusual related objects for a one-off audit may use a Standard data source where those paths are clearer—even if slightly slower—because flexibility matters more than bulk speed.
Fields from Business Objects and Related BOs (T60 part 1)
Report columns are not free-form Excel headers. They are fields on the primary business object of the data source or on related business objects reachable through Workday's data model.
Recall from HCM Fundamentals:
- A business object is an entity type (Worker, Position, Supervisory Organization, Job Profile, Location…).
- Fields store values on an instance.
- Related business objects link instances so reports can hop (Worker → Position → Job Profile → management level).
| Starting point | Example related path | Example columns |
|---|---|---|
| Worker-centric source | Worker → Supervisory Organization | Org name, org ID |
| Worker-centric source | Worker → Position → Job Profile | Job profile name, management level |
| Worker-centric source | Worker → Location | Location name, location hierarchy |
| Position-centric source | Position → filled Worker | Worker name, employee ID |
| Org-centric source | Organization → roles / members | Leadership role holders (as available) |
Practical field-add rules
- Confirm the primary object of the data source matches the grain of the question (one row per worker vs per position).
- Add direct fields first (Employee ID, Preferred Name).
- Use related business object field pickers for attributes that live one or more hops away.
- Avoid unnecessary hops—each related-object traversal can cost performance (deepened under T69).
- Prefer fields already denormalized on an Index source when performance is critical and the field exists there.
Configuration scenario: "Show each worker's Job Profile and Location." On a worker report, add Job Profile and Location via related object paths (or index fields that already expose them). Do not create a second report solely for Job Profile unless the grain must be one row per profile.
Exam trap: Believing Report Writer can invent a column with no path from the data source's objects. If the field is not on the primary or related BOs available to that source, you need a different source, a calculated field (later chapter), or a different report grain.
Enable as Web Service — RaaS (T60 part 2)
Report as a Service (RaaS) means enabling a Custom Report so external systems can consume its output through a SOAP/REST web service endpoint. This is a common Workday integration pattern for outbound extracts and system-to-system feeds.
| RaaS fact | Detail |
|---|---|
| What it enables | Programmatic read of the report result set via web services |
| What it is not | A write-back API into business objects (use integrations/web services with Put for writes) |
| Security | Still applies—calling Integration System User needs Get on relevant domains; RaaS does not bypass security |
| Filters | Report filters and prompts still shape the payload |
| When required | When an integration, middleware, or external tool must pull the report without a human UI run |
Configuration scenario: Contoso's middleware must pull active worker IDs and emails every hour. HRIS builds an Advanced custom report on an Index data source with only those columns, enables the report as a web service, documents the endpoint, and grants the Integration System Security Group Get on the domains securing those data elements. The ISU authenticates and calls RaaS; humans may still run the same report in the UI if shared.
Exam traps for RaaS:
- "RaaS runs without any security" → False.
- "RaaS writes data back into Workday" → False (read/consume output).
- "RaaS bypasses all filters" → False.
Putting T58–T60 Together: Design Checklist
Use this checklist when a stem describes building a custom report:
- Start: Copy delivered if close; else Create Custom Report.
- Type: Advanced for lists; Matrix when summarization/drill is the goal (Matrix depth in ch. 15).
- Data source: Index for large/fast; Standard for flexible BO/related-field access.
- Columns: Primary BO fields + related BO fields only along real relationships.
- Minimize hops and columns for performance-sensitive extracts.
- RaaS: Enable only if programmatic consumption is required; pair with domain Get for the ISU.
- Share and test under a real runner's security (next sections).
Side-by-Side: Copy Path vs Create Path
| Step | Copy path (T57/T58) | Create path (T58) |
|---|---|---|
| Open | Delivered report | Create Custom Report |
| Baseline | Inherited | Blank + your choices |
| Data source | Usually keep unless wrong | Choose Index or Standard deliberately |
| Columns | Modify from inherited set | Add from scratch |
| RaaS | Enable on the custom copy if needed | Enable on the new report if needed |
Common Exam Scenarios
Scenario 1 — Index vs Standard definition. Question asks the difference → Index = optimized denormalized/pre-built for large data speed; Standard = direct BO + related objects, more flexible.
Scenario 2 — Performance. Large tenant, nightly extract → lean toward Index, fewer related hops, fewer columns.
Scenario 3 — Flexibility. Need obscure related fields not on the index → Standard (or a different source that exposes them).
Scenario 4 — Integration. "External system must consume report output" → enable RaaS + domain Get for ISU.
Scenario 5 — Fields. "Add manager name to worker report" → related BO field path from worker, not a new staffing model.
Master Index vs Standard and RaaS security before memorizing every delivered data source name. Under exam timing, vocabulary and design intent score the points.
On a Custom Report, what is the difference between an Index data source and a Standard data source?
On a Custom Report, what does enabling the report as a web service (Report as a Service / RaaS) allow?
A report author needs columns for Worker Preferred Name, Supervisory Organization, and Job Profile on one row per worker. What is the correct mental model for adding those columns?
Which design choice best fits a nightly extract of a very large active-worker population for an external analytics system?