SAP Sac Custom Widget

Create custom widgets for SAP Analytics Cloud dashboards and stories

SAP SAC Custom Widget is a development skill for creating custom widgets for SAP Analytics Cloud dashboards and stories, covering widget architecture, SDK integration, and deployment methods

What Is This?

Overview

SAP Analytics Cloud (SAC) custom widgets extend dashboard and story functionality beyond built-in components. Custom widgets let you build specialized visualizations, data connectors, and interactive elements tailored to your organization's unique analytical needs. The SAP SAC Custom Widget skill teaches you to leverage the SAC SDK to design, develop, and deploy widgets that integrate seamlessly with your analytics platform.

Custom widgets run within the SAC environment and can consume data from multiple sources, interact with other dashboard elements, and provide rich user experiences. This skill covers the complete development lifecycle from initial setup through production deployment. You will learn how to structure widget projects, manage dependencies, and implement robust error handling to ensure reliability. The skill also covers best practices for widget configuration, localization, and accessibility, ensuring your custom components are usable by a wide range of users and can be maintained over time.

Who Should Use This

Developers building advanced analytics solutions, BI professionals needing specialized visualizations, and organizations requiring custom data interactions within SAP Analytics Cloud should pursue this skill. It is also valuable for technical consultants and solution architects who need to extend SAC’s capabilities to meet unique business requirements or integrate with external systems.

Why Use It?

Problems It Solves

Standard SAC widgets sometimes cannot meet specific analytical requirements or visualization needs. Custom widgets eliminate this limitation by letting you build exactly what your business requires. You can create domain-specific visualizations, integrate proprietary data sources, and build interactive components that standard widgets cannot provide. For example, if your organization needs a visualization that is not available in the standard SAC library, such as a custom network graph or a specialized chart, custom widgets make this possible.

Core Highlights

The SAC SDK provides a robust JavaScript framework for widget development with full access to dashboard context and data. Custom widgets support real-time data binding, allowing dashboards to update instantly when underlying data changes. You can package and distribute widgets across your SAC environment, making them reusable across multiple stories and dashboards. Widgets integrate with SAC's security model, respecting user permissions and data access controls automatically. Additionally, custom widgets can communicate with other dashboard components through events, enabling sophisticated interactions and coordinated updates across your analytics applications.

How to Use It?

Basic Usage

import { Component, OnInit } from '@angular/core';
import { WidgetBase } from '@sap/analytics-cloud-sdk';

@Component({
  selector: 'app-custom-widget',
  templateUrl: './widget.html'
})
export class CustomWidget extends WidgetBase implements OnInit {
  ngOnInit() {
    this.onDataReceived();
  }
}

This example demonstrates the basic structure of a custom widget using the SAC SDK. The widget extends the WidgetBase class and implements the OnInit lifecycle hook to handle data initialization.

Real-World Examples

Building a custom gauge widget that displays KPI thresholds with color coding based on performance ranges:

export class GaugeWidget extends WidgetBase {
  value: number = 0;
  threshold: number = 80;
  
  onDataReceived() {
    this.value = this.data.getValue();
    this.updateGaugeColor();
  }
}

Creating an interactive map widget that plots customer locations and filters dashboard data on click:

export class MapWidget extends WidgetBase {
  onLocationClick(location: any) {
    this.applyFilter('Region', location.region);
    this.notifyDashboard('location-selected', location);
  }
}

These examples illustrate how custom widgets can provide advanced interactivity and visualization options beyond what is available out of the box.

Advanced Tips

Use the SAC SDK's data binding capabilities to create reactive widgets that automatically update when dashboard filters change, eliminating manual refresh requirements. Implement custom styling through CSS variables to ensure your widgets respect SAC's theme settings and maintain visual consistency across different dashboard designs. Consider implementing configuration panels for your widgets, allowing dashboard designers to customize properties such as colors, thresholds, or data sources directly within the SAC interface.

When to Use It?

Use Cases

Create specialized financial dashboards displaying complex calculations or proprietary metrics that standard SAC widgets cannot represent. Build industry-specific visualizations like supply chain networks, healthcare patient flows, or manufacturing process diagrams. Integrate third-party data sources directly into SAC stories without requiring separate data preparation steps. Develop interactive tools for scenario planning, forecasting, or what-if analysis that require custom logic beyond standard dashboard capabilities. Custom widgets are also ideal for embedding branding elements or unique user interface components that align with your organization's identity.

Related Topics

  • SAP Analytics Cloud SDK and API documentation
  • SAC Story and Dashboard Design best practices
  • Custom Data Connectors for SAP Analytics Cloud
  • Embedding SAC dashboards in external applications
  • SAP Business Technology Platform (BTP) Extension Suite

Important Notes

Developing and deploying custom widgets in SAP Analytics Cloud requires careful planning around development environment, security, and lifecycle management. Widgets must comply with SAC's integration standards and organizational governance policies. Be aware of compatibility, update cycles, and the need for ongoing maintenance to ensure seamless operation as SAC evolves.

Requirements

  • Access to an SAP Analytics Cloud tenant with administrator or developer permissions
  • Node.js and npm installed for widget development and packaging
  • Familiarity with JavaScript, HTML, and CSS for front-end development
  • SAC SDK and relevant documentation available for reference

Usage Recommendations

  • Follow SAP's widget development guidelines and versioning best practices
  • Test widgets thoroughly in a non-production SAC environment before deployment
  • Regularly update widgets to maintain compatibility with SAC platform updates
  • Document widget configuration options and usage instructions for end users
  • Use source control to manage widget code and facilitate team collaboration

Limitations

  • Custom widgets may not support all SAC features, such as mobile responsiveness or certain accessibility standards
  • Widgets are subject to SAC's sandboxing, restricting access to some browser APIs and external resources
  • Performance may vary depending on widget complexity and data volume
  • Debugging and troubleshooting can be more challenging compared to standard SAC components