Saturday, March 22, 2025

Detailed Outline of Data Interaction Between SAP SAC and SAP S/4HANA

Detailed Outline of Data Interaction Between SAP SAC and SAP S/4HANA

1. Overview of SAP SAC and SAP S/4HANA

  • SAP S/4HANA: An ERP suite for finance, supply chain, procurement, and more, built on the SAP HANA in-memory database. It supports real-time processing and embedded analytics.
  • SAP Analytics Cloud (SAC): A cloud-based platform for business intelligence, predictive analytics, and planning. It integrates data from multiple sources, including S/4HANA, for visualization and decision-making.

2. Key Data Interaction Methods

  • Direct Connectivity via OData Services:
    • SAC connects to S/4HANA's OData services to extract data from CDS (Core Data Services) views or standard APIs.
    • Use Case: Real-time access to operational data, such as sales orders and financials.
    • Tools: SAP Gateway for OData exposure in S/4HANA.
  • Live Connection to SAP HANA Database:
    • SAC connects directly to the HANA database underlying S/4HANA via JDBC/ODBC.
    • Leverages CDS views for real-time analytics without data replication, using virtual data models.
    • Advantages: Real-time insights and reduced data redundancy.
  • Extract, Transform, Load (ETL):
    • Data Replication: Batch or data streaming via SAP Data Services, SAP SLT (Logistics Transaction), or SAP Cloud Platform Integration (CPI).
    • Use Case: Historical reporting or large dataset analysis in SAC.
    • Storage: Data imported into SAC's in-memory engine or external data warehouses, such as SAP BW/4HANA.
  • Integration with SAP BW/4HANA:
    • Indirect Interaction: SAC connects to BW/4HANA (data warehouse layer) for curated data from S/4HANA.
    • Advantages: Pre-aggregated data, optimized for complex analytics.

3. Real-Time vs. Replicated Data

  • Live Data Access:
    • Pros: Real-time insights and no data duplication.
    • Cons: Performance depends on S/4HANA load; limited to HANA-based S/4HANA systems.
  • Data Replication:
    • Pros: Faster query performance in SAC; supports hybrid (cloud/on-prem) setups.
    • Cons: Data latency; requires ETL maintenance.

4. Planning and Write-Back Scenarios

  • Planning in SAC:
    • Data Flow: Budget or forecast data created in SAC can be written back to S/4HANA via APIs or BAPIs.
    • Integration: Uses SAP Cloud Platform for secure write-back.
    • Use Case: Collaborative financial planning with updates to S/4HANA CO-PA modules.

5. APIs and Middleware

  • REST/OData APIs: Custom APIs in S/4HANA expose data for SAC consumption.
  • SAP Cloud Platform Integration (CPI): Middleware for harmonizing data between SAC and S/4HANA, such as transforming legacy formats.
  • SAP Cloud Connector: Securely bridges on-prem S/4HANA to cloud-based SAC.

6. Security and Authorization

  • Role-Based Access: SAC users inherit S/4HANA roles via SAML/SSO. Data-level security enforced via HANA analytic privileges.
  • Encryption: Data encrypted in transit (HTTPS) and at rest.

7. Use Cases

  • Financial Reporting: Real-time P&L dashboards using live HANA connections.
  • Supply Chain Analytics: Replicated data in SAC for trend analysis.
  • Predictive Maintenance: SAC integrates S/4HANA IoT data with machine learning.

8. Challenges and Considerations

  • Data Volume: Live connections may struggle with large datasets.
  • Hybrid Deployments: Requires Cloud Connector for on-prem S/4HANA.
  • Consistency: Ensure alignment between SAC models and S/4HANA CDS views.

9. Tools and Technologies

  • SAP HANA Smart Data Integration (SDI): Virtualizes data for SAC.
  • SAP Analytics Cloud Agent: Facilitates on-prem connectivity.
  • SAP Fiori Apps: Embed SAC analytics directly in S/4HANA UI.

Summary

SAC and S/4HANA integrate via live connections (OData/HANA), replication (ETL), or middleware (CPI). SAC consumes real-time operational data for analytics and writes back planning data. Security, performance, and deployment models (cloud/on-prem) shape the interaction strategy.

Friday, March 21, 2025

SAC Trial Access - a brief

Table of Contents

  1. Introduction
  2. Step 1: Visit the SAP Analytics Cloud Trial Page
  3. Step 2: Start Your Free Trial
  4. Step 3: Create an SAP Account
  5. Step 4: Activate the Trial
  6. Step 5: Access SAP Analytics Cloud
  7. Step 6: Explore SAC Features
  8. Post-Trial Options
  9. Notes

1. Introduction

To obtain a trial access for SAP Analytics Cloud (SAC), follow these steps:

2. Step 1: Visit the SAP Analytics Cloud Trial Page

Go to the official SAP trial website: 👉 SAP Analytics Cloud Trial Page

3. Step 2: Start Your Free Trial

  • Click the "Start your free trial" button.
  • If prompted, select "Cloud Analytics" or "SAP Analytics Cloud" from the trial options.

4. Step 3: Create an SAP Account

  1. Sign up with your business or personal email address.
  2. Fill in your details (name, country, phone number, etc.).
  3. Agree to SAP's terms and conditions.
  4. Verify your email via the confirmation link sent by SAP.

5. Step 4: Activate the Trial

  • After logging into your SAP account, activate the SAC trial.
  • The trial typically lasts 30 days and includes full access to SAC features (analytics, planning, predictive tools, etc.).

6. Step 5: Access SAP Analytics Cloud

  1. Go to the SAC login page.
  2. Log in with your SAP account credentials.
  3. You'll be directed to your SAC trial environment.

7. Step 6: Explore SAC Features

  • Use pre-built templates, connect sample data, or upload your own datasets.
  • Access tutorials and guided walkthroughs within SAC to learn the platform.

8. Post-Trial Options

  • Extend or Convert: Contact SAP sales to extend your trial or convert to a paid subscription.
  • Data Backup: Export your work before the trial ends, as data may be deleted afterward.

9. Notes

  • System Requirements: Ensure your browser is updated (Chrome, Firefox, or Edge recommended).
  • Support: Visit the SAP Help Portal for documentation and community support.

Let me know if you need further assistance! 😊

Sunday, March 9, 2025

SAC Live connection with Two sources

Combining Live Connections in SAP Analytics Cloud

Combining Live Connections in SAP Analytics Cloud

1. SAC Live Connections – Key Considerations

Live Connections are real-time: Data is not stored in SAC but is fetched directly from the backend (SAP S/4HANA, BW, HANA, etc.).

No data blending across two Live Connections: SAC does not support native data blending between two Live Connections.

Limited transformations & calculations: Since data is not replicated in SAC, advanced modeling features are restricted.

2. Possible Workarounds

A. Use Data Acquisition Instead of Live Connection

If you need to combine data from two Live sources, consider importing (data acquisition) into SAC. This allows data blending, calculations, and transformations.

However, this approach loses the real-time aspect of Live Connections.

B. Merge Data at Source (Backend Approach)

If you are using SAP BW or SAP HANA, create a Composite Provider, Calculation View, or CDS View that merges data at the backend.

This way, SAC sees it as a single Live Connection with all required fields.

C. Create a Multi-Source Universe (For HANA)

If connecting to SAP HANA, you can use HANA Calculation Views with joins/unions across different data sources.

D. Use Cross-System Queries (For SAP BW)

In SAP BW, use MultiProviders, CompositeProviders, or Open ODS views to combine data across different BW sources.

E. Use Data Federation via SAP Datasphere

SAP Datasphere (formerly Data Warehouse Cloud) can act as an integration layer for multiple Live Connections before SAC reporting.

3. Reporting Considerations

If you just need to display data from two Live Connections without merging them, create separate widgets/pages in SAC stories.

Use Linked Analysis in SAC to synchronize filtering across two Live data sources.

Conclusion

You cannot directly combine two Live Connections in SAC for calculations, but using backend modeling (HANA/BW), Data Acquisition, or an intermediate layer like SAP Datasphere can help you achieve your goal.

Would you like specific guidance based on your data sources (e.g., S/4HANA, BW, HANA)?

SAC ADD - JavaSvtipt API

SAP Analytics Cloud (SAC) Application Designer JavaScript APIs

SAP Analytics Cloud (SAC) Application Designer JavaScript APIs

Here’s a list of key JavaScript APIs available in the SAP Analytics Cloud (SAC) Application Designer, organized by category. These APIs are used to add interactivity, manipulate widgets, and control data in custom applications:


1. Application-Level APIs

  • Application.getApp(): Reference the current application instance.
  • Application.navigateToPage(pageId): Navigate to a specific page in the app.
  • Application.setBusy(isBusy): Show/hide a loading spinner.
  • Application.showMessage(type, message): Display alerts (info, error, warning, success).
  • Application.getParameters(): Retrieve URL parameters passed to the app.

2. Widget-Specific APIs

  • Widget.getWidget(widgetId): Get a widget instance by its ID.
  • Widget.setVisible(widgetId, isVisible): Show/hide a widget.
  • Widget.setData(widgetId, dataSource): Bind a widget to a data source.
  • Widget.refresh(widgetId): Refresh a widget’s data.
  • Widget.setProperty(widgetId, property, value): Modify widget properties (e.g., color, title).

3. Data & Model Handling APIs

  • DataSource.getDataSource(dataSourceId): Reference a dataset or model.
  • DataSource.refreshData(dataSourceId): Refresh data from the source.
  • DataSource.setFilter(dataSourceId, filter): Apply filters to a dataset.
  • DataSource.createMemberFormula(dimension, formula): Define calculated members.
  • DataModel.getPlanningModel(): Access planning-specific functions (write-back, simulations).

4. Variable & Parameter APIs

  • Variable.getVariable(variableId): Retrieve a variable instance.
  • Variable.setValue(variableId, value): Set a variable’s value.
  • Variable.getValue(variableId): Fetch the current value of a variable.
  • Variable.getDisplayValue(variableId): Get the user-friendly display value.

5. Event Handling APIs

  • Event.onClick(widgetId, callback): Trigger actions on widget click.
  • Event.onDataChange(dataSourceId, callback): Execute logic when data changes.
  • Event.onPageNavigate(callback): Run code during page transitions.
  • Event.onVariableChange(variableId, callback): React to variable value changes.

6. Utility & Helper APIs

  • Utilities.formatDate(date, format): Format dates for display.
  • Utilities.formatNumber(value, format): Format numeric values.
  • Utilities.HttpRequest(url, options): Make HTTP requests to external APIs.
  • Logger.log(message): Print debug messages to the console.
  • MessageBox.confirm(message, callback): Show a confirmation dialog.

7. Planning-Specific APIs

  • Planning.saveData(): Commit planning data changes.
  • Planning.runAllocation(dataSourceId): Execute allocation rules.
  • Planning.enableDataEntry(widgetId): Allow write-back in tables/charts.
  • Planning.getVersionInfo(): Retrieve planning model version details.

8. Advanced Scripting APIs

  • Chart.addDrillDownDimension(dimension): Dynamically add drill-downs to charts.
  • Table.setSorting(widgetId, column, order): Sort table columns programmatically.
  • Map.setLayerVisibility(layerId, isVisible): Control map layers.
  • Script.include(scriptUrl): Import external JavaScript libraries.

Example Usage


// Navigate to a page and refresh a chart
Application.navigateToPage("sales_overview");
const chartWidget = Widget.getWidget("chart_sales");
Widget.refresh(chartWidget);

// Set a variable and filter data
Variable.setValue("region_filter", "EMEA");
DataSource.setFilter("sales_data", {
  operator: "EQ",
  dimension: "Region",
  value: Variable.getValue("region_filter")
});

// Show a confirmation dialog
MessageBox.confirm("Save changes?", function(result) {
  if (result === "OK") {
    Planning.saveData();
  }
});
    

Key Notes

  1. Deprecated APIs: Older functions like Application.gotoPage() may still work but are replaced by newer equivalents (e.g., navigateToPage()).
  2. Security Restrictions: Some APIs (e.g., Utilities.HttpRequest) require CORS configuration or admin permissions.
  3. Script Debugging: Use Logger.log() and the Script Editor Console to debug.
  4. Documentation: Always refer to the latest SAC Scripting API Reference for updates.

Let me know if you need examples for specific use cases!

SAC App Designer Features

SAP Analytics Cloud (SAC) Application Designer Features

SAP Analytics Cloud (SAC) Application Designer Features

Here's a comprehensive list of features and functions available in SAP Analytics Cloud (SAC) Application Designer, organized by category:


1. UI Design & Layout

  • Drag-and-Drop Widgets: Prebuilt components (charts, tables, filters, buttons, input fields, maps, etc.) for building interfaces.
  • Responsive Design: Adjust layouts for different screen sizes using breakpoints and flexible grids.
  • Theming & Styling: Customize colors, fonts, and CSS for branding consistency.
  • Canvas Tools: Free-form layout design with alignment guides, layering, and grouping.
  • Reusable Components: Save custom widgets or templates for reuse across applications.
  • Multi-Page Apps: Create applications with multiple pages and navigation menus.

2. Data Connectivity & Modeling

  • Live Data Connections: Integrate with SAP HANA, SAP BW, SAP S/4HANA, and third-party sources.
  • Import Data Models: Use existing SAC models or datasets (acquired or transformed via Data Analyzer).
  • Data Binding: Link widgets directly to datasets, dimensions, and measures.
  • Real-Time Updates: Reflect changes in underlying data models dynamically.
  • Calculations & Aggregations: Use built-in functions or custom formulas (e.g., member formulas, restricted measures).

3. Scripting & Interactivity

  • JavaScript-Based Scripting: Use SAP's scripting APIs to add logic and interactivity.
  • Event Handling: Trigger scripts on user actions (e.g., button clicks, filter changes).
  • Widget Linking: Synchronize data across widgets (e.g., selecting a chart slice filters a table).
  • Navigation Control: Script page transitions, popups, or dynamic content loading.
  • Variables & Parameters: Store temporary data or user inputs for reuse in scripts.
  • Console & Debugging: Test scripts with logging, breakpoints, and error tracing.

4. Advanced Analytics Features

  • Predictive Analytics: Embed predictive scenarios (e.g., forecasting, regression) into apps.
  • Smart Insights: Auto-generate explanations for data outliers or trends.
  • Geospatial Visualization: Map widgets with layers for location-based analysis.
  • Planning Actions: Enable write-back, simulations, and data submissions (for planning users).

5. Security & Governance

  • Role-Based Access Control (RBAC): Restrict app access or features by user roles.
  • SAP Cloud Identity Integration: Leverage SAML/SSO for authentication.
  • Data-Level Security: Apply row/column security from underlying models.
  • Audit Logs: Track user interactions and changes.

6. Integration & Extensibility

  • Embed in SAP Digital Boardroom: Integrate apps into boardroom presentations.
  • Embed via iFrame: Share apps in external portals or SAP Fiori Launchpad.
  • REST API Calls: Connect to external services or databases using custom scripts.
  • SAP Analytics Add-In: Embed apps in Microsoft Office (Excel, PowerPoint).

7. Lifecycle Management

  • Version Control: Save and revert to previous app versions.
  • Export/Import: Move apps between tenants (DEV, TEST, PROD).
  • Publishing & Sharing: Distribute apps to specific users, teams, or roles.
  • Mobile Optimization: Ensure apps render well on mobile devices.

8. Prebuilt Templates & Samples

  • Starter Templates: Jumpstart development with industry- or function-specific layouts.
  • Sample Scripts: Reference code snippets for common use cases (e.g., dynamic filters).

9. Performance Optimization

  • Lazy Loading: Load data on demand to improve speed.
  • Caching: Reduce latency for frequently accessed data.
  • Batch Processing: Handle large datasets efficiently.

10. Accessibility & Compliance

  • WCAG Support: Build apps compliant with accessibility standards.
  • Keyboard Navigation: Ensure usability for screen readers and assistive tools.

11. Collaboration

  • Comments & Annotations: Allow users to add context to data points.
  • Shared Development: Collaborate on app design with team members.

12. Monitoring & Analytics

  • Usage Analytics: Track app performance and user engagement via SAC monitoring tools.

By leveraging these features, SAC Application Designer empowers users to build tailored, interactive analytical applications that integrate seamlessly with SAP ecosystems and beyond. For detailed implementation, refer to SAP’s official documentation and scripting APIs.

ADD different advanced libraries of JavaSvtipt in SAC Application designer

When considering the use of advanced JavaScript libraries within SAP Analytics Cloud (SAC) Application Designer, it's essential to understand the context and limitations. Here's a breakdown:

Key Points:

  • JavaScript as the Scripting Language:
    • SAC Application Designer utilizes JavaScript for its scripting capabilities. This allows for dynamic and interactive application development.
    • However, it's important to recognize that SAC's JavaScript environment might have certain constraints.
  • Browser-Based Execution:
    • Scripts in SAC Analytic Applications are executed within the web browser. This means that the capabilities of the browser's JavaScript engine play a significant role.
  • SAC's Environment and Limitations:
    • While you're working with JavaScript, SAC provides its own API and object model for interacting with its components (widgets, data sources, etc.).
    • Directly importing and using arbitrary external JavaScript libraries might not always be straightforward or fully supported.
    • Security and performance considerations within the SAC environment can also impose limitations.
  • Focus on SAC's API:
    • The primary approach for extending functionality in SAC Application Designer is to leverage the SAC-specific API. This API provides access to the platform's features and data.
    • While some base javascript libraries like lodash could potentially be used, focus should be placed on the SAC API.
  • Considerations for Advanced Libraries:
    • Libraries like D3.js or Chart.js, for example, could potentially be used for custom visualizations. However, integrating them seamlessly might require careful consideration of compatibility and performance.
    • TensorFlow.js or similar machine learning libraries would be very complex to implement within the SAC environment.

In summary:

  • You can use JavaScript within SAC Application Designer, but you must be mindful of the platform's environment and limitations.
  • Prioritize using the SAC-provided API for interacting with the platform's features.
  • Using very advanced external javascript libraries can be difficult, and is not always supported.

Therefore, while the underlying language is JavaScript, the practical application of external, advanced libraries is subject to the constraints of the SAC platform.

ADD JavaSvtipt for analysis - SAC tools

Diving Deep: The Best JavaScript Libraries for Data Analysis

JavaScript, once primarily the language of front-end web interactivity, has matured into a powerful tool for data analysis. While Python and R often dominate the data science landscape, JavaScript's versatility and browser-based execution make it an excellent choice for interactive data visualization, real-time analysis, and embedding analytical tools directly into web applications.

Here's a look at some of the best JavaScript libraries for data analysis, categorized by their strengths:

1. Data Manipulation and Transformation:

  • D3.js (Data-Driven Documents):
    • While renowned for visualization, D3.js provides a robust set of utilities for data manipulation, transformation, and filtering.
    • Its data-binding capabilities and array manipulation functions (e.g., d3.map, d3.filter, d3.reduce) are invaluable for preparing data for analysis.
    • D3.js is extremely powerful, and flexible, but also has a steep learning curve.
    • Excellent for custom data manipulation pipelines.
  • Lodash:
    • A utility library offering a comprehensive suite of functions for working with arrays, objects, and strings.
    • Lodash simplifies common data manipulation tasks, such as filtering, mapping, grouping, and sorting.
    • Its consistent API and performance optimizations make it a valuable addition to any data analysis project.
    • Very easy to learn, and broad application.
  • Immutable.js:
    • For applications requiring predictable state management, Immutable.js provides persistent data structures that cannot be modified directly.
    • This immutability ensures data integrity and simplifies debugging, particularly in complex data analysis workflows.
    • Useful in very large applications, with complex dataflows.

2. Statistical Analysis and Machine Learning:

  • TensorFlow.js:
    • Brings the power of TensorFlow, a popular machine learning framework, to the browser.
    • Enables training and deploying machine learning models directly in the client-side environment.
    • Ideal for real-time predictions, interactive machine learning demos, and privacy-preserving data analysis.
    • Very powerful, but requires significant machine learning knowledge.
  • Synaptic.js:
    • A neural network library that simplifies the creation and training of artificial neural networks.
    • Provides an intuitive API for building various network architectures, including multilayer perceptrons and recurrent neural networks.
    • Suitable for tasks such as pattern recognition, classification, and prediction.
  • Simple Statistics:
    • A lightweight library offering a collection of statistical functions for calculating descriptive statistics, such as mean, median, standard deviation, and variance.
    • Provides a simple and efficient way to perform basic statistical analysis in JavaScript.
    • Easy to use, and very good for basic statistical needs.
  • Brain.js:
    • Another Neural Network library. Easy to use, and good for simpler neural network tasks.

3. Data Visualization:

  • Chart.js:
    • A simple and flexible library for creating various chart types, including line charts, bar charts, pie charts, and scatter plots.
    • Provides an intuitive API and extensive customization options, making it easy to create visually appealing charts.
    • Extremly popular, and easy to implement.
  • Plotly.js:
    • A powerful charting library that supports a wide range of chart types and interactive visualizations.
    • Offers extensive customization options and seamless integration with various data sources.
    • Suitable for creating complex and interactive data visualizations.
    • Very powerful, and creates very professional looking graphs.
  • ECharts:
    • A powerful, performant, and highly customizable charting library from Apache.
    • It supports a wide variety of chart types, including 3D charts, geospatial visualizations, and interactive dashboards.
    • Excellent for complex data visualization scenarios.

Choosing the Right Library:

The best library for your project depends on your specific needs and requirements. Consider the following factors:

  • Complexity of the analysis: For basic statistical analysis, Simple Statistics may suffice. For complex machine learning tasks, TensorFlow.js or Synaptic.js may be necessary.
  • Visualization requirements: Chart.js is suitable for simple charts, while Plotly.js and ECharts provide more advanced visualization capabilities.
  • Performance: For real-time analysis or large datasets, consider libraries with optimized performance.
  • Learning curve: D3.js has a steeper learning curve than Chart.js or Simple Statistics.

Conclusion:

JavaScript has evolved into a capable platform for data analysis, offering a diverse ecosystem of libraries for data manipulation, statistical analysis, and visualization. By carefully selecting the appropriate libraries, developers can build powerful and interactive data-driven applications.

Saturday, March 8, 2025

AAD - KPI report

Finance KPI Dashboard

Finance KPI Dashboard

Welcome to the Finance KPI Dashboard! Below are some key financial metrics:

Revenue: $1,200,000

Net Profit: $300,000

Net Profit Margin: 25%

KPIs in ERP a view

When discussing KPIs (Key Performance Indicators) within the context of ERP (Enterprise Resource Planning) systems, it's essential to differentiate between:

  • KPIs for ERP Implementation:
    • These measure the success of the ERP implementation project itself.
  • KPIs Measured by the ERP System:
    • These are the ongoing performance indicators that the ERP system helps to track and analyze.

Here's a breakdown:

KPIs for ERP Implementation:

These KPIs help organizations determine if their ERP implementation is on track and successful. Key areas to consider include:

  • User Adoption Rates:
    • This measures the percentage of employees actively using the new ERP system. High adoption rates indicate successful change management and user training.
  • Project Timeline Adherence:
    • Tracking whether the implementation stays within the planned schedule. Delays can lead to increased costs and disruptions.
  • Budget Adherence:
    • Monitoring the project's expenses to ensure they remain within the allocated budget.
  • Data Migration Accuracy:
    • Ensuring that data is transferred accurately from legacy systems to the new ERP.
  • System Performance:
    • Measuring system uptime, response times, and overall stability.

KPIs Measured by the ERP System:

Once the ERP system is implemented, it provides valuable data for tracking various business KPIs. These can include:

  • Financial KPIs:
    • Gross Profit Margin: Measures profitability.
    • Days Sales Outstanding (DSO): Tracks how quickly customers pay their invoices.
    • Inventory Turnover: Indicates how efficiently inventory is managed.
  • Operational KPIs:
    • On-Time Delivery: Measures the percentage of orders delivered on time.
    • Order Fulfillment Rate: Tracks the percentage of orders fulfilled completely.
    • Production Cycle Time: Measures the time it takes to produce a product.
  • Sales KPIs:
    • Sales Growth: Tracks the increase in sales revenue.
    • Customer Acquisition Cost (CAC): Measures the cost of acquiring a new customer.
    • Customer Lifetime Value (CLTV): Predicts the total revenue a customer will generate.
  • Supply Chain KPIs:
    • Lead time.
    • Supplier performance.
    • Inventory accuracy.

Key Considerations:

  • Alignment with Business Goals: KPIs should align with the organization's overall strategic objectives.
  • Measurability: KPIs must be quantifiable to allow for accurate tracking.
  • Actionability: KPIs should provide insights that enable informed decision-making.

By carefully selecting and monitoring KPIs, organizations can maximize the value of their ERP systems and drive continuous improvement.

AAD - Customer Aging 2

Customer Aging Analytics

Customer Aging Analytics

📊 Aging Bucket Overview

🏢 Customer-wise Outstanding Balances

📌 Aging Breakdown Table

Customer Company Code 0-30 Days ($) 31-60 Days ($) 61-90 Days ($) 90+ Days ($) Total ($)
Customer A 1000 $35,000 $22,000 $15,000 $7,000 $79,000
Customer B 1000 $28,000 $18,000 $10,000 $5,000 $61,000
Customer C 1000 $40,000 $25,000 $12,000 $8,000 $85,000
Customer D 1000 $20,000 $10,000 $7,000 $4,000 $41,000
Customer E 1000 $45,000 $30,000 $20,000 $10,000 $105,000

AAD - Customer Aging Analysis

Customer Aging Analytics

Customer Aging Analytics

📊 Aging Bucket Overview

🏢 Customer-wise Outstanding Balances

📌 Aging Breakdown Table

Customer Company Code 0-30 Days ($) 31-60 Days ($) 61-90 Days ($) 90+ Days ($) Total ($)

AAD - Finance Account 360

GL Account 360° Analysis

GL Account 360° Analysis

📊 Yearly GL Trend

🏢 Profit Center Contribution

📅 Monthly GL Movement

📌 Company Code-wise Contribution

Company Code Company Name Balance ($)

AAD Finance App - 1

GL Dashboard - Business Financial Overview

GL Dashboard - Financial Overview

GL Balances by Account

GL Account Description Balance ($)

Profit Center-wise GL Balances

Example to Business Users

Since SAP Analytics Cloud (SAC) Analytic Application Designer (AAD) is a specialized environment, we can't fully replicate its backend capabilities with plain HTML and JavaScript. However, I can create a mock SAC AAD-like application in HTML, CSS, and JavaScript using sample data. This will showcase how interactivity, scripting, and visualizations work in an analytic application.

Scenario:

We'll create a Sales Performance Dashboard with:

  • A dropdown to select a year
  • A bar chart to display sales per region
  • A table to show sales details
  • Dynamic updates based on user selection

Code Implementation

Save the following as index.html and open it in a browser:

<!DOCTYPE html>  <html lang="en">  <head>      <meta charset="UTF-8">      <meta name="viewport" content="width=device-width, initial-scale=1.0">      <title>SAC AAD Sample - Sales Performance Dashboard</title>      <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>      <style>          body {              font-family: Arial, sans-serif;              margin: 20px;              text-align: center;              background-color: #f4f4f4;          }          .container {              max-width: 900px;              margin: auto;              background: white;              padding: 20px;              border-radius: 10px;              box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);          }          select {              padding: 10px;              margin: 10px;          }          canvas {              margin: 20px auto;              max-width: 100%;          }          table {              width: 100%;              border-collapse: collapse;              margin-top: 20px;          }          th, td {              padding: 10px;              border: 1px solid #ddd;          }          th {              background-color: #0073e6;              color: white;          }      </style>  </head>  <body>    <div class="container">      <h1>SAC AAD - Sales Performance Dashboard</h1>            <label for="yearSelect">Select Year:</label>      <select id="yearSelect" onchange="updateDashboard()">          <option value="2023">2023</option>          <option value="2024" selected>2024</option>      </select>            <h2>Sales by Region</h2>      <canvas id="salesChart"></canvas>        <h2>Sales Data Table</h2>      <table>          <thead>              <tr>                  <th>Region</th>                  <th>Year</th>                  <th>Sales ($M)</th>              </tr>          </thead>          <tbody id="salesTableBody">          </tbody>      </table>  </div>    <script>      // Sample data      const salesData = {          "2023": [              { region: "North America", sales: 120 },              { region: "Europe", sales: 95 },              { region: "Asia", sales: 130 },              { region: "South America", sales: 75 }          ],          "2024": [              { region: "North America", sales: 140 },              { region: "Europe", sales: 110 },              { region: "Asia", sales: 150 },              { region: "South America", sales: 85 }          ]      };        let chartInstance = null;        function updateDashboard() {          const selectedYear = document.getElementById("yearSelect").value;          const data = salesData[selectedYear];            // Update Table          const tableBody = document.getElementById("salesTableBody");          tableBody.innerHTML = ""; // Clear previous entries          data.forEach(entry => {              let row = `<tr>                          <td>${entry.region}</td>                          <td>${selectedYear}</td>                          <td>$${entry.sales}M</td>                        </tr>`;              tableBody.innerHTML += row;          });            // Update Chart          updateChart(data);      }        function updateChart(data) {          const ctx = document.getElementById("salesChart").getContext("2d");                    if (chartInstance) {              chartInstance.destroy();          }            chartInstance = new Chart(ctx, {              type: "bar",              data: {                  labels: data.map(entry => entry.region),                  datasets: [{                      label: "Sales ($M)",                      data: data.map(entry => entry.sales),                      backgroundColor: ["#0073e6", "#ffcc00", "#ff5733", "#33cc33"]                  }]              },              options: {                  responsive: true,                  scales: {                      y: {                          beginAtZero: true                      }                  }              }          });      }        // Initialize dashboard      updateDashboard();  </script>    </body>  </html>  

How This Mimics SAP AAD Capabilities

  1. Dynamic Interaction: The dashboard updates when a user selects a year, similar to how SAC AAD applications respond to user inputs.
  2. Charts and Visuals: Uses Chart.js to display a bar chart, just like SAC AAD allows visualization components.
  3. Table Representation: Displays sales data in a table that updates dynamically.
  4. JavaScript Scripting: Mimics how scripting in SAC AAD modifies visuals and tables based on user actions.

How to Use This for Business Demonstration

  • Explain that SAC AAD applications work similarly but have a more powerful backend for fetching live SAP data.
  • Show how event-driven scripting updates visuals dynamically.
  • Highlight that this is a basic example—SAC AAD allows integration with SAP S/4HANA, BW, and more.

Next Steps

  • Want to enhance this further?
    • Add filters (e.g., by product category).
    • Implement drill-down (click on a bar to see details).
    • Use real SAP data via APIs.

Would you like me to help with a more advanced version or integrate it with a dataset you have?

AAD - Example

SAC AAD Sample - Sales Performance Dashboard

SAC AAD - Sales Performance Dashboard

Sales by Region

Sales Data Table

Region Year Sales ($M)

AAD - basics

Learn the Basics of Analytic Application Design

Learn the Basics of Analytic Application Design

Introduction

Analytic applications play a crucial role in data visualization and decision-making in SAP Analytics Cloud (SAC). These applications allow users to navigate, interact with, and analyze data dynamically, going beyond simple dashboards and static reports.

What is an Analytic Application?

An analytic application is a data-driven, interactive tool that enables customized data visualization and advanced business logic through scripting. Unlike traditional dashboards, analytic applications allow users to:

  • Explore data dynamically
  • Apply complex filters and transformations
  • Automate tasks with custom logic
  • Personalize reports to match business needs

What is the Analytics Designer?

The Analytics Designer is a dedicated development environment within SAP Analytics Cloud used to build analytic applications. It provides:

  • A visual editor to design application layouts
  • Predefined widgets like tables, charts, and buttons
  • Scripting capabilities using JavaScript
  • Event-driven actions to enhance user interaction

Analytic Applications vs. Stories

SAP Analytics Cloud offers two main tools for data visualization:

  • Stories: For business users needing quick, self-service reporting.
  • Analytic Applications: For developers requiring advanced customization and automation.

How to Create an Analytic Application – A Step-by-Step Guide

  1. Define Data Models: Choose an SAP Analytics Cloud model containing your data.
  2. Design the Layout: Add tables, charts, and UI controls for a user-friendly interface.
  3. Configure Widgets and Interactions: Set up filters, drilldowns, and navigation.
  4. Implement Scripting Logic: Use JavaScript for custom behavior.
  5. Test and Deploy: Validate logic and deploy for user access.

Scripting Example: Dynamic Year Filtering

// Example Script
var selectedYear = Dropdown_1.getSelectedValue(); 
Table_1.getDataSource().setFilter("YEAR", selectedYear);

© 2025 Learn Analytic Applications | All Rights Reserved

AAD - Application and Stiries

Learn the Basics of Analytic Application Design

Learn the Basics of Analytic Application Design

On this page

What is an Analytic Application?

An analytic application in SAP Analytics Cloud is an interactive application that visualizes data and allows navigation. These applications can range from simple dashboards to highly customized tools with extensive navigation, filtering, and user interaction.

What is the Analytics Designer?

The Analytics Designer in SAP Analytics Cloud is a tool that allows users to create analytic applications. It provides a structured design environment for defining data models, configuring layouts, and adding custom scripts for interactivity.

What Can You Do with Analytic Applications That You Can't Do with Stories?

Unlike stories, analytic applications allow for custom scripting and advanced interactions. While stories provide pre-configured visualizations, analytic applications enable deeper customization through event-driven logic and scripting.

How Are Stories and Analytic Applications Related to Each Other?

From a user perspective, both provide analytical content, but analytic applications offer advanced scripting and interactivity. Stories focus on ease of use, while applications provide more control over behaviors and widgets.

Why Do You Need Both Stories and Analytic Applications?

Stories are designed for business users who need guided, structured reporting, while analytic applications cater to advanced users who require scripting and custom behaviors. Both serve different purposes within SAP Analytics Cloud.

What is the Typical Workflow in Creating an Analytic Application?

The workflow includes defining data models, adding tables or charts, configuring filters, and implementing event-driven logic using scripts.

What Are Typical Analytic Applications?

  • Table-centric Data Visualization: A large table with controls for filtering and changing views.
  • Dashboards: Static or interactive tiles displaying key metrics.
  • Generic Applications: Custom applications that work with various models selected at runtime.

How Does Scripting Work in Analytic Applications?

Widgets and application events expose triggers that can be programmed using JavaScript. For example, a dropdown selection can filter data dynamically.

What's the Scripting Language for Analytic Applications?

The scripting language is JavaScript, with additional APIs for interacting with SAP Analytics Cloud models. Type validation helps ensure correct script execution.

Example: setFilter("YEAR", "2024") applies a filter to display data only for 2024.

Was this page helpful?

If you found this guide useful, let us know!

AAD - Stories and Analytics Applications

The Dichotomy of Data Visualization: Stories vs. Analytic Applications in Modern Business Intelligence Platforms

Abstract:

Modern business intelligence (BI) platforms offer a spectrum of tools for data visualization and analysis, ranging from user-friendly, self-service "stories" to highly customizable, script-driven "analytic applications." This paper explores the fundamental differences between these two approaches, focusing on their respective strengths, limitations, and the underlying design philosophies that necessitate their coexistence. Drawing upon the SAP Analytics Cloud platform as a representative example, we examine the role of scripting, customization, and user experience in shaping the landscape of contemporary data analytics.

1. Introduction:

The proliferation of data in contemporary business environments has driven the evolution of BI platforms to provide increasingly sophisticated tools for data visualization and analysis. While user-friendly, self-service interfaces have empowered a broader audience to engage with data, the need for highly customized, complex applications persists. This has led to the development of distinct artifact types, such as "stories" and "analytic applications," each designed to cater to specific user needs and technical capabilities.

2. Defining Stories and Analytic Applications:

2.1 Stories:

Stories represent a self-service approach to data visualization. They are designed for business users with limited technical expertise, providing a guided, configuration-driven environment for creating dashboards and reports. The focus is on ease of use, consistency, and preventing users from creating non-functional content.

2.2 Analytic Applications:

Analytic applications, on the other hand, offer a high degree of customization through scripting. They are designed for developers and power users who require complex logic, advanced interactivity, and tailored user experiences. The "Analytics Designer" environment provides the tools to define data models, design layouts, configure widgets, and implement custom logic using JavaScript.

3. Key Differences and Rationales:

3.1 Customization and Flexibility:

The primary distinction lies in the level of customization. Stories are limited to pre-defined configurations, ensuring consistency and preventing errors. Analytic applications, leveraging scripting, enable developers to implement virtually any custom behavior, albeit with a higher risk of introducing errors.

3.2 Scripting and Logic:

Analytic applications are characterized by their ability to incorporate custom logic through scripting. This allows for complex event handling, data manipulation, and user interactions that are beyond the capabilities of stories.

3.3 User Experience and Consumption:

Despite the differences in their creation process, stories and analytic applications aim for a seamless user experience. Ideally, consumers should not be able to discern between the two, as both should present a cohesive and intuitive interface.

3.4 Design Philosophy and User Expectations:

The coexistence of stories and analytic applications reflects the divergent expectations of their respective user bases. Stories cater to business users who prioritize ease of use and guided workflows, while analytic applications serve developers and power users who demand flexibility and control.

3.5 Lifecycle Management:

Analytic applications possess a distinct lifecycle, including startup events and other programmatic control points. Stories, in contrast, operate on a simpler edit-view paradigm.

4. The Analytic Application Development Workflow:

The creation of an analytic application typically follows a data-driven workflow:

  • Model Selection: Identifying the underlying data models.
  • Widget Placement: Adding tables, charts, and control elements.
  • Configuration: Arranging and configuring widgets.
  • Scripting: Implementing custom logic through event handlers.

5. Typical Analytic Application Archetypes:

  • Table-centric Data Visualization: Applications focused on detailed data exploration through interactive tables.
  • Dashboards: Static or interactive overviews of key performance indicators (KPIs).
  • Generic Applications: Reusable applications that can be adapted to various data models.

6. Scripting in Analytic Applications:

Analytic applications utilize JavaScript for scripting, enabling developers to implement custom logic in response to widget events. The platform often provides type systems and value help to enhance the development experience and ensure data integrity.

6.1 Type Systems and Validation:

The inclusion of type systems allows for enhanced script validation, ensuring that data types and values align with the underlying data model. This reduces errors and improves the robustness of the application.

7. Conclusion:

The dual paradigm of stories and analytic applications in modern BI platforms addresses the diverse needs of users, from business analysts seeking quick insights to developers demanding advanced customization. While stories provide a user-friendly, self-service environment, analytic applications offer the flexibility and control necessary for complex data visualization and analysis. The effective utilization of both approaches is crucial for maximizing the value of data within an organization. Future research may focus on the development of hybrid approaches that combine the ease of use of stories with the flexibility of analytic applications.

AAD - Use Cases - a quick view

Building an analytics application for finance users with live GL data from xx company codes and yyyy profit centers, leveraging Azure Active Directory (AAD) for authentication and authorization, opens up a wealth of possibilities for interactive reporting. Here are 20 use cases, categorized for clarity:

Financial Performance Analysis:

  1. Profit & Loss (P&L) Drill-Down:
    • Allow users to drill down from high-level P&L statements to individual GL accounts, profit centers, and company codes in real-time.
    • Enable filtering by time periods, cost centers, and custom dimensions.
  2. Variance Analysis:
    • Compare actuals against budgets, forecasts, and prior periods, displaying variances with interactive charts and tables.
    • Highlight significant deviations and provide explanations.
  3. Profit Center Performance Dashboard:
    • Visualize key performance indicators (KPIs) for each profit center, such as revenue, cost of goods sold (COGS), and operating profit.
    • Enable benchmarking across profit centers.
  4. Company Code Consolidated Reporting:
    • Create consolidated financial statements across multiple company codes, with the ability to drill down into individual entity data.
    • Handle intercompany eliminations and reconciliations.
  5. Trend Analysis:
    • Display historical trends of financial data, allowing users to identify patterns and anomalies.
    • Implement forecasting capabilities based on historical data.

Operational Reporting & Analysis:

  1. Cost Center Analysis:
    • Analyze expenses by cost center, identifying areas of high spending and potential cost savings.
    • Visualize cost allocations and track budget adherence.
  2. Revenue Recognition Analysis:
    • Track revenue recognition over time, ensuring compliance with accounting standards.
    • Analyze revenue by product, customer, and region.
  3. Working Capital Analysis:
    • Monitor key working capital metrics, such as accounts receivable, accounts payable, and inventory turnover.
    • Identify opportunities to improve cash flow.
  4. Expense Analysis by Category:
    • Show expenses by their GL account categories, and allow for drill down to the individual transactions.
  5. Capital Expenditure (CapEx) Tracking:
    • Track CapEx spending against budgets, and show the asset depreciation over time.

Ad-Hoc Reporting & Customization:

  1. Custom Report Builder:
    • Empower users to create their own reports by selecting dimensions, measures, and filters.
    • Enable saving and sharing custom reports.
  2. Interactive Data Filtering & Slicing:
    • Provide flexible filtering and slicing capabilities, allowing users to analyze data from different perspectives.
    • Implement dynamic chart updates based on filter selections.
  3. Data Export & Sharing:
    • Enable users to export data in various formats (e.g., Excel, CSV, PDF) for further analysis and sharing.
    • Implement report sharing via email.
  4. What-If Analysis:
    • Allow users to simulate the impact of changes to key variables on financial outcomes.
    • Enable scenario planning and sensitivity analysis.
  5. Real Time Alerts:
    • Setup alerts that trigger when certain financial thresholds are met. Example: when a profit center goes below a certain profit margin.

AAD Integration & Security:

  1. Role-Based Access Control (RBAC):
    • Leverage AAD to implement granular RBAC, ensuring that users only have access to the data they are authorized to view.
    • Define roles based on company code, profit center, and functional area.
  2. Single Sign-On (SSO):
    • Integrate with AAD to provide seamless SSO, eliminating the need for users to remember multiple logins.
    • Increase user experience.
  3. Audit Logging:
    • Log user activity and data access for audit and compliance purposes.
    • Track changes to reports and data filters.
  4. Data Encryption:
    • Ensure that all data is encrypted at rest and in transit, protecting sensitive financial information.
    • Leverage Azure's security features.
  5. Conditional Access Policies:
    • Implement conditional access policies to enforce security requirements, such as multi-factor authentication (MFA) and device compliance.
    • Control access based on user location and device type.

By implementing these use cases, you can create a powerful and user-friendly analytics application that empowers finance users to make data-driven decisions.

Analytic Application Design (AAD) and SAC Live Connection..

Yes, it is indeed possible to utilize Analytic Application Design (AAD) with live data connections within SAP Analytics Cloud (SAC). This is a key capability of SAC, allowing for real-time data analysis and visualization. Here's a breakdown of how it works:

Live Data Connections in SAC:

  • Real-time Data:
    • Live connections establish a direct, real-time link between SAC and the source data system (e.g., SAP HANA, SAP BW). This means that any changes made to the source data are immediately reflected in the SAC analytic application.
  • Data Governance:
    • Live connections allow organizations to maintain data governance and security, as data remains within the source system. SAC queries the source system on demand, rather than replicating the data.
  • Use Cases:
    • This is particularly valuable for scenarios requiring up-to-the-minute insights, such as:
      • Financial monitoring
      • Supply chain tracking
      • Real-time sales analysis

AAD and Live Connections:

  • Building Dynamic Applications:
    • You can use Analytics Designer to build interactive analytic applications that leverage live data connections. This allows for the creation of dynamic dashboards and reports that provide real-time insights.
  • Key Considerations:
    • Performance: Live connections rely on the performance of the source system and network. Optimizing data queries and network connectivity is crucial.
    • Security: Proper security measures must be in place to ensure secure data access and transmission.
    • Planning: It is important to know that there are limitations around planning functionality when using live connections. For example, planning functionalities are limited when using live connections to SAP Datasphere and SAP BW.

In essence:

  • SAC's Analytics Designer is designed to work effectively with live data connections, enabling the development of powerful, real-time analytic applications.

I hope this information is helpful.

AAD - Known Limitations in Analytic Application Design: A Critical Examination of SAP Analytics Cloud's Analytics Designer Constraints

Known Limitations in Analytic Application Design: A Critical Examination of SAP Analytics Cloud's Analytics Designer Constraints

Table of Contents

  1. Introduction: The Importance of Understanding Limitations in AAD
  2. Popup-Related Restrictions
    • 2.1. Canvas Size and Popup Dimensions
    • 2.2. Minimum Widget Requirements for Popup Functionality
    • 2.3. Filter Line References and Reloading Behavior
    • 2.4. Theme Application and API Inconsistencies
    • 2.5. Keyboard Functionality with Multiple Tables
    • 2.6. Planning Functionality Limitations within Popups
  3. Planning Model and Version Management Constraints
    • 3.1. createMembers API and Generic Dimensions
    • 3.2. Version Management API and BPC Writeback
  4. Data Source and Filtering Limitations
    • 4.1. setVariableValue API and Validation Issues
    • 4.2. setDimensionFilter API and Fiscal Hierarchy Ranges
    • 4.3. setDimensionFilter API and User Filter Modification
    • 4.4. Runtime Filter Compliance with Design-Time Settings
  5. Smart Discovery and Visualization Constraints
    • 5.1. Smart Discovery Dialog and Analytic Entity Specification
    • 5.2. Chart Widget Quick Menu Visibility in Explorer
    • 5.3. Theme Settings and Custom Table Styling
    • 5.4. Theme Saving After Deletion
    • 5.5. Navigation Panel Sort Order and SAP HANA Connections
    • 5.6. R Visualizations and Safari Third-Party Cookies
    • 5.7. Mobile Safari and Desktop Website Requests
  6. Embedding, Input Control, and Export Limitations
    • 6.1. Embedding Analytic Applications in Stories/Digital Boardroom
    • 6.2. Input Control Partial Support
    • 6.3. Calculation Input Controls for Forecast Tables
    • 6.4. Input Control Member ID Display
    • 6.5. PDF Export Garbled Codes
    • 6.6. CSS Styling and PDF Export
    • 6.7. Custom Widget PDF Export Limitations
    • 6.8. Container and Scrollable Widget PDF Export
  7. Chart API and Event Handling Constraints
    • 7.1. Number Format Settings and Tooltip Measures
    • 7.2. addMeasure, removeMeasure, and addMember API Feed Limitations
    • 7.3. onSelect Event and Cluster Bubble Charts
  8. Conclusion: Navigating the Boundaries of Analytic Application Design

1. Introduction: The Importance of Understanding Limitations in AAD

Analytic Application Design (AAD), particularly within platforms like SAP Analytics Cloud's Analytics Designer, empowers developers to create dynamic and interactive data experiences. However, it is crucial to acknowledge and understand the inherent limitations of such platforms. This article provides a critical examination of the known restrictions within Analytics Designer, focusing on their implications and potential workarounds. By highlighting these constraints, we aim to provide developers and researchers with a comprehensive understanding of the platform's boundaries, enabling them to make informed decisions and develop effective strategies.

2. Popup-Related Restrictions

Popups are a valuable feature in AAD, allowing for the presentation of contextual information and interactive elements. However, several limitations exist:

  • 2.1. Canvas Size and Popup Dimensions: Popups exceeding the main canvas dimensions are not supported, leading to display issues. This necessitates careful planning of popup sizes and layouts.
  • 2.2. Minimum Widget Requirements for Popup Functionality: Popups require at least two widgets to function correctly. Single-widget popups or those without widgets exhibit unexpected behavior.
  • 2.3. Filter Line References and Reloading Behavior: Filter line references within popups are not consistently maintained after application reloads, necessitating manual popup activation to resolve reference issues.
  • 2.4. Theme Application and API Inconsistencies: Applying themes via the setTheme API or directly to the application may not consistently affect popups, requiring workarounds such as panel integration and manual popup activation.
  • 2.5. Keyboard Functionality with Multiple Tables: Keyboard navigation and data entry within multiple tables in a popup are restricted, particularly with the "Optimized Presentation" setting enabled.
  • 2.6. Planning Functionality Limitations within Popups: Planning-related features like mass data entry and version history are not fully supported within popups, limiting their usability for advanced planning scenarios.

3. Planning Model and Version Management Constraints

Planning functionalities, a core component of AAD, are subject to certain restrictions:

  • 3.1. createMembers API and Generic Dimensions: The createMembers API is limited to generic dimensions, restricting its applicability for other dimension types like date dimensions.
  • 3.2. Version Management API and BPC Writeback: Version management APIs are incompatible with BPC writeback-enabled versions, forcing reliance on manual version management tools.

4. Data Source and Filtering Limitations

Data source and filtering functionalities exhibit several limitations:

  • 4.1. setVariableValue API and Validation Issues: The setVariableValue API lacks robust validation, potentially leading to errors and data inconsistencies.
  • 4.2. setDimensionFilter API and Fiscal Hierarchy Ranges: Range filtering on fiscal hierarchies is not supported by the setDimensionFilter API.
  • 4.3. setDimensionFilter API and User Filter Modification: Users can still modify filters within tables even when modification restrictions are set in the filter panel.
  • 4.4. Runtime Filter Compliance with Design-Time Settings: Runtime filter behavior adheres strictly to design-time settings, preventing dynamic changes to selection modes.

5. Smart Discovery and Visualization Constraints

Smart discovery and visualization features are subject to specific limitations:

  • 5.1. Smart Discovery Dialog and Analytic Entity Specification: Smart discovery dialogs require explicit entity specification when launched via API calls.
  • 5.2. Chart Widget Quick Menu Visibility in Explorer: Quick menu visibility settings are not consistently applied within the chart explorer.
  • 5.3. Theme Settings and Custom Table Styling: Custom table styling overrides theme settings, hindering theme restoration and default theme application.
  • 5.4. Theme Saving After Deletion: Browser caching can prevent the re-saving of deleted themes.
  • 5.5. Navigation Panel Sort Order and SAP HANA Connections: Measure reordering in the navigation panel is not supported for SAP HANA connections.
  • 5.6. R Visualizations and Safari Third-Party Cookies: R visualizations are incompatible with Safari when third-party cookies are disabled.
  • 5.7. Mobile Safari and Desktop Website Requests: Desktop website requests are not supported in mobile Safari for analytic applications.

6. Embedding, Input Control, and Export Limitations

Embedding, input control, and export functionalities are constrained:

  • 6.1. Embedding Analytic Applications in Stories/Digital Boardroom: Embedding analytic applications within stories or digital boardrooms is not officially supported.
  • 6.2. Input Control Partial Support: Input controls are limited to dimension member and restricted measure calculation inputs.
  • 6.3. Calculation Input Controls for Forecast Tables: Calculation input controls for forecast table versions and cut-over dates are not supported.
  • 6.4. Input Control Member ID Display: Input controls may display member IDs instead of descriptions in certain states.
  • 6.5. PDF Export Garbled Codes: PDF exports may contain garbled codes for certain languages.
  • 6.6. CSS Styling and PDF Export: CSS styling may not be fully reflected in PDF exports.
  • 6.7. Custom Widget PDF Export Limitations: Custom widgets may not be fully exported to PDF due to JavaScript library limitations.
  • 6.8. Container and Scrollable Widget PDF Export: Only visible widgets within containers and scrollable widgets are exported to PDF.

7. Chart API and Event Handling Constraints

Chart API and event handling functionalities are subject to limitations:

  • 7.1. Number Format Settings and Tooltip Measures: Number format settings and APIs do not apply to tooltip measures.
  • 7.2. addMeasure, removeMeasure, and addMember API Feed Limitations: These APIs support a limited number of chart feeds.
  • 7.3. onSelect Event and Cluster Bubble Charts: The onSelect event is not supported for cluster bubble charts.

8. Conclusion: Navigating the Boundaries of Analytic Application Design

Understanding the limitations of AAD is crucial for developing effective and robust analytic applications. By acknowledging these constraints, developers can adopt appropriate workarounds, mitigate potential issues, and optimize application performance. Future research should focus on exploring these limitations in greater depth, investigating their underlying causes, and proposing potential solutions.

Fiori Development - Style

Okay, here is a rewritten version incorporating the detailed information about developing preformatted layout reports, including a Table of ...