SAP Analytics
This skill enforces correct analytics architecture decisions, ensuring that CDS-based analytics are used for S/4HANA embedded reporting, standard Fiori analytical apps are evaluated before building custom reports, and authorization relevance is never an afterthought in CDS view design.
Content Routing
| Topic |
Section |
| SAP Analytics Cloud (SAC) |
SAP Analytics Cloud |
| CDS-based embedded analytics |
Embedded Analytics in S/4HANA |
| BW/4HANA and data warehousing |
BW/4HANA |
| SAP Datasphere |
SAP Datasphere |
| Fiori analytical apps |
Fiori Analytical Apps |
| Planning models |
SAC Planning |
| Live connection vs import |
Connection Types |
Iron Laws
- ALWAYS USE CDS-BASED ANALYTICS FOR S/4HANA EMBEDDED REPORTING. Classic SE38/SQ01 reports and BW extractors are technical debt in S/4HANA. CDS views with analytical annotations are the strategic reporting foundation. Every new analytical requirement starts with CDS.
- NEVER BUILD CUSTOM REPORTS WHEN STANDARD FIORI ANALYTICAL APPS EXIST. SAP delivers 500+ analytical Fiori apps. Before writing a single CDS view, search the Fiori Apps Library (fioriappslibrary.hana.ondemand.com) for existing coverage. Custom reports have maintenance costs; standard apps are upgraded by SAP.
- ALWAYS CONSIDER AUTHORIZATION RELEVANCE IN CDS VIEWS. A CDS view without @AccessControl.authorizationCheck annotation defaults to NOT_ALLOWED in strict mode. Every analytical CDS view must have an explicit authorization check or a documented justification for NOT_REQUIRED. Data leaks from missing auth checks are audit findings.
- NEVER MIX LIVE AND IMPORT MODELS WITHOUT ARCHITECTURE JUSTIFICATION. SAC live connections (real-time to HANA/BW) and import models (scheduled data copy) serve different purposes. Mixing them in the same story without documented rationale creates user confusion about data freshness.
- ALWAYS VALIDATE KPI DEFINITIONS WITH BUSINESS OWNERS. A technically correct KPI with a business-incorrect definition is worse than no KPI. Revenue recognition timing, cost allocation methods, and headcount definitions MUST be confirmed with finance/HR before building dashboards.
Embedded Analytics in S/4HANA
CDS Analytical Annotations
The foundation of S/4HANA embedded analytics. Key annotations:
| Annotation |
Purpose |
| @Analytics.dataCategory: #CUBE |
Marks view as analytical cube (fact data) |
| @Analytics.dataCategory: #DIMENSION |
Marks view as dimension (master data) |
| @AnalyticsDetails.query.axis: #ROWS / #COLUMNS |
Default query layout |
| @Semantics.amount.currencyCode |
Currency field association |
| @Semantics.quantity.unitOfMeasure |
Unit of measure association |
| @Consumption.derivation |
Default filter value derivation |
| @AccessControl.authorizationCheck: #CHECK |
Authorization enforcement |
| @ObjectModel.representativeKey |
Key field for Fiori display |
CDS View Stack (Recommended Pattern)
- Interface View (I_): Stable API, reusable across applications. SAP-delivered.
- Consumption View (C_): Built on interface views, adds analytical annotations. SAP or custom.
- Extension View (Z_): Custom extensions via CDS view extension or wrapper views.
Virtual Data Model (VDM)
S/4HANA VDM organizes CDS views into layers:
- Basic (private): Direct table access — not for consumption
- Composite (restricted): Join multiple basic views — internal use
- Consumption (public): Exposed to Fiori, OData, SAC — the API layer
Key Analytical CDS Views (Examples)
| CDS View |
Domain |
| C_TRIALBALANCE |
Financial — Trial balance |
| C_JOURNALENTRYITEMQ |
Financial — Journal entries |
| C_GLLINEITEMQ |
Financial — GL line items |
| C_PROFITCENTERACTUALQ |
CO — Profit center actuals |
| C_PURCHASEORDERITEMQ |
MM — Purchase order analytics |
| C_SALESORDERITEMQ |
SD — Sales order analytics |
| C_PRODUCTIONORDERQ |
PP — Production order analytics |
SAP Analytics Cloud
SAC Capabilities
- Business Intelligence: Stories, dashboards, smart insights, smart predict
- Planning: Financial and operational planning with versioning
- Predictive: Time series forecasting, classification, regression
- Application Design: Custom analytical applications with scripting
Connection Types
| Type |
Data Freshness |
Use Case |
Limitations |
| Live (HANA) |
Real-time |
Operational dashboards |
No blending, limited data wrangling |
| Live (BW) |
Real-time |
BW query consumption |
No blending across connections |
| Import (scheduled) |
Scheduled refresh |
Cross-source blending, planning |
Data latency, storage limits |
| Import (file) |
Manual upload |
Ad-hoc analysis |
No automation |
Story Design Best Practices
- One story, one purpose — do not combine operational monitoring with strategic analysis
- Use responsive pages — design for desktop and mobile from the start
- Limit widgets per page to 8-10 — performance degrades with widget count
- Use input controls over page filters for user-facing filtering
- Set default filters to avoid full-data-set initial load
- Use calculated measures sparingly — complex calculations degrade live connection performance
SAC Planning
Planning Model Design
- Accounts dimension: Mandatory — represents the measure structure (revenue, cost, headcount)
- Time dimension: Mandatory — fiscal or calendar periods
- Organization dimension: Company code, cost center, profit center
- Category dimension: Plan, actual, forecast, budget versions
- Custom dimensions: Product, region, project as needed
Key Planning Features
| Feature |
Description |
| Data Actions |
Automated allocation, copy, distribution operations |
| Multi Actions |
Chain multiple data actions with parameters |
| Predictive Forecasting |
Time-series-based forecast generation |
| Value Driver Trees |
Top-down planning with driver decomposition |
| Calendar Tasks |
Workflow for planning cycles with assignments and deadlines |
| Version Management |
Plan, budget, forecast version comparisons |
Integration with S/4HANA
- Embedded Planning: SAC planning models connected live to S/4HANA ACDOCA
- Writeback: Plan data written back to S/4HANA for integrated financial reporting
- Data Actions for Actuals: Pull actuals from S/4HANA into planning models for comparison
Fiori Analytical Apps
App Types
| Type |
Technology |
Example |
| Overview Page (OVP) |
Smart annotations, CDS |
Financial Overview, Procurement Overview |
| Analytical List Page (ALP) |
CDS + SmartTable |
Journal Entry Items, Sales Orders |
| KPI Workspace |
KPI modeler |
Custom KPI tiles on Fiori Launchpad |
| SAC Embedded |
iFrame/mashup |
Embedded SAC story in Fiori |
Key Standard Analytical Apps
- F0996A: Financial Statement (actual/plan comparison)
- F1531: Display Journal Entries
- F2077: Manage Cost Centers and Budgets
- F0713: Sales Order Fulfillment Analysis
- F0842: Purchase Order Tracking
- F2439: Inventory Analysis
BW/4HANA
When to Use BW/4HANA
- Cross-system reporting (multiple S/4HANA instances, non-SAP sources)
- Historical data retention beyond S/4HANA operational data lifetime
- Complex transformation and data modeling beyond CDS view capabilities
- Near-line storage for large data volumes
Key Objects
| Object |
Purpose |
| ADSO (Advanced DataStore Object) |
Primary data persistence |
| CompositeProvider |
Virtual data integration layer |
| Open ODS View |
External data consumption without persistence |
| BW Query |
Analytical query for consumption by SAC or Fiori |
CDS Extraction
S/4HANA -> BW/4HANA extraction uses CDS-based extractors (replacing classic datasources). Annotation: @Analytics.dataExtraction.enabled: true.
SAP Datasphere
Positioning
SAP Datasphere (formerly Data Warehouse Cloud) is the cloud data integration and modeling layer.
Key Capabilities
- Spaces: Isolated workspaces for data governance
- Data Builder: Graphical data flow and view modeling
- Business Layer: Business-friendly semantic model on technical data
- Data Marketplace: Third-party and SAP content packages
- Open SQL Schema: Direct HANA SQL access for advanced scenarios
Integration with SAC
Datasphere serves as the semantic layer between raw data and SAC stories. Pattern: Source systems -> Datasphere (model/govern) -> SAC (visualize/plan).
Best Practices
- Start with SAP standard content — check the SAC content library and Fiori apps library before building custom
- Design CDS views for reuse — build interface views that multiple consumption views can reference
- Implement row-level security via DCL — CDS data control language for authorization, not application-level filtering
- Use bookmarks in SAC stories for personalized views instead of duplicating stories
- Monitor CDS view performance — use SQL explain plan and HANA monitoring to detect expensive views
Anti-Patterns
- Building ABAP ALV reports for analytics in S/4HANA (bypasses the VDM and lacks CDS benefits)
- Creating one massive CDS view with 50+ joins instead of layered VDM approach (performance disaster)
- Using SAC import mode for data that changes hourly (live connection is appropriate)
- Skipping @AccessControl annotations — data exposed to all users without explicit authorization
- Hardcoding currency conversion in CDS views instead of using standard conversion functions
Verification
This skill is complete ONLY when ALL of the following are true:
Evidence required: Specific CDS view names, SAC model design decisions, connection type justification, and standard content references — not generic analytics advice.
Next Skill
After completing this skill, invoke:
fi — When financial reporting CDS views or GL analytics are the focus
btp — When custom analytical applications or Datasphere configuration is needed
abap-cloud — When custom CDS view development is required
Cross-References
fi — Financial reporting, trial balance, journal entry analytics
co — Cost center and profit center analytical views
abap-cloud — CDS view development, ABAP SQL, RAP-based analytical services
btp — SAP Datasphere administration, SAC tenant management
sf — Workforce analytics integration with SuccessFactors data
1---2name: analytics3description: Use when working with SAP Analytics Cloud (SAC), embedded analytics in S/4HANA, CDS-based analytical views, KPI modeling, Fiori analytical apps, BW/4HANA, SAP Datasphere, planning models, or BI story design.4---56# SAP Analytics78This skill enforces correct analytics architecture decisions, ensuring that CDS-based analytics are used for S/4HANA embedded reporting, standard Fiori analytical apps are evaluated before building custom reports, and authorization relevance is never an afterthought in CDS view design.910## Content Routing1112| Topic | Section |13|-------|---------|14| SAP Analytics Cloud (SAC) | SAP Analytics Cloud |15| CDS-based embedded analytics | Embedded Analytics in S/4HANA |16| BW/4HANA and data warehousing | BW/4HANA |17| SAP Datasphere | SAP Datasphere |18| Fiori analytical apps | Fiori Analytical Apps |19| Planning models | SAC Planning |20| Live connection vs import | Connection Types |2122## Iron Laws23241. **ALWAYS USE CDS-BASED ANALYTICS FOR S/4HANA EMBEDDED REPORTING.** Classic SE38/SQ01 reports and BW extractors are technical debt in S/4HANA. CDS views with analytical annotations are the strategic reporting foundation. Every new analytical requirement starts with CDS.252. **NEVER BUILD CUSTOM REPORTS WHEN STANDARD FIORI ANALYTICAL APPS EXIST.** SAP delivers 500+ analytical Fiori apps. Before writing a single CDS view, search the Fiori Apps Library (fioriappslibrary.hana.ondemand.com) for existing coverage. Custom reports have maintenance costs; standard apps are upgraded by SAP.263. **ALWAYS CONSIDER AUTHORIZATION RELEVANCE IN CDS VIEWS.** A CDS view without @AccessControl.authorizationCheck annotation defaults to NOT_ALLOWED in strict mode. Every analytical CDS view must have an explicit authorization check or a documented justification for NOT_REQUIRED. Data leaks from missing auth checks are audit findings.274. **NEVER MIX LIVE AND IMPORT MODELS WITHOUT ARCHITECTURE JUSTIFICATION.** SAC live connections (real-time to HANA/BW) and import models (scheduled data copy) serve different purposes. Mixing them in the same story without documented rationale creates user confusion about data freshness.285. **ALWAYS VALIDATE KPI DEFINITIONS WITH BUSINESS OWNERS.** A technically correct KPI with a business-incorrect definition is worse than no KPI. Revenue recognition timing, cost allocation methods, and headcount definitions MUST be confirmed with finance/HR before building dashboards.2930## Embedded Analytics in S/4HANA3132### CDS Analytical Annotations33The foundation of S/4HANA embedded analytics. Key annotations:3435| Annotation | Purpose |36|------------|---------|37| @Analytics.dataCategory: #CUBE | Marks view as analytical cube (fact data) |38| @Analytics.dataCategory: #DIMENSION | Marks view as dimension (master data) |39| @AnalyticsDetails.query.axis: #ROWS / #COLUMNS | Default query layout |40| @Semantics.amount.currencyCode | Currency field association |41| @Semantics.quantity.unitOfMeasure | Unit of measure association |42| @Consumption.derivation | Default filter value derivation |43| @AccessControl.authorizationCheck: #CHECK | Authorization enforcement |44| @ObjectModel.representativeKey | Key field for Fiori display |4546### CDS View Stack (Recommended Pattern)471. **Interface View (I_):** Stable API, reusable across applications. SAP-delivered.482. **Consumption View (C_):** Built on interface views, adds analytical annotations. SAP or custom.493. **Extension View (Z_):** Custom extensions via CDS view extension or wrapper views.5051### Virtual Data Model (VDM)52S/4HANA VDM organizes CDS views into layers:53- **Basic (private):** Direct table access — not for consumption54- **Composite (restricted):** Join multiple basic views — internal use55- **Consumption (public):** Exposed to Fiori, OData, SAC — the API layer5657### Key Analytical CDS Views (Examples)58| CDS View | Domain |59|----------|--------|60| C_TRIALBALANCE | Financial — Trial balance |61| C_JOURNALENTRYITEMQ | Financial — Journal entries |62| C_GLLINEITEMQ | Financial — GL line items |63| C_PROFITCENTERACTUALQ | CO — Profit center actuals |64| C_PURCHASEORDERITEMQ | MM — Purchase order analytics |65| C_SALESORDERITEMQ | SD — Sales order analytics |66| C_PRODUCTIONORDERQ | PP — Production order analytics |6768## SAP Analytics Cloud6970### SAC Capabilities71- **Business Intelligence:** Stories, dashboards, smart insights, smart predict72- **Planning:** Financial and operational planning with versioning73- **Predictive:** Time series forecasting, classification, regression74- **Application Design:** Custom analytical applications with scripting7576### Connection Types77| Type | Data Freshness | Use Case | Limitations |78|------|---------------|----------|-------------|79| Live (HANA) | Real-time | Operational dashboards | No blending, limited data wrangling |80| Live (BW) | Real-time | BW query consumption | No blending across connections |81| Import (scheduled) | Scheduled refresh | Cross-source blending, planning | Data latency, storage limits |82| Import (file) | Manual upload | Ad-hoc analysis | No automation |8384### Story Design Best Practices851. **One story, one purpose** — do not combine operational monitoring with strategic analysis862. **Use responsive pages** — design for desktop and mobile from the start873. **Limit widgets per page to 8-10** — performance degrades with widget count884. **Use input controls** over page filters for user-facing filtering895. **Set default filters** to avoid full-data-set initial load906. **Use calculated measures sparingly** — complex calculations degrade live connection performance9192## SAC Planning9394### Planning Model Design95- **Accounts dimension:** Mandatory — represents the measure structure (revenue, cost, headcount)96- **Time dimension:** Mandatory — fiscal or calendar periods97- **Organization dimension:** Company code, cost center, profit center98- **Category dimension:** Plan, actual, forecast, budget versions99- **Custom dimensions:** Product, region, project as needed100101### Key Planning Features102| Feature | Description |103|---------|-------------|104| Data Actions | Automated allocation, copy, distribution operations |105| Multi Actions | Chain multiple data actions with parameters |106| Predictive Forecasting | Time-series-based forecast generation |107| Value Driver Trees | Top-down planning with driver decomposition |108| Calendar Tasks | Workflow for planning cycles with assignments and deadlines |109| Version Management | Plan, budget, forecast version comparisons |110111### Integration with S/4HANA112- **Embedded Planning:** SAC planning models connected live to S/4HANA ACDOCA113- **Writeback:** Plan data written back to S/4HANA for integrated financial reporting114- **Data Actions for Actuals:** Pull actuals from S/4HANA into planning models for comparison115116## Fiori Analytical Apps117118### App Types119| Type | Technology | Example |120|------|-----------|---------|121| Overview Page (OVP) | Smart annotations, CDS | Financial Overview, Procurement Overview |122| Analytical List Page (ALP) | CDS + SmartTable | Journal Entry Items, Sales Orders |123| KPI Workspace | KPI modeler | Custom KPI tiles on Fiori Launchpad |124| SAC Embedded | iFrame/mashup | Embedded SAC story in Fiori |125126### Key Standard Analytical Apps127- **F0996A:** Financial Statement (actual/plan comparison)128- **F1531:** Display Journal Entries129- **F2077:** Manage Cost Centers and Budgets130- **F0713:** Sales Order Fulfillment Analysis131- **F0842:** Purchase Order Tracking132- **F2439:** Inventory Analysis133134## BW/4HANA135136### When to Use BW/4HANA137- Cross-system reporting (multiple S/4HANA instances, non-SAP sources)138- Historical data retention beyond S/4HANA operational data lifetime139- Complex transformation and data modeling beyond CDS view capabilities140- Near-line storage for large data volumes141142### Key Objects143| Object | Purpose |144|--------|---------|145| ADSO (Advanced DataStore Object) | Primary data persistence |146| CompositeProvider | Virtual data integration layer |147| Open ODS View | External data consumption without persistence |148| BW Query | Analytical query for consumption by SAC or Fiori |149150### CDS Extraction151S/4HANA -> BW/4HANA extraction uses CDS-based extractors (replacing classic datasources). Annotation: @Analytics.dataExtraction.enabled: true.152153## SAP Datasphere154155### Positioning156SAP Datasphere (formerly Data Warehouse Cloud) is the cloud data integration and modeling layer.157158### Key Capabilities159- **Spaces:** Isolated workspaces for data governance160- **Data Builder:** Graphical data flow and view modeling161- **Business Layer:** Business-friendly semantic model on technical data162- **Data Marketplace:** Third-party and SAP content packages163- **Open SQL Schema:** Direct HANA SQL access for advanced scenarios164165### Integration with SAC166Datasphere serves as the semantic layer between raw data and SAC stories. Pattern: Source systems -> Datasphere (model/govern) -> SAC (visualize/plan).167168## Best Practices1691701. **Start with SAP standard content** — check the SAC content library and Fiori apps library before building custom1712. **Design CDS views for reuse** — build interface views that multiple consumption views can reference1723. **Implement row-level security via DCL** — CDS data control language for authorization, not application-level filtering1734. **Use bookmarks** in SAC stories for personalized views instead of duplicating stories1745. **Monitor CDS view performance** — use SQL explain plan and HANA monitoring to detect expensive views175176## Anti-Patterns177178- Building ABAP ALV reports for analytics in S/4HANA (bypasses the VDM and lacks CDS benefits)179- Creating one massive CDS view with 50+ joins instead of layered VDM approach (performance disaster)180- Using SAC import mode for data that changes hourly (live connection is appropriate)181- Skipping @AccessControl annotations — data exposed to all users without explicit authorization182- Hardcoding currency conversion in CDS views instead of using standard conversion functions183184## Verification185186This skill is complete ONLY when ALL of the following are true:187- [ ] Correct analytics technology selected for the scenario (CDS, SAC, BW/4HANA, Datasphere)188- [ ] Authorization approach defined (DCL for CDS, SAC security for stories)189- [ ] Connection type justified (live vs. import with rationale)190- [ ] Standard content checked before proposing custom development191- [ ] KPI definitions validated against business requirements, not just technical correctness192- [ ] Performance implications considered (view complexity, data volume, refresh frequency)193194**Evidence required:** Specific CDS view names, SAC model design decisions, connection type justification, and standard content references — not generic analytics advice.195196## Next Skill197198After completing this skill, invoke:199- `fi` — When financial reporting CDS views or GL analytics are the focus200- `btp` — When custom analytical applications or Datasphere configuration is needed201- `abap-cloud` — When custom CDS view development is required202203## Cross-References204205- `fi` — Financial reporting, trial balance, journal entry analytics206- `co` — Cost center and profit center analytical views207- `abap-cloud` — CDS view development, ABAP SQL, RAP-based analytical services208- `btp` — SAP Datasphere administration, SAC tenant management209- `sf` — Workforce analytics integration with SuccessFactors data