https://raw.githubusercontent.com/ajmaradiaga/feeds/main/scmt/topics/SAP-Analytics-Cloud-connectivity-blog-posts.xml SAP Community - SAP Analytics Cloud, connectivity 2026-02-26T00:11:49.269057+00:00 python-feedgen SAP Analytics Cloud, connectivity blog posts in SAP Community https://community.sap.com/t5/technology-blog-posts-by-sap/strategy-for-troubleshooting-network-performance-issues-in-sap-analytics/ba-p/14054830 Strategy for troubleshooting network performance issues in SAP Analytics Cloud (SAC) 2025-04-08T10:13:11.959000+02:00 nik_beliakov https://community.sap.com/t5/user/viewprofilepage/user-id/169243 <H5 id="toc-hId-2093718854">Introduction</H5><P class="lia-align-justify" style="text-align : justify;"><SPAN>In today's data-driven environment, the ability to access and analyze information swiftly and efficiently is a cornerstone of successful business operations. As organizations lean heavily on business intelligence tools to make informed decisions, SAP Analytics Cloud (SAC) emerges as a powerful solution offering an extensive suite for data analysis, planning, and collaboration. Despite its robust capabilities, performance issues can occasionally arise, diminishing user productivity and impairing the decision-making process. </SPAN></P><P class="lia-align-justify" style="text-align : justify;"><SPAN>SAC performance is predominantly influenced by three key components: <STRONG>client time</STRONG> <STRONG>(frontend)</STRONG>, <STRONG>network time</STRONG>, and <STRONG>SAP Analytics Cloud service time</STRONG> <STRONG>(backend)</STRONG>. The network time plays a very important role among these, affecting how efficiently SAC communicates with data sources and delivers analytics results to users. This blog provides practical troubleshooting strategy on how to identify and resolve network performance issues in SAP Analytics Cloud.</SPAN></P><P class="lia-align-justify" style="text-align : justify;"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="download2.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/242192iB8AA9D9DFD3C2AA4/image-size/large?v=v2&amp;px=999" role="button" title="download2.png" alt="download2.png" /></span></P><H5 id="toc-hId-1897205349">Strategy for troubleshooting network performance issues in SAP Analytics Cloud (SAC)</H5><P class="lia-align-justify" style="text-align : justify;"><SPAN>To identify and resolve network performance issues in SAC, it's imperative to employ a range of steps designed to pinpoint specific problems:</SPAN></P><OL class="lia-align-justify" style="text-align : justify;"><OL class="lia-align-justify" style="text-align : justify;"><LI><STRONG>Gather Information:</STRONG><P><STRONG>-&nbsp;</STRONG><STRONG>Identify Symptoms:</STRONG> Clearly describe the specific errors or issues that users are experiencing within SAC, including steps to reproduce it if possible.<BR /><STRONG>- Note Timing:&nbsp;</STRONG>Document when the issues started and whether they are intermittent or persistent.<BR /><STRONG>- Identify Affected Users/Devices:</STRONG> List the users, devices, and locations that are experiencing the issue.<BR /><STRONG>- Perform Tests at Different Time:</STRONG> If the issue is preserved for some time, perform several network tests at different times of the day to take into account the variations of network traffic.<BR /><STRONG>- Test Different Network Configurations:&nbsp;</STRONG>Conduct tests across various network settings (such as different VPNs, Wi-Fi, or wired connections) to observe any variations in SAC performance, aiding identification of configurations that lead to issues.&nbsp;</P>&nbsp;</LI><LI><STRONG>Check ISP and Network Provider Status</STRONG><P>- Investigate the status of your Internet Service Provider (ISP) or network provider for outages or maintenance activities that might be impacting service quality.</P></LI><LI><P><STRONG>Monitor Network Latency and Bandwidth</STRONG></P><P>- In general, SAP Analytics Cloud requires no more bandwidth than is required to browse the internet. All application modules are designed for speed and responsiveness with minimal use of large graphic files.<BR />- Utilize network monitoring tools to assess latency and bandwidth between client systems and SAC servers. High latency or insufficient bandwidth can be a significant cause of degraded performance.</P><P><FONT size="3"><STRONG>Note: As the bandwidth differences are primarily due to network and infrastructure factors outside of SAP's control, resolving these issues typically requires involvement from the customer's Internet Service Provider (ISP) and internal IT team.</STRONG></FONT></P><FONT size="3"><STRONG>&nbsp;</STRONG></FONT></LI><LI><STRONG>Perform Ping and Traceroutes</STRONG><P>- Use ping tests to assess the responsiveness of SAC servers, a simple but effective method for identifying connectivity or server accessibility issues.<BR />- Conduct traceroute diagnostics from client systems to SAC servers to determine any bottlenecks or slow hops along the network path. This can reveal where delays are occurring.</P>&nbsp;</LI><LI><STRONG>Check Proxy and Protocol Settings and Assess Firewall and Security Settings</STRONG><P>- Verify if third-party proxies are forcing HTTP 1.1 instead of HTTP/2.&nbsp;Ensure proper firewall and port configurations for SAC connectivity<BR />- Verify that firewall and security settings do not block or throttle SAC traffic. Misconfigured settings could result in restricted access or slower performance.<BR />- Verify Quality of Service (QoS) policies. Using QoS policies to prioritize SAC traffic can help ensure optimal performance, especially on congested networks. Prioritize traffic based on protocols, ports, or IP addresses associated with SAC.</P>&nbsp;</LI><LI><STRONG>Address SAML IDP Logon Times</STRONG><P><SPAN>- Evaluate the configuration of the SAML Identity Provider (IDP) to ensure accurate settings and optimized authentication speed. Slow logon times can result from IDP server load issues or misconfigurations that delay user authentication</SPAN>.</P>&nbsp;</LI><LI><STRONG>Generate Diagnostic Information and Examine Network Logs</STRONG><P>- Review network logs for unusual traffic patterns or errors that could indicate disruptions in connectivity or excessive packet loss, which may affect user experience.<BR />- Collect HAR files and Chrome DevTools performance profiles.&nbsp;Gather relevant error messages and screenshots.</P>&nbsp;</LI><LI><STRONG>Monitor Concurrent Usage</STRONG><P>- Analyze SAC usage patterns to determine if peak utilization periods correlate with network performance issues, indicating bandwidth saturation during high-demand times.</P>&nbsp;</LI><LI><STRONG>Review Updates and Patches</STRONG><P>- Ensure all network-related hardware and software are up to date, as outdated equipment or software may have vulnerabilities impacting performance.</P>&nbsp;</LI><LI><STRONG>Check SAP documentation and SAC technical requirements</STRONG><P>- Ensure system meets SAC technical requirements.<BR />- Review SAP notes on common network issues.</P>&nbsp;</LI><LI><STRONG>Engage SAP Support</STRONG><BR /><P>- If you've investigated potential network issues and are still experiencing performance problems, engage SAP Support for further assistance.<BR />- Open a support ticket in the&nbsp;SAP for Me&nbsp;portal.</P></LI></OL></OL><H5 id="toc-hId-1700691844"><STRONG>Tools</STRONG></H5><P class="lia-align-justify" style="text-align : justify;"><SPAN>Here are some essential tools you can use as part of the steps above:</SPAN></P><UL class="lia-align-justify" style="text-align : justify;"><LI><STRONG>SAC Performance Measurement Tool </STRONG>- build-in&nbsp;sac tool to measure your client’s score, as well as the latency and bandwidth to your SAP Analytics Cloud service. Note that the network score may be&nbsp;negatively affected by other applications consuming the bandwidth, various network configurations, or different network issues. For example: Virtual Private Networks (VPN), Firewalls, Corporate bandwidth, Internet bandwidth, Database performance (live data connections), SAML IdP logon time.</LI><LI><STRONG>SAC Performance&nbsp;Statistics&nbsp;and&nbsp;Analysis&nbsp;Tool </STRONG>- <SPAN>build-in&nbsp;sac tool to identify scenarios that have a high-</SPAN>performance impact and shows network related insights such as <SPAN>Median Network Time Series and Top 10 User with the highest Median Network Time.</SPAN>&nbsp; For more information, see&nbsp;<A title="https://blogs.sap.com/2020/09/24/performance-statistics-and-analysis/" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-analytics-cloud-network-statistics/ba-p/13464997" target="_blank">SAP Analytics Cloud Network Statistics</A>.</LI><LI><STRONG>SAC Performance Analysis Tool </STRONG>- <SPAN>build-in&nbsp;sac tool&nbsp;</SPAN>to analyze single user workflows&nbsp;and&nbsp;break down their total end-to-end runtime for different processing layers such as backend time, network time and frontend time. For more information, see&nbsp;<A title="https://community.sap.com/t5/technology-blogs-by-sap/sap-analytics-cloud-performance-analysis-tool/ba-p/13460206" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-analytics-cloud-performance-analysis-tool/ba-p/13460206" target="_blank">SAP Analytics Cloud Performance Analysis Tool</A>.</LI><LI><STRONG><A href="https://cct.sde.cloud.sap/" target="_blank" rel="noopener nofollow noreferrer">Cloud Check Tool (CCT)</A></STRONG>&nbsp; - tool&nbsp;<SPAN>to analyze the network performance to specific data centers.&nbsp;The CCT addresses the problem that it is hard to analyze if a bad performance is related to the cloud system, the network or the device of the end-user. With the help of the CCT, the network connection from the end-user to the data center can be measured easily. The results can be used for example in support incidents.&nbsp;</SPAN></LI><LI><STRONG><A href="https://me.sap.com/systemsprovisioning/availability" target="_self" rel="noopener noreferrer">Cloud Availability Center</A></STRONG>&nbsp;-&nbsp;<SPAN>offers a personalized dashboard with at-a-glance visibility into cloud product availability.&nbsp;Accurate, up-to-date information into the status of your cloud products, critical information, maintenance updates, notifications, all in one place.&nbsp;</SPAN><SPAN>Read more about it&nbsp;</SPAN><A class="" href="https://support.sap.com/content/s4m/help/systems.html" target="_blank" rel="noopener noreferrer">here</A><SPAN>.</SPAN></LI><LI><STRONG><A class="" href="https://www.speedtest.net/" target="_blank" rel="nofollow noopener noreferrer">Speedtest by Ookla</A>&nbsp;</STRONG>- the global broadband speed test.</LI><LI><STRONG><SPAN>TRACERT (Trace Route)</SPAN> </STRONG>- a command-line utility in Windows used to trace the path that an Internet Protocol (IP) packet takes to its destination.&nbsp;<SPAN>The TRACERT diagnostic utility determines the route to a destination by sending Internet Control Message Protocol (ICMP) echo packets to the destination.&nbsp;You can use TRACERT to find out where a packet stopped on the network and whether it was lost. It also displays the amount of time each hop takes.&nbsp;</SPAN>TRACEROUTE&nbsp; <STRONG>-</STRONG>&nbsp;analogue of <SPAN>TRACERT&nbsp;</SPAN>command in Mac.</LI><LI><STRONG>PING -&nbsp;</STRONG>&nbsp;a command-line utility in Windows used to test the reachability of a host on an IP network.</LI><LI><STRONG>NETSTAT</STRONG> -&nbsp;<SPAN>a command-line network utility that displays open network sockets, routing tables, and a number of network interface and network protocol statistics. It is available on Unix, Plan 9, Inferno, and Unix-like operating systems including macOS, Linux, Solaris and BSD.</SPAN></LI></UL><H5 id="toc-hId-1504178339"><STRONG>NOTE: All tools in this blog are given as examples, the use of alternative web tools is also allowed. <SPAN>Please note that measurements may vary between tools; variations are normal and reflect real-world network conditions.</SPAN></STRONG></H5><H5 id="toc-hId-1307664834">SAP Notes</H5><P><SPAN>Here are some key SAP notes related to troubleshooting network performance issues in SAP Analytics Cloud:</SPAN></P><UL class="lia-align-justify" style="text-align : justify;"><LI><A href="https://me.sap.com/notes/2511489" target="_self" rel="noopener noreferrer">2511489 - Troubleshooting performance issues in SAP Analytics Cloud (Collective KBA)</A>&nbsp;</LI><LI><A href="https://me.sap.com/notes/2630653" target="_self" rel="noopener noreferrer">2630653 - HOW-TO: Collect traces to help troubleshoot errors and issues when importing data from on-premise data sources in SAP Analytics Cloud (SAC) ***Master KBA ***</A>&nbsp;</LI><LI><A href="https://me.sap.com/notes/2413393" target="_self" rel="noopener noreferrer">2413393 - How to record timelines in Chrome Developer Tools in case of SAP Analytics Cloud performance issues</A>&nbsp;</LI><LI><A href="https://me.sap.com/notes/2280022" target="_self" rel="noopener noreferrer">2280022 - How to collect a HTTP archive (HAR) file and Console Log file in SAP Analytics Cloud</A></LI><LI><A href="https://me.sap.com/notes/2452568" target="_blank" rel="noopener noreferrer">2452568 - Log and Trace files for SAP Cloud Connector - SAP for Me</A></LI><LI><A href="https://me.sap.com/notes/3271435" target="_self" rel="noopener noreferrer">3271435 - Chrome browser shows HTTP 1.1 though HTTP/2 is activated in the SAP System.</A>&nbsp;&nbsp;</LI><LI><A href="https://me.sap.com/notes/3056467" target="_self" rel="noopener noreferrer">3056467 - Slow performance when opening / running stories and content in SAP Analytics Cloud (SAC)</A></LI><LI><A href="https://me.sap.com/notes/2946046/E" target="_blank" rel="noopener noreferrer">2946046 - SAC gets slow (poor performance) after upgrading to new version 2020.13.2 - SAP for Me</A></LI><LI><A href="https://me.sap.com/notes/0003498799" target="_blank" rel="noopener noreferrer">3498799 - Network Measurement Tool Bandwidth Lower Than Expected in SAP Analytics Cloud (SAC) - SAP for Me</A></LI><LI><A href="https://me.sap.com/notes/2487011" target="_blank" rel="noopener noreferrer">2487011 - What information do I need to provide when opening a case for SAP Analytics Cloud? - SAP for Me</A></LI></UL><H5 id="toc-hId-1111151329">Conclusion</H5><P class="lia-align-justify" style="text-align : justify;"><SPAN>Troubleshooting network performance issues in SAP Analytics Cloud requires a methodical approach.&nbsp;By following the steps outlined above, you can systematically identify and address these issues, ensuring optimal performance and a seamless user experience. Regular monitoring and proactive maintenance are key to maintaining high performance and preventing future problems.</SPAN></P><H5 id="toc-hId-914637824">Call to Action</H5><P class="lia-align-justify" style="text-align : justify;">If you encounter persistent issues or need additional assistance, don't hesitate <SPAN>to reach out to your Technical Quality Manager (</SPAN><STRONG>TQM</STRONG><SPAN>), your SAP Account, your Customer Success Partner (</SPAN><STRONG>CSP</STRONG><SPAN>), or our central entry channel, the Virtual Project Room (</SPAN><STRONG>VPR</STRONG><SPAN>).&nbsp;</SPAN><SPAN>They can help you leverage support from SAP's Center of Expertise (COE) for Analytics, Planning, and Consolidation.</SPAN></P> 2025-04-08T10:13:11.959000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/introducing-the-new-papm-step-in-multi-actions-in-sap-analytics-cloud/ba-p/14079635 Introducing the New PaPM Step in Multi Actions in SAP Analytics Cloud 2025-04-18T04:56:12.174000+02:00 SarauShen https://community.sap.com/t5/user/viewprofilepage/user-id/165432 <P>Integrating SAP Analytics Cloud (SAC) with SAP Profitability and Performance Management (PaPM) offers significant business value by combining powerful data visualization and planning capabilities with advanced profitability and allocation calculations.&nbsp;</P><P>SAC users can execute PaPM calculations via <A href="https://community.sap.com/t5/technology-blogs-by-sap/integrate-remote-application-via-api-step-of-multi-actions/ba-p/13536177" target="_blank">API step within Multi actions</A> today. API step in Multi Actions empowers SAC users to execute remote calculation or program as one step in a multi action sequence. It requires technical background to properly configure the API step.</P><P>I am excited to introduce the upcoming release of integrating PaPM step within multi actions, which will be available with our 2025 QRC2 release!&nbsp; This new capability offers easy-to-use configurations, which empowers a non-IT user to create the streamlined workflows and improve efficiency.</P><P>What’s more, in the 2025 QRC2 release, SAC is introducing enhanced parameterizations for String type parameter and Datetime type parameter.</P><P>&nbsp;</P><H1 id="toc-hId-1579382058">The PaPM Step in Multi Actions</H1><P><STRONG>A new dedicated step type in multi actions for PaPM integration</STRONG></P><P>The PaPM integration step is now in a more prominent place in multi actions, making it more accessible for users.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_0-1744944335757.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252260i3A658AA27716EA5E/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_0-1744944335757.png" alt="SarauShen_0-1744944335757.png" /></span></P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_1-1744944335759.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252261iAA89521E286805E7/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_1-1744944335759.png" alt="SarauShen_1-1744944335759.png" /></span></P><P>&nbsp;</P><P><STRONG>Easy-to-use PaPM step configuration</STRONG></P><P>Adding a PaPM step to your multi action is a straightforward process. As a user, your knowledge about the PaPM process is sufficient to easily configure the PaPM step in multi actions. You don’t need to bother about the complexity of the technical details of the HTTP APIs.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_2-1744944335762.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252262i2BD5805A26186E2A/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_2-1744944335762.png" alt="SarauShen_2-1744944335762.png" /></span></P><P>Here are the key steps involved:</P><OL><LI><STRONG>Enter a Name</STRONG>: Provide a name for the step to easily identify it within your multi action.</LI><LI><STRONG>Choose PaPM Connection</STRONG>: Select the appropriate PaPM connection to link your SAC tenant with PaPM system. &nbsp;Note that the HTTP API connection created for the API step is not applicable in this context.</LI><LI><STRONG>Select Action</STRONG>: Decide whether you want to use an existing process or create a new one.</LI><LI><STRONG>Configure Activity</STRONG>: Depending on your choice of action, select the relevant PaPM environment, process, template, and activity.</LI><LI><STRONG>Set Parameters</STRONG>: Define the parameters for the PaPM step. You can choose pre-defined multi actions parameters or set fixed values.</LI><LI><STRONG>Choose Selections</STRONG>: Specify the selections for the PaPM step to tailor it to your needs. You can choose pre-defined multi actions parameters or set fixed values.</LI><LI><STRONG>Follow-Up Options</STRONG>: Decide if you want to delete the PaPM process after it runs or set the activity to complete if successful.</LI></OL><P>Once the PaPM integration step is added to the multi action, you can continue to add more steps, and reorder steps as required. This flexibility allows you to create comprehensive workflows that leverage the full capabilities of SAP Analytics Cloud and PaPM.</P><P>&nbsp;</P><P><STRONG>Enhanced parameterization strengthens the integration with PaPM</STRONG></P><P>The current Member type parameter and Number type parameter are applicable to the new PaPM step. These parameters can be used across all existing steps and the new PaPM step. &nbsp;</P><P>Additionally, the QRC2 2025 release introduces a new String type parameter and a new Datetime type parameter. These new parameters can be used in the PaPM step and the API step.</P><P>The String type parameter offers various options to easily choose the right values during multi actions execution.</P><UL><LI>The available values of the String type parameter can be bound with a PaPM parameter ensuring only the values allowed by the PaPM parameter can be chosen during multi actions execution.</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_3-1744944335763.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252265iFBBDC422426EAB89/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_3-1744944335763.png" alt="SarauShen_3-1744944335763.png" /></span></P><UL><LI>The available values of the String type parameter can be predefined in the multi actions (for example, yes or no, true or false).</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_4-1744944335764.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252264i89DEF995EA17D5E2/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_4-1744944335764.png" alt="SarauShen_4-1744944335764.png" /></span></P><UL><LI>The available values of the String type parameter can also be a free string, allowing the full flexibility of any string during multi actions execution.</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_5-1744944335765.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252263iA7B74AFDC961A7D9/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_5-1744944335765.png" alt="SarauShen_5-1744944335765.png" /></span></P><P>&nbsp;</P><P>The Datetime type parameter is also introduced, providing a date picker and datetime picker for value selection. The date and datetime picker ensure accurate and efficient input, improving user experience and interaction with the product.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_6-1744944335766.png" style="width: 333px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252267iDCDACABEA885834A/image-dimensions/333x225?v=v2" width="333" height="225" role="button" title="SarauShen_6-1744944335766.png" alt="SarauShen_6-1744944335766.png" /></span>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_7-1744944335768.png" style="width: 333px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252266i4D1F0C8E3C050BFB/image-dimensions/333x330?v=v2" width="333" height="330" role="button" title="SarauShen_7-1744944335768.png" alt="SarauShen_7-1744944335768.png" /></span></P><P>&nbsp;</P><P><STRONG>Execute Multi Action</STRONG><BR />This multi action can be executed in story, analytics application, and scheduled via Calendar as normal multi action.<BR /><BR />Now, planner can execute this multi action via one button / schedule job simply. The complexity of planning process is hidden from end-user.</P><P>&nbsp;</P><H1 id="toc-hId-1382868553">Example Use Case</H1><P>Imagine a scenario where a company wants to analyze its profitability across different product lines and regions. By integrating PaPM step within a multi action in SAP Analytics Cloud, the company can automate the process of running profitability calculations in PaPM, gathering the calculation from PaPM to SAC and running further calculations in SAC.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SarauShen_8-1744944335769.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/252268i05FBCC2A54390282/image-size/medium?v=v2&amp;px=400" role="button" title="SarauShen_8-1744944335769.png" alt="SarauShen_8-1744944335769.png" /></span></P><P>Here's how the multi action works:</P><OL><LI><STRONG>Profitability Calculation</STRONG>: The <STRONG>PaPM step</STRONG> is triggered to run profitability calculations based on the collected data. This step leverages the Data Export Service and PaPM's advanced algorithms to pull data from SAC to PaPM and perform detailed calculations.</LI><LI><STRONG>Data Collection</STRONG>: Once the calculations are complete, the multi action proceeds to import the calculated profitability data via <STRONG>Data Import</STRONG> step.</LI><LI><STRONG>Data aggregation and consolidation</STRONG>: the profitability across different product lines and regions are aggregated and consolidated via the <STRONG>Data Action</STRONG> step.</LI></OL><P>By automating these steps within a multi action, the company can save time, reduce errors, and ensure that profitability analysis is conducted efficiently and effectively.</P><P>&nbsp;</P><H1 id="toc-hId-1186355048">Conclusion</H1><P>The integration of PaPM steps within multi actions in SAP Analytics Cloud marks a significant advancement in simplifying and streamlining the workflow. This new feature not only enhances the efficiency and accuracy of workflows but also provides users with the flexibility to tailor processes to their specific needs.</P><P>As businesses continue to navigate the complexities of the modern market, tools like these will be invaluable in driving success and growth</P> 2025-04-18T04:56:12.174000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/general-availability-of-google-big-query-live-data-integration-in-sap/ba-p/14085520 General Availability of Google Big Query Live Data Integration in SAP Analytics Cloud 2025-04-24T17:16:43.263000+02:00 david_stocker https://community.sap.com/t5/user/viewprofilepage/user-id/184901 <P>We are thrilled to announce the upcoming <A href="https://roadmaps.sap.com/board?PRODUCT=67838200100800006884&amp;q=google&amp;range=FIRST-LAST#;INNO=29AB2E7D6B131EEF8DAB9FA01350775B" target="_self" rel="noopener noreferrer">General Availability (GA)</A> of live data integration from Google BigQuery (GBQ) into SAP Analytics Cloud (SAC). This significant milestone empowers our customers to leverage their actuals data directly from GBQ data lakes, while seamlessly incorporating it into SAC as if the data were locally replicated. This enhancement introduces data federation capabilities to SAC data models, allowing usage of GBQ data within SAC data models as if it were local, enabling enhanced analytics and decision-making.</P><P>With this new integration, our customers who use GBQ as their data lake can now leave their actuals data in GBQ, keeping their data where it naturally resides, reducing the need for additional data replication and storage management.&nbsp; This is especially useful for customers who have XP&amp;A scenarios and for business users who want to use federated data, without the assistant of a data engineer.</P><P>&nbsp;</P><H2 id="toc-hId-1709268137">Expanded Data Access</H2><P>You don’t use GBQ?&nbsp; &nbsp;&nbsp;Perhaps you use something like Impala, Oracle, Snowflake or Azure data lakes instead.&nbsp; GBQ is just the first step. We are committed to expanding these federation capabilities to support even more data sources and are currently working on covering all of the most popular data sources in the near future.</P><P>&nbsp;</P><H2 id="toc-hId-1512754632">Technical Notice</H2><P>As we roll out this new feature, there are a few important technical considerations to keep in mind:</P><P>&nbsp;</P><H3 id="toc-hId-1445323846">HANA Cloud Requirement</H3><P>- Your SAC tenant must be running on HANA Cloud, not HANA 2. Some customer tenants already have this configuration, but mass migration has not yet occurred. We will provide additional guidance on migration as needed.&nbsp; You can check the status of your tenant by looking in the about dialog.&nbsp; If it is a HANA Cloud based tenant, it will display the HANA Cloud version in this dialog.&nbsp; This information will not be present on HANA 2 tenants.&nbsp; More information on the migration is <A title="SAP Analytics Cloud infrastructure is moving to SAP HANA Cloud" href="https://community.sap.com/t5/technology-blogs-by-sap/sap-analytics-cloud-infrastructure-is-moving-to-sap-hana-cloud/ba-p/13573478" target="_blank">available here</A>.</P><P>&nbsp;</P><H3 id="toc-hId-1248810341">Architectural Work</H3><P>- To facilitate the rapid expansion of our federated data source list, we will be conducting some architectural work on our federation infrastructure. While we do not anticipate any significant issues, there is a low probability that existing federated models created during the first quarter after the initial GA release may be impacted.</P><P>&nbsp;</P><H3 id="toc-hId-1052296836">Note</H3><P>If you create a data model with federated data access to GBQ sources prior to QRC 2025 Q3, please be aware of this potential. By QRC3, we expect to mitigate all risks associated with these architectural changes.</P><P>&nbsp;</P><H3 id="toc-hId-855783331">Feature Activation</H3><P>Given the potential for minor disruptions, this feature will not be enabled by default. Until QRC3 2025 Q3, customers will need to raise a support ticket to have their HANA Cloud-based tenant enabled for federated access to GBQ.&nbsp; Please note that this measure is not to block anyone from using this feature.&nbsp; If you have a tenant that can support this feature, you can get it enabled.&nbsp; We simply want to make sure that you are aware that we can’t rule out breaking any models created during the first quarter after release.&nbsp; Please contact our support team for assistance.&nbsp; (see K<A href="http://SAP%20for Me link https://me.sap.com/notes/0003567602" target="_self" rel="nofollow noopener noreferrer">BA KB0946801</A>)</P><P>&nbsp;</P><H3 id="toc-hId-659269826">Embrace the Future of Data Integration</H3><P>We are excited about this step forward in data integration and look forward to bringing even more capabilities to our customers. Stay tuned for more updates and enhancements as we continue to improve SAP Analytics Cloud.</P> 2025-04-24T17:16:43.263000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/consuming-complex-datasphere-models/ba-p/14091196 Consuming complex Datasphere models 2025-05-02T15:34:21.742000+02:00 CLTGravesen https://community.sap.com/t5/user/viewprofilepage/user-id/768390 <H1 id="toc-hId-1580986154">Introduction</H1><P><a href="https://community.sap.com/t5/c-khhcw49343/SAP+Datasphere/pd-p/73555000100800002141" class="lia-product-mention" data-product="16-1">SAP Datasphere</a>&nbsp;is a part of the new <a href="https://community.sap.com/t5/c-khhcw49343/SAP+Business+Data+Cloud/pd-p/73554900100700003531" class="lia-product-mention" data-product="1249-1">SAP Business Data Cloud</a>&nbsp;offering, which&nbsp;<SPAN>enables a business data fabric architecture that uniquely harmonizes mission-critical data across the organization.</SPAN></P><P><SPAN>One prime feature of Datasphere is the semantically rich data model, that allows for deep structures of dimensions, hierarchies and transactional data.&nbsp;<BR /></SPAN><SPAN>The data models created in Datasphere can then be consumed for reporting by various tools, both SAP and non-SAP tools and used as the basis of reporting.</SPAN></P><P><SPAN>And while the "Single source of truth" is the cornerstone of enterprise reporting, the individual tools may interpret the data models differently.&nbsp;</SPAN></P><H1 id="toc-hId-1384472649">&nbsp;</H1><H1 id="toc-hId-1187959144">Purpose</H1><P>My main objective in this blog is to show how different tools interprets an Analytical Model and what you may want to consider when building models.&nbsp;</P><P>I will focus on the Analytical Model, rather than consumption models / perspective in this blog, because the end-result is the same, and the Analytical Model is the object that most people will first try to consume for reporting.&nbsp;</P><H1 id="toc-hId-991445639">&nbsp;</H1><H1 id="toc-hId-794932134">Basic concepts</H1><P>Before we dive in, I want to outline a few basic concepts that is important to understand the mechanisms at play. If you are already familiar with the concepts, you can skip this section.&nbsp;</P><H2 id="toc-hId-727501348">Annotations</H2><P>With the introduction of CDS views, SAP introduced Annotations, which is a tool to semantically enri</P><P>ch a table or view with instructions for the analytical engine to interpret the data.&nbsp;<BR />While there are many, many different types of annotations, Datasphere primarily uses Consumption and Semantics.&nbsp;</P><P>Take the below, very simple table</P><TABLE border="1" width="100%"><TBODY><TR><TD width="33.333333333333336%"><STRONG>Material</STRONG></TD><TD width="33.333333333333336%"><STRONG>Quantity</STRONG></TD><TD width="33.333333333333336%"><STRONG>Sales Unit</STRONG></TD></TR><TR><TD width="33.333333333333336%">MAT1</TD><TD width="33.333333333333336%">100</TD><TD width="33.333333333333336%">KG</TD></TR><TR><TD width="33.333333333333336%">MAT2</TD><TD width="33.333333333333336%">50</TD><TD width="33.333333333333336%">TON</TD></TR></TBODY></TABLE><P>We can add the following annotations to the table:</P><TABLE border="1" width="44.44399699312715%"><TBODY><TR><TD width="33.333333333333336%"><STRONG>Column</STRONG></TD><TD width="33.333333333333336%"><STRONG>CDS Annotation</STRONG></TD></TR><TR><TD width="33.333333333333336%">Material</TD><TD width="33.333333333333336%">none</TD></TR><TR><TD width="33.333333333333336%">Quantity</TD><TD width="33.333333333333336%"><SPAN>@Semantics.quantity.unitOfMeasure: 'Sales Unit'</SPAN></TD></TR><TR><TD>Sales Unit</TD><TD><SPAN>@Semantics.unitOfMeasure: true</SPAN></TD></TR></TBODY></TABLE><P>Which does nothing to the table definition itself, but we've told the engine that 'Quantity' and 'Unit' belong together.</P><H2 id="toc-hId-530987843">Associations</H2><P>One of the, at least to me, best things that came with CDS views was 'associations'.&nbsp;</P><P>In short, an association between two tables allows the engine to fine-tune the query, based on what you need, without you having to join tables together.&nbsp;</P><P>Based on the associations and annotations, the analytical engine can dynamically navigate the underlaying objects to fit the demands of the user at runtime.&nbsp;</P><P>You can read more about associations in the <A href="https://help.sap.com/docs/SAP_HANA_PLATFORM/09b6623836854766b682356393c6c416/6fcd6e5883f04de5b618a6d91141afb4.html" target="_blank" rel="noopener noreferrer">SAP documentation</A> or one of the many blog posts.&nbsp;</P><H2 id="toc-hId-334474338">Semantic usage</H2><P>When modelling objects in Datasphere, you will have the option to mark a table or view with a semantic usage, which provides some higher level annotations to the object.&nbsp;</P><P>Datasphere allows for the following options&nbsp;</P><UL><LI><STRONG><SPAN class="">Fact</SPAN>&nbsp;</STRONG>- Contains one or more measures and attributes. A fact typically has associations pointing to one or more dimensions and is consumed by analytic models (see<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/doc/08efa53381dd4df397d2d97bc54aaa3b-ba1b1ae376294128866dbe95ef9d8f74/2025.8/en-US/30089bd2aa754ab996a62cf5842ae60a.html?source=productlink-webassistant" target="_blank" rel="noopener noreferrer">Create a Fact to Contain Measurable Data</A>).</LI><LI><STRONG><SPAN class="">Dimension</SPAN>&nbsp;</STRONG>- Contains attributes containing master data like a product list or store directory, and supporting hierarchies (see<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/doc/08efa53381dd4df397d2d97bc54aaa3b-ba1b1ae376294128866dbe95ef9d8f74/2025.8/en-US/5aae0e95361a4a4c964e69c52eada87d.html?source=productlink-webassistant" target="_blank" rel="noopener noreferrer">Create a Dimension to Categorize Data</A>).</LI><LI><STRONG><SPAN class="">Hierarchy</SPAN>&nbsp;</STRONG>- Contains attributes defining a parent-child hierarchy (see<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/doc/08efa53381dd4df397d2d97bc54aaa3b-ba1b1ae376294128866dbe95ef9d8f74/2025.8/en-US/dbac7a862b3744d8a71d268644aac389.html?source=productlink-webassistant" target="_blank" rel="noopener noreferrer">Create an External Hierarchy for Drill-Down</A>).</LI><LI><STRONG><SPAN class="">Hierarchy with Directory</SPAN></STRONG><SPAN>&nbsp;</SPAN>- Contains one or more parent-child hierarchies (see<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/doc/08efa53381dd4df397d2d97bc54aaa3b-ba1b1ae376294128866dbe95ef9d8f74/2025.8/en-US/36c39eee184c485a80ebce9d0fec49ec.html?source=productlink-webassistant" target="_blank" rel="noopener noreferrer">Create a Hierarchy with Directory</A>).</LI><LI><STRONG><SPAN class="">Text</SPAN>&nbsp;</STRONG>- Contains attributes used to provide textual content in one or more languages (see<SPAN>&nbsp;</SPAN><A href="https://help.sap.com/doc/08efa53381dd4df397d2d97bc54aaa3b-ba1b1ae376294128866dbe95ef9d8f74/2025.8/en-US/b25726df116b463e97435ba720e48ac9.html?source=productlink-webassistant" target="_blank" rel="noopener noreferrer">Create a Text Entity for Attribute Translation</A>).</LI><LI><STRONG><SPAN class="">Relational Dataset</SPAN></STRONG><SPAN>&nbsp;</SPAN>- [default] Contains columns with no specific analytical purpose.</LI></UL><H1 id="toc-hId-8878114">&nbsp;</H1><H1 id="toc-hId--187635391">Creating a complex data model</H1><P>When I use the word "complex", I don't mean&nbsp;<EM>big</EM> but&nbsp;<EM>deep</EM>. A data model can have a hundred dimensions, and still be pretty simple.</P><P>In this example, I've created a straight forward data model, which the following objects:</P><TABLE border="1" width="66.66666666666667%"><TBODY><TR><TD width="33.333333333333336%" height="30px"><STRONG>Description</STRONG></TD><TD width="33.333333333333336%" height="30px"><STRONG>Semantic Usage</STRONG></TD></TR><TR><TD width="33.333333333333336%" height="50px"><P>Employee</P></TD><TD width="33.333333333333336%" height="50px"><P>Fact</P></TD></TR><TR><TD width="33.333333333333336%" height="50px"><P>Department</P></TD><TD width="33.333333333333336%" height="50px"><P>Dimension</P></TD></TR><TR><TD width="33.333333333333336%" height="50px"><P>Education</P></TD><TD width="33.333333333333336%" height="50px"><P>Dimension</P></TD></TR><TR><TD width="33.333333333333336%" height="50px"><P>Job Function</P></TD><TD width="33.333333333333336%" height="50px"><P>Dimension</P></TD></TR><TR><TD width="33.333333333333336%" height="50px"><P>Job Level</P></TD><TD width="33.333333333333336%" height="50px"><P>Dimension</P></TD></TR></TBODY></TABLE><P>The main object in this data model is the employee, which has several attributes: (1) They belong to a&nbsp;<STRONG>department</STRONG>, have an (2)&nbsp;<STRONG>education</STRONG>, and a (3)&nbsp;<STRONG>job function</STRONG>.&nbsp;<BR />In addition, each job function has another property: (4) <STRONG>job level</STRONG>, which indicates if it is a management position.&nbsp;</P><P>You can see the relationship in a graphical representation here:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746097686600.png" style="width: 615px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256833i1995603F9A6BC3DE/image-dimensions/615x288?v=v2" width="615" height="288" role="button" title="clsorensen911_0-1746097686600.png" alt="clsorensen911_0-1746097686600.png" /></span></P><P>When I say "complex" data model, this is what I mean: Some dimensions have no direct link to the main object - as you might have in a star schema - but can still be consumed.&nbsp;</P><P>In a real world scenario, you can imagine an almost infinite amount of levels and data links.&nbsp;</P><P>Imagine, for instance that we extended the "Education" dimension with the following extra fields: (1) Level (Bachelor, master, PhD, ect.) which also needs it one text, (2) area of study (such as engineering, finance, accounting, etc.), (3) completion date, (4) school of graduation, which may be a whole other dimension all by itself.&nbsp;</P><P>You can imagine how quickly we can add layers to a data model, which might technically be "correct" in a data modelling sense, but can present other problems, as we can see shortly.&nbsp;</P><P>When we create our Analytical Model, we have the option to select the associations we want from our "Fact" object.</P><P>Take note of a few things here:</P><UL><LI>Some of the fields are marked with a cube, which marks them as a Dimension (See the red squares).</LI><LI>All the dimensions have a "T" on their line, meaning that the dimension contains both key and text</LI><LI>Notice the "Date" dimension has a little stair / hierarchy icon as well, meaning that the association also comes with a hierarchy.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746098768582.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256835iD3CEE4C46971AC04/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_0-1746098768582.png" alt="clsorensen911_0-1746098768582.png" /></span></P><P>As you saw above, our "Job Function" dimension have attributes of it's own, so we can choose that and see that it has two attributes, but only one of them is a dimension:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_1-1746099009858.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256836i720DC42D6445FA0C/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_1-1746099009858.png" alt="clsorensen911_1-1746099009858.png" /></span></P><P>The final analytical model looks like this:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746098503796.png" style="width: 584px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256834iA7E7BDC0A8EBAE30/image-dimensions/584x333?v=v2" width="584" height="333" role="button" title="clsorensen911_0-1746098503796.png" alt="clsorensen911_0-1746098503796.png" /></span></P><H1 id="toc-hId-385591187">&nbsp;</H1><H1 id="toc-hId-189077682">Consuming the Analytical Model</H1><P>As promised, we shall now see how the Analytical model can be consumed with all the semantic enrichment. I will go through the following tools:</P><OL><LI>SAP Analytics Cloud via a Live Connection</LI><LI>Microsoft Excel via an SAP Add-In</LI><LI>3rd Party tools via OData</LI></OL><H3 id="toc-hId--594241837">Consumption in general</H3><P>I have skipped over a lot of different topics, so I would absolutely recommend the <A href="https://help.sap.com/docs/SAP_DATASPHERE/43509d67b8b84e66a30851e832f66911/d7d56284bb5148c887ac4054689bfbca.html" target="_blank" rel="noopener noreferrer">official documentation on consumption</A> to see in more detail.&nbsp;</P><H2 id="topic-title" id="toc-hId--497352335"><SPAN class="">SAP Analytics Cloud</SPAN><SPAN>&nbsp;</SPAN>via a Live Connection</H2><P>To be able to use this connection, you must have a user in both Datasphere and SAC, and have a working live connection <SPAN>(see&nbsp;</SPAN><A class="" title="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/ad4281e2875949f0b4d45d1072ff4c38.html" href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/ad4281e2875949f0b4d45d1072ff4c38.html" target="_blank" rel="noopener noreferrer">Live Data Connections to<SPAN>&nbsp;</SPAN><SPAN class="">SAP Datasphere</SPAN></A><SPAN>&nbsp;in the&nbsp;</SPAN><SPAN class="">SAP Analytics Cloud</SPAN><SPAN>&nbsp;documentation)</SPAN>.&nbsp;</P><P><SPAN>When you create a story in SAC, or just edit an existing one, you have the option to add a data source:</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746099574810.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256838i75B933D1157BFCFE/image-size/large?v=v2&amp;px=999" role="button" title="clsorensen911_0-1746099574810.png" alt="clsorensen911_0-1746099574810.png" /></span></SPAN></P><P><SPAN>From here, you can see a subfolder called Datasphere. Select the correct Datasphere and Space:</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_3-1746099689403.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256842i2468F722A1AADF05/image-size/large?v=v2&amp;px=999" role="button" title="clsorensen911_3-1746099689403.png" alt="clsorensen911_3-1746099689403.png" /></span></SPAN></P><P><SPAN>And select your Model:</SPAN></P><P><SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Choose Analytical Model" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256843iE60408AACC61B989/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_4-1746099789996.png" alt="Choose Analytical Model" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Choose Analytical Model</span></span></SPAN></P><P><SPAN>You can now consume the model including all associations and metadata.<BR />While there are a lot to explore, consider these two points:</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_5-1746099862124.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256844iB3C3BEDBBB1DE98F/image-size/large?v=v2&amp;px=999" role="button" title="clsorensen911_5-1746099862124.png" alt="clsorensen911_5-1746099862124.png" /></span></P><OL><LI><SPAN>The attribute “Management” is available as a property under Job Function and can be used in modelling</SPAN></LI><LI><SPAN>While the actual data only contains 1, 2, 3 in the “Department” column, because we have created the association to texts in Datasphere, we can use the texts with no extra work.</SPAN></LI></OL><P>Additionally, take note of the "Date" column, where we have both attributes&nbsp;<EM>and</EM> the hierarchy:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_6-1746100092211.png" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256845iFC5F35D9579CA5AF/image-size/small?v=v2&amp;px=200" role="button" title="clsorensen911_6-1746100092211.png" alt="clsorensen911_6-1746100092211.png" /></span></P><P><SPAN>Which is absolutely fantastic!&nbsp;<BR />No objects are transferred to SAC, it just acts as a tunnel between Datasphere and the end-user.&nbsp;</SPAN></P><P><SPAN>However, there is one problem. As you may have noticed, <STRONG>Job Level</STRONG> is not visible as a property of "Job Function", whereas "Management" is.&nbsp;"Job Level" appears as it's own dimension.</SPAN></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746100780173.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256847i0AF0430144C9131A/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_0-1746100780173.png" alt="clsorensen911_0-1746100780173.png" /></span></P><P>SAC displays nested dimensions as their own entity, rather than related to "Job Function". Which may be perfectly alright, but might cause confusion for the people building the reports, that might not know the underlaying data model.&nbsp;<BR />Imagine you have some sales data with a ship-to and ship-from columns. Both of these might have an "Address" dimension, and may cause confusion.&nbsp;</P><H2 id="topic-title" id="toc-hId--693865840">Microsoft Excel via an SAP Add-In</H2><P>The SAP Analytics Cloud add-in (which is&nbsp;<EM>not</EM> the same as Analysis for Office), can simply be downloaded from the Microsoft Store.&nbsp;</P><P>After installing, you can add the model to Excel, very similar to SAC:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_1-1746101662053.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256852i13EABEA5D5D9920B/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_1-1746101662053.png" alt="clsorensen911_1-1746101662053.png" /></span></P><P>And will interpret the metadata in the exact same way SAC does:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_2-1746101749130.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256854i72AFBF6E5EC58321/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_2-1746101749130.png" alt="clsorensen911_2-1746101749130.png" /></span></P><H2 id="topic-title" id="toc-hId--890379345">3rd Party tools via an OData Service</H2><P>Non-SAP products, such as Power BI or Tableau, can consume the data from Datasphere through an OData service.</P><H3 id="toc-hId--1380295857">Setup</H3><P>You can find other guides to help you set up a connection for your service of choice, but the setup in Datasphere is the same for all tools.&nbsp;<BR />I highly recommend&nbsp;<a href="https://community.sap.com/t5/user/viewprofilepage/user-id/513684">@gustavokath</a>&nbsp;<SPAN><A href="https://community.sap.com/t5/technology-blogs-by-sap/connecting-sap-data-warehouse-cloud-odata-api-with-powerbi-via-a-blank/ba-p/13546615" target="_self">blogpost</A> on the topic, which has all the information you need to set up your client.</SPAN></P><H3 id="toc-hId--1576809362">The OData request</H3><P>Datasphere allows you to build and preview an OData request from the Analytical Model builder:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_4-1746104214363.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256857i72AA5DA928112E82/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_4-1746104214363.png" alt="clsorensen911_4-1746104214363.png" /></span></P><P>Which allows you to play and and configure the request and will generate a URL for you:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_5-1746104337134.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256858iF8B3CA51C3A5F4B5/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_5-1746104337134.png" alt="clsorensen911_5-1746104337134.png" /></span></P><P>If you preview the data, you can see what kind of response it will generate.&nbsp;<BR />However, there are a lot of things to note here, so let's take them one at a time.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">1. Datasphere completely flattens the data before it sends it:&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_7-1746104578440.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256860iF3A46F7382510A05/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_7-1746104578440.png" alt="clsorensen911_7-1746104578440.png" /></span></P><P>The dimensions are served as both the key, and the text.&nbsp;<BR />Note that the "Dimension" is served as the technical name of the dimension.<BR />All Text fields added this way will have the suffix "_T", but uses the technical name of the field in the annotation:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_0-1746104857730.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256861i22F0BFBD4AFE04AD/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_0-1746104857730.png" alt="clsorensen911_0-1746104857730.png" /></span></P><P>Which can make the output difficult to read.&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">2. All data is served as either string or number (decimal, integer ect).</P><P>This may not seem as such a big deal, until you consider the dates:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_2-1746105201519.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256863i2B5626708101A57A/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_2-1746105201519.png" alt="clsorensen911_2-1746105201519.png" /></span></P><P>And while it can seem like a non-issue, the data itself contains no hint as to the format.&nbsp;<BR />You can request the metadata and see the type of the field is Edm.Date, which is a nice standard format:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_3-1746105339985.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256865i47E8439A81CB5F24/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_3-1746105339985.png" alt="clsorensen911_3-1746105339985.png" /></span></P><P>But that only happens because we've specified the column as a Date:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_4-1746105395091.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256867iB8AB20834455E9F3/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_4-1746105395091.png" alt="clsorensen911_4-1746105395091.png" /></span></P><P>But you can imagine different sources serving data in different formats, which can make consumption and modelling a nightmare, unless you enforce strict data harmonization in Datasphere - which you should obviously do - but mistakes happen.&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">3. Nested dimensions are flattened with the business name, not technical name.</P><P>There is, however, one absolutely brain-melting thing that I personally foresee causing endless amounts of confusion.&nbsp;</P><P>The nested dimension M_LEVEL, seen above as "Job Level" is a part of the data, but it is represented by the description of the parent dimension:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="clsorensen911_5-1746105736726.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/256869i0CAAD9E6E4B2CD10/image-size/medium?v=v2&amp;px=400" role="button" title="clsorensen911_5-1746105736726.png" alt="clsorensen911_5-1746105736726.png" /></span></P><P>Just looking at this output, you have a ice cube's chance in hell to deduce which fields belong together.&nbsp;<BR />Again, you can query the metadata and see the relationship, but you know as well as I do, that at some point, the data is going to end up in the hands of a super-user who has&nbsp;a very specific use case, and will be absolutely floored.&nbsp;</P><P>And yes - you are correct. If I had named my dimensions and fields better, a lot of the confusion could be avoided. Absolutely. That is kind of the point <span class="lia-unicode-emoji" title=":slightly_smiling_face:">🙂</span>&nbsp;</P><H1 id="toc-hId--1186516853">&nbsp;</H1><H1 id="toc-hId--1383030358">Conclusion</H1><P>The ability to consume Analytical Models build in Datasphere is an absolute godsend.&nbsp;<BR />It allows you to build central complex, semantically rich data model and allow your users to build their own reports, with whatever tools - to an extent - they prefer.&nbsp;</P><P>However, you as the data engineer have a responsibility to find the sweet spot between a model that contains 'enough', without it becoming too complicated.&nbsp;</P><P>Sometimes, two models might be better than one.&nbsp;</P> 2025-05-02T15:34:21.742000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/creating-a-sunburst-chart-in-sap-analytics-cloud-using-r-and-plotly/ba-p/14117647 Creating a Sunburst Chart in SAP Analytics Cloud Using R and Plotly 2025-06-03T17:50:01.457000+02:00 pratyushg13 https://community.sap.com/t5/user/viewprofilepage/user-id/126076 <P>A <STRONG>Sunburst chart</STRONG> is a powerful visualization technique for representing hierarchical data. It starts from a central root node and radiates outward to represent the hierarchy across multiple levels. In SAP Analytics Cloud (SAC), you can create this type of chart using <STRONG>R scripting and Plotly</STRONG>, providing a dynamic and interactive experience.</P><P>This guide walks you through the steps to build a Sunburst chart inside an SAC story using R.</P><P><STRONG>What Is a Sunburst Chart?</STRONG></P><P>A Sunburst chart visualizes multilevel categorical data in a circular layout. Each level of the hierarchy is represented by one ring or circle, with the innermost circle being the root node. Plotly in R provides excellent support for building dynamic Sunburst visualizations.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pratyushg13_0-1748947238564.png" style="width: 872px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/268820iB961EA268966F088/image-size/large?v=v2&amp;px=999" role="button" title="pratyushg13_0-1748947238564.png" alt="pratyushg13_0-1748947238564.png" /></span></P><P><STRONG>Step 1: Enable R Integration in SAC</STRONG></P><P>Before using R scripts in SAC:</P><OL><LI>Open the <STRONG>Main Menu</STRONG>.</LI><LI>Navigate to <STRONG>System &gt; Administration &gt; External Systems</STRONG>.</LI><LI>Ensure the <STRONG>R connection is enabled</STRONG>.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pratyushg13_1-1748947301491.png" style="width: 940px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/268822iDF3626E318FF72DF/image-size/large?v=v2&amp;px=999" role="button" title="pratyushg13_1-1748947301491.png" alt="pratyushg13_1-1748947301491.png" /></span></P><P>If not, refer to the official SAP guide for integration:<BR /><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/8d589100aea341a58a5c0916bbef022b.html" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/8d589100aea341a58a5c0916bbef022b.html</A></P><P><STRONG>Step 2: Insert an R Visualization in Your Story</STRONG></P><OL><LI>Create or open a story.</LI><LI>Go to the <STRONG>Insert</STRONG> section, click the <STRONG>+</STRONG>, then choose <STRONG>R Visualization</STRONG>.</LI><LI>A tile will be added to your story.</LI><LI>Click the tile and go to the <STRONG>Builder Panel</STRONG> on the right.</LI><LI>Click <STRONG>+ Add Input Data</STRONG> and select the required dimensions and measures (e.g., Version, Plants, Product, M1).</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pratyushg13_2-1748947344993.png" style="width: 453px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/268824iE90B23D26EF26519/image-size/large?v=v2&amp;px=999" role="button" title="pratyushg13_2-1748947344993.png" alt="pratyushg13_2-1748947344993.png" /></span></P><P><STRONG>Step 3: Add and Execute the R Script</STRONG></P><P>Click <STRONG>Add Script</STRONG>, and you will see four options: <STRONG>Editor</STRONG>, <STRONG>Console</STRONG>, <STRONG>Environment</STRONG>, and <STRONG>Preview</STRONG>.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="pratyushg13_3-1748947366540.png" style="width: 940px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/268826i3D82C0A603DD55A1/image-size/large?v=v2&amp;px=999" role="button" title="pratyushg13_3-1748947366540.png" alt="pratyushg13_3-1748947366540.png" /></span></P><P>Paste the following R script into the <STRONG>Editor</STRONG> section. <EM>(Note: Adjust dimension/measure names as per your model)</EM></P><pre class="lia-code-sample language-python"><code>library(data.table) library(plotly) as.sunburstDF &lt;- function(DF, valueCol = NULL){ require(data.table) colNamesDF &lt;- names(DF) if(is.data.table(DF)){ DT &lt;- copy(DF) } else { DT &lt;- data.table(DF, stringsAsFactors = FALSE) } DT[, root := names(DF)[1]] colNamesDT &lt;- names(DT) if(is.null(valueCol)){ setcolorder(DT, c("root", colNamesDF)) } else { setnames(DT, valueCol, "values", skip_absent=TRUE) setcolorder(DT, c("root", setdiff(colNamesDF, valueCol), "values")) } hierarchyCols &lt;- setdiff(colNamesDT, "values") hierarchyList &lt;- list() for(i in seq_along(hierarchyCols)){ currentCols &lt;- colNamesDT[1:i] if(is.null(valueCol)){ currentDT &lt;- unique(DT[, ..currentCols][, values := .N, by = currentCols], by = currentCols) } else { currentDT &lt;- DT[, lapply(.SD, sum, na.rm = TRUE), by=currentCols, .SDcols = "values"] } setnames(currentDT, length(currentCols), "labels") hierarchyList[[i]] &lt;- currentDT } hierarchyDT &lt;- rbindlist(hierarchyList, use.names = TRUE, fill = TRUE) parentCols &lt;- setdiff(names(hierarchyDT), c("labels", "values", valueCol)) hierarchyDT[, parents := apply(.SD, 1, function(x){ fifelse(all(is.na(x)), yes = NA_character_, no = paste(x[!is.na(x)], sep = ":", collapse = " - ")) }), .SDcols = parentCols] hierarchyDT[, ids := apply(.SD, 1, function(x){ paste(x[!is.na(x)], collapse = " - ") }), .SDcols = c("parents", "labels")] hierarchyDT[, c(parentCols) := NULL] return(hierarchyDT) } # Example data setup data11 = Test_Model data22 = subset(data11, select = c("Version", "Plants", "Product", "M1")) colnames(data22) &lt;- c("Version", "Plants", "Product", "M1") DF &lt;- as.data.table(data22) setcolorder(DF, c("Version", "Plants", "Product", "M1")) sunburstDF &lt;- as.sunburstDF(DF, valueCol = "M1") plot_ly( data = sunburstDF, ids = ~ids, labels = ~labels, parents = ~parents, values = ~values, type = 'sunburst', branchvalues = 'total', marker = list( colors = c('white', "e6ccb2", "79b2d2", "a1c65d", "fac723", "f29222", "e95e50", "ff92b1") ) )</code></pre><P>Click <STRONG>Execute</STRONG>, and the preview pane will display the generated Sunburst chart. Hit <STRONG>Apply</STRONG> to render it on the story canvas.</P><P><STRONG>Conclusion</STRONG></P><P>Using R and Plotly inside SAP Analytics Cloud, you can build highly interactive and insightful Sunburst charts to visualize hierarchical datasets. This approach not only expands SAC's native visualization capabilities but also gives you flexibility to tailor visuals to your data story.</P><P>Explore more possibilities with <STRONG>R integration</STRONG> in SAC and turn your dashboards into truly dynamic visual experiences.</P> 2025-06-03T17:50:01.457000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sac-new-features-to-try-after-migrating-from-neo-to-cloud-foundry/ba-p/14118352 SAC New Features to try after migrating from NEO to Cloud Foundry 2025-06-04T05:03:10.528000+02:00 YaoYao https://community.sap.com/t5/user/viewprofilepage/user-id/127827 <P><STRONG>Last update: 2025/06/04</STRONG></P><P>As the landscape of data analytics continues to evolve, staying ahead of the curve is crucial for leveraging the full potential of your tools and resources. If you have been utilizing SAP Analytics Cloud (SAC) on the SAP data center (Neo),&nbsp; it's time to explore the transformative benefits of migrating to the non-SAP data center (Cloud Foundry). This blog is designed to <STRONG>summarize the exciting new features and enhancements that Cloud Foundry offers.</STRONG></P><P>I will continue to <STRONG>update</STRONG> this blog as new features are released each quarter. Stay tuned and let’s start exploring!</P><P>&nbsp;</P><H2 id="toc-hId-1731520187"><STRONG>Story </STRONG></H2><H4 id="toc-hId-1793172120">1. Scheduling and Publication</H4><P>The Scheduling and Publication features in SAP Analytics Cloud (SAC) enable automated, customizable report distribution in various formats with targeted access control, enhancing collaboration and ensuring timely delivery of insights to relevant stakeholders. With this, you would be able to schedule a story with recurrence and distribute the same as a PDF over email to a number of different SAC and Non-SAC recipients. Want more, you can even include a customized message in the email per the schedule and as well attach a link to the view of the story in online mode which can be used to check the latest online copy of the story.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/86c2d7d88b134e45907453612c4f559a.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId-1596658615">2. Video Data Story</H4><P>The video data story feature in SAP Analytics Cloud (SAC) allows users to create dynamic, interactive presentations that combine data visualizations, text, and multimedia elements. This feature enhances storytelling by enabling users to convey insights more effectively and engage their audience with compelling narratives. In story view mode, you can select widgets to create a customized short video. You can then save, view and share it in SAP Analytics Cloud, and download it.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/1067d7a1191a4c79b21958f97959f553.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId-1400145110">3. Hosting resource file on SAC (for both custom widgets and widget add-ons)</H4><P>The Hosting resource file feature in SAP Analytics Cloud (SAC) allows users to upload and manage custom widgets and widget add-ons directly within the platform. This capability enhances customization and functionality, enabling users to tailor their analytics environment to better meet their specific needs.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/0ac8c6754ff84605a4372468d002f2bf/e983213a29554afb9700905ec0beb3d3.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><P>&nbsp;</P><H2 id="toc-hId-945466167"><STRONG>Modeling</STRONG></H2><H4 id="toc-hId-1007118100">1. Currency Conversion Enhancements</H4><P>Currency conversion tables let you take source data from different currencies in a model and convert it, either into a single currency for aggregation or into a set of currencies from a dimension. Tenants based on the Cloud Foundry environment benefit from the latest user experience improvements brought to the currency rate tables, with a redesigned toolbar and an improved Add Missing Rates dialog with a search functionality, as well as improved performance.</P><P>Please refer the <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/9348d55977e94994ab27bf031389d8f2.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A> for details.</P><H4 id="toc-hId-810604595">2. Unit Conversion Table</H4><P>SAP Analytics Cloud provides a built-in standard unit conversion table that may be used as a technical reference and consumed in models and stories. You can edit the unit conversion table and maintain your own units and unit groups so that it suits your business needs. You can access the Standard Unit Table and Unit Description Table via the dedicated on the modeler's home screen.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/577c0e9a25b642f38d9bf0895ad48b17.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId-614091090">3. Enhanced Experience of mapping data into a model</H4><P>The new mapping experience on Cloud Foundry not only automatically pre-maps some parts of the data, but also provides new experience in date dimension mapping and attribute mapping.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/75683f452594426bb05cb49dc4c5af99.html" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId-417577585">4. Change data source of an import job</H4><P>In the Data Management space, you can edit the data source and the query definition of an import job for models with measures if needed. This flexibility is helpful to adapt to possible changes on the external data source, or simply to repurpose an existing job for another data source without redoing all the upfront configuration. <SPAN>&nbsp;</SPAN></P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/75683f452594426bb05cb49dc4c5af99.html#changing-the-data-source-of-an-import-job-non-sap-data-center-tenants-only-" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.<SPAN>&nbsp;</SPAN></P><P>&nbsp;</P><H2 id="toc-hId--37101358"><STRONG>Enterprise Planning</STRONG></H2><H4 id="toc-hId--473166520">1. Predictive Planning capabilities</H4><P>With Predictive planning, you can generate accurate forecasts on top of your actuals to accelerate your day-to-day planning activities.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/66eeff9e46334644b43b10e49e2022bf.html?locale=en-US&amp;q=predicitve+planning" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId--669680025">2. Seamless Planning</H4><P>As a modeler, when creating a model, you have the possibility to store your model's master data and fact data in SAP Analytics Cloud or SAP Datasphere. Storing your model's data in SAP Datasphere reduces your data footprint in SAP Analytics Cloud, and brings your planning data closer to your actual data, with no data replication or acquisition involved.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/6d81dcce234b417e8afb8450abab785e.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId--866193530">3. Data Upload Starter in Optimized story experience</H4><P>If you’re using the optimized story experience and would like to allow users to upload their data as the first stage of planning, you can do so by inserting a data upload starter in your page.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/69a370e6cfd84315973101389baacde0.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A> for details.</SPAN></P><P>&nbsp;</P><H2 id="toc-hId--475901021"><STRONG>AI for Planning and Analytics</STRONG></H2><H4 id="toc-hId--1259220540">1. Smart Predict - Predictive Scenarios</H4><P>A Predictive Scenario helps address a business question requiring predictions. It is a workspace, where you create and compare predictive models to find the best one to bring the best predictions to address the business question. You can carry out Classification, Regression or Time Series Forecast with predictive scenarios. Please note that Smart predict is available on some of the Cloud Foundry tenants.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/37db2128dab44d15b46e1918829c1ff1.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A> for details.</SPAN></P><H4 id="toc-hId--1455734045">2. Just Ask natural language query</H4><P>Powered by artificial intelligence, Just Ask enables you to search your data easily and efficiently using business terms you are familiar with. Simply ask your question using natural language, and Just Ask will instantly provide answers as simple charts and tables.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/95dbe296761940c2bf4e18d54a20f3df.html" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><H4 id="toc-hId--1652247550">3. Analytical Insights in Joule</H4><P>The analytical insights capability in Joule, powered by SAP Analytics Cloud, allows business users to explore their data and gain insights into your business, in a natural, conversational experience. Using familiar business terms, simply ask your question, and Joule will instantly provide answers as simple charts and metrics. Joule itself is not available in SAP Analytics Cloud, but instead your users ask questions to the Joule analytic insights feature from other SAP products that have enabled this capability.</P><P>Please refer the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/06e77430ae0846afba012862e031983d.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for details.</P><P>&nbsp;</P><H2 id="toc-hId--1261955041"><STRONG>Data Connection and System Administration</STRONG></H2><P>After migrating to Cloud Foundry, you will gain access to a group of new connectors and admin tools. Please click each feature to learn the details.</P><OL><LI><SPAN><A href="4.https:/help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/c2789fc8f9af44f186a20a4467186e3c.html?locale=en-US" target="_blank" rel="noopener nofollow noreferrer">SAP Integration Suite Open Connectors</A></SPAN></LI><LI><SPAN><A href="5.https:/help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/5bd569b3f75f49f29e9ec251fd6a1386.html?locale=en-US" target="_blank" rel="noopener nofollow noreferrer">Live Connection to HANA Cloud using an “SAP HANA Cloud” Connection</A></SPAN></LI><LI><SPAN><A href="https://6.https:/help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/c67857c09b714f03b74464d00ef0c55b.html?locale=en-US&amp;q=BIGQUERY" target="_blank" rel="noopener nofollow noreferrer">Live Data Connection to Google BigQuery</A></SPAN></LI><LI><SPAN><A href="https://sap-my.sharepoint.com/personal/yao_yao02_sap_com/Documents/04-SAC-PM-REF/8.%09https:/me.sap.com/notes/3431000" target="_blank" rel="noopener nofollow noreferrer">Use “Username and Password” as the authentication method for live tunnel connection from SAC to S/4HANA</A></SPAN></LI><LI><SPAN><A href="6.https:/help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/3676675895c9441897c5e82a112703a4.html?locale=en-US" target="_blank" rel="noopener nofollow noreferrer">Bring Your Own Key </A>&nbsp;</SPAN></LI></OL><P><STRONG>&nbsp;</STRONG></P><H2 id="toc-hId--1458468546"><STRONG>API Service</STRONG></H2><H4 id="toc-hId-2053179231">1. Managing users and teams via SCIM2 API</H4><P>The SCIM2 endpoint is a SCIM 2.0 compliant endpoint that includes additional functionality not included in the SCIM endpoint. For example, you can search for teams, and get information on your identity provider (IDP), available schemas, and resource types.</P><P>Please check the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/ee11077e8a344ce99dfb77033eace581.html?locale=en-US" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for the details.</P><H4 id="toc-hId-2024849417">2. Data Export/Import Service API</H4><P>The Data Export/Import Service is an open API that allows you to retrieve/import fact and master data to SAP Analytics Cloud. The service offers a PULL based API data extraction API that helps with data integration from SAP Analytics Cloud to SAP Datasphere, SAP BW, SAP HANA, and other third-party tools. The API doesn't have a dedicated user-interface, and simply extracts data and information about providers. A provider corresponds to a planning model within a particular SAP Analytics Cloud system.</P><P>Please check the <SPAN><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/3ccfab3348dd407db089accb66cff9a2.html" target="_blank" rel="noopener noreferrer">help manual</A></SPAN> for the details.</P><P>&nbsp;</P><H2 id="toc-hId--1879825370">Summary</H2><P>In conclusion, migrating from SAP Analytics Cloud (SAC) on Neo to Cloud Foundry opens up a plethora of new features and enhancements designed to elevate your analytics and planning capabilities. Embrace these innovations to maximize the potential of your analytics environment and drive informed decision-making. Have fun with SAP Analytics Cloud!</P><P>&nbsp;</P> 2025-06-04T05:03:10.528000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/quot-you-and-the-sac-gatekeeper-quot-a-beginner-s-guide-to-using-oauth-with/ba-p/14131491 "You and the SAC Gatekeeper" — A Beginner’s Guide to Using OAuth with SAP Analytics Cloud SCIM API 2025-06-19T15:10:53.176000+02:00 Sivaramakrishnan_Manickam https://community.sap.com/t5/user/viewprofilepage/user-id/874631 <P><U><STRONG>Introduction</STRONG></U><BR />Imagine you're trying to automate user provisioning in SAP Analytics Cloud (SAC) using the SCIM API. You’ve got your data ready — names, emails, roles — but wait! You can’t just walk in and create users. SAC is a secure system with a tough gatekeeper, and before you do anything, you need to understand how OAuth works in this world.</P><P>Let’s walk through this with a story <span class="lia-unicode-emoji" title=":open_book:">📖</span> — because tech can be fun too!</P><P><STRONG><span class="lia-unicode-emoji" title=":performing_arts:">🎭</span> Characters in Our Story</STRONG><BR /><STRONG>You – An admin or developer who wants to create users in SAC.</STRONG></P><P><STRONG>SAC Guard</STRONG> – The security gatekeeper of SAP Analytics Cloud.</P><P><STRONG>Token Shop</STRONG> – A place (OAuth server) where you exchange your credentials for an access token.</P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><STRONG>Chapter 1: You Arrive at the Gate</STRONG></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Chapter 1: You Arrive at the Gate</div></div></noscript></div></div><P>You:&nbsp;“Hi! I want to go inside SAC and create some users using the SCIM API.”</P><P>SAC Guard:&nbsp;“Whoa, not so fast! Who are you? Do you have a permission slip (token)? We don’t let just anyone in!”</P><P>You:&nbsp;“Umm… no, but I have a Client ID and Secret. My boss gave them to me.”</P><P>SAC Guard:&nbsp;“That’s not enough. Go to the Token Shop and exchange that ID and Secret for a token.”</P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><EM><STRONG>Chapter 2: Visiting the Token Shop&nbsp;</STRONG></EM></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Chapter 2: Visiting the Token Shop&nbsp;</div></div></noscript></div></div><P>The Token Shop is actually the OAuth server. It verifies that you are trusted, and hands you an access token in return.</P><P>Request Token</P><P>You make a POST request to the OAuth token endpoint (e.g.):&nbsp;&nbsp;</P><PRE>POST https://&lt;oauth-server&gt;/oauth/token</PRE><P>&nbsp;With the following form data:</P><PRE>grant_type=client_credentials<BR />client_id=&lt;your_client_id&gt;<BR />client_secret=&lt;your_client_secret&gt;</PRE><P>Token Shop:&nbsp;“Here you go! Your access token is valid for 1 hour. Use this to talk to SAC.”<BR />&nbsp;</P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><STRONG>Chapter 3: Back at the SAC Gate</STRONG></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Chapter 3: Back at the SAC Gate</div></div></noscript></div></div><P>You: “Hey Guard! I have my access token now. Look!”&nbsp;</P><P>SAC Guard:&nbsp;“Perfect! Now you're allowed to call the SCIM API and create users. Carry on!”</P><P>Example SCIM API Call:</P><P>&nbsp;</P><PRE>POST https://&lt;sac-tenant&gt;/api/scim/Users<BR />Authorization: Bearer &lt;access_token&gt;<BR />Content-Type: application/json<BR /><BR />{<BR />"userName": "john.doe@example.com",<BR />"name": {<BR />"givenName": "John",<BR />"familyName": "Doe"<BR />},<BR />"emails": [<BR />{<BR />"value": "john.doe@example.com",<BR />"primary": true<BR />}<BR />]<BR />}</PRE><P>&nbsp;SAC accepts your request and the user is created!</P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><STRONG>Chapter 4: One Hour Later…</STRONG></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Chapter 4: One Hour Later…</div></div></noscript></div></div><P>SAC Guard: “Sorry, your token has expired. Please get a new one from the Token Shop.”</P><P>Just like a movie ticket, your access token has a limited validity (usually 1 hour). Once it expires, you need to repeat the process and get a new one.</P><div class="lia-spoiler-container"><a class="lia-spoiler-link" href="#" rel="nofollow noopener noreferrer">Spoiler</a><noscript> (Highlight to read)</noscript><div class="lia-spoiler-border"><div class="lia-spoiler-content"><STRONG>Chapter 5: Key Takeaways (The Real Lesson)</STRONG></div><noscript><div class="lia-spoiler-noscript-container"><div class="lia-spoiler-noscript-content">Chapter 5: Key Takeaways (The Real Lesson)</div></div></noscript></div></div><UL><LI>OAuth is a protocol that controls access.</LI><LI>You use a Client ID + Secret to ask the OAuth server (Token Shop) for an access token.</LI><LI>SAP Analytics Cloud (SAC) will only accept API calls if you present a valid access token.</LI><LI>This entire mechanism protects SAC from unauthorized access and enforces security in automation.</LI><LI>For automation, consider scripting token generation and refreshing every hour (or using a refresh token if supported).</LI></UL><P><STRONG>Conclusion</STRONG></P><P><BR />This story-based analogy helps demystify OAuth in the context of SAP Analytics Cloud user provisioning. Think of OAuth as a polite but firm doorman system that ensures only the right guests enter — and only if they’re on time.</P><P>So next time you see "401 Unauthorized" from the SAC SCIM API, don’t panic — just visit the Token Shop again.</P><P>&nbsp;</P><P>Reference: Thought inspired from <a href="https://community.sap.com/t5/user/viewprofilepage/user-id/70553">@Matthew_Shaw</a>&nbsp;the&nbsp;<A href="https://community.sap.com/t5/technology-blog-posts-by-sap/sap-analytics-cloud-user-and-team-provisioning-api-hands-on-video-tutorials/ba-p/13510017" target="_self"><SPAN>automation using the SCIM API.</SPAN></A></P><P><SPAN><A href="https://github.com/SAP-samples/analytics-cloud-scim-api-samples" target="_blank" rel="nofollow noopener noreferrer">https://github.com/SAP-samples/analytics-cloud-scim-api-samples .&nbsp;</A></SPAN><SPAN>Matthew&nbsp;<A href="https://d.dam.sap.com/a/kv3cXuB" rel="ugc noopener noreferrer" target="_blank">user guide</A>&nbsp;has a lot of detail in it and also troubleshooting steps, that might be helpful and worth a visit.&nbsp;</SPAN></P><P>&nbsp;</P> 2025-06-19T15:10:53.176000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sap-analytics-cloud-qrc3-snowflake-key-pair-authentication-update-new-data/ba-p/14129140 SAP Analytics Cloud - QRC3 Snowflake Key-Pair Authentication Update, New Data Sources 2025-06-25T19:59:20.326000+02:00 JimmyYang https://community.sap.com/t5/user/viewprofilepage/user-id/121467 <H2 id="toc-hId-1732471544">Update Overview</H2><P>QRC3 brings a few important updates in SAP Analytics Cloud in the Connectivity area.</P><UL><LI>Support for Snowflake Key-Pair authentication</LI><LI>Support for Oracle Exadata 19c, Oracle 19c, Oracle 20c, HP Vertica 11, HP Vertica 12, PostgreSQL 14 and PostgreSQL15<BR /><UL><LI>The new versions of the data sources will be supported</LI></UL></LI></UL><H2 id="toc-hId-1535958039">Who should read this article?</H2><UL><LI>SAP Analytics Cloud Administrators who manage the connectivity to SAC</LI><LI>If you have been using Generic JDBC to import from Oracle or PostgreSQL</LI><LI>If you are using the existing Snowflake connection with username and password</LI></UL><H2 id="toc-hId-1339444534">Snowflake Key-Pair Authentication More Details</H2><P>Snowflake is blocking single factor authentication November 2025 (<A href="https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/" target="_blank" rel="noopener nofollow noreferrer">https://www.snowflake.com/en/blog/blocking-single-factor-password-authentification/</A>).&nbsp;This means that SAP Analytics Cloud Import Connections using username and password would fail.&nbsp;</P><H3 id="toc-hId-1272013748">What do I need to do?</H3><H5 id="toc-hId-1333665681">Prerequisites:</H5><P>1) Update SAC Agent Version to&nbsp;1.0.441. This is documented in our help guides <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/b103a251020746f786ec0860fa51a63a/ecce365ed4cd40f2bf9fb7f9e5118436.html" target="_blank" rel="noopener noreferrer">here</A></P><P>2) If you are looking to use encrypted private keys, you must use SAP JVM 11 for SAC Agent and also add the following java options:&nbsp;-Dnet.snowflake.jdbc.enableBouncyCastle=true</P><H5 id="toc-hId-1137152176">&nbsp;</H5><H5 id="toc-hId-940638671">Configuration of Key-Pair</H5><H6 id="toc-hId-873207885">Step 1) Configure Snowflake Key-Pair Authentication</H6><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">For a more steps from Snowflake, go <A href="https://docs.snowflake.com/en/user-guide/key-pair-auth" target="_self" rel="nofollow noopener noreferrer">here</A></P><OL><LI><H6 id="toc-hId-676694380">Generate Private Key</H6><OL><LI>Open a Terminal window</LI><LI>You can generate an encrypted or unencrypted private key&nbsp;<BR /><BR />unencrypted:<BR /><DIV class=""><DIV class=""><DIV class=""><PRE>openssl genrsa <SPAN class="">2048</SPAN> <SPAN class="">|</SPAN> openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt</PRE></DIV></DIV></DIV>encrypted:&nbsp;<BR /><DIV class=""><DIV class=""><PRE>openssl genrsa <SPAN class="">2048</SPAN> <SPAN class="">|</SPAN> openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8</PRE></DIV></DIV><DIV class=""><BR />These commands will generate a file in PEM format:<BR /><BR /></DIV><PRE>-----BEGIN ENCRYPTED PRIVATE KEY----- MIIE6T... -----END ENCRYPTED PRIVATE KEY-----</PRE></LI><LI>This file should be saved into the SAC Agent &gt; Tomcat directory. For example, it can be saved into&nbsp; the .../tomcat/webapps/ directory</LI></OL></LI><LI><H6 id="toc-hId-480180875">Generate Public Key<BR /><BR /></H6><OL><LI><P>In the Terminal Window, generate the public key based on the private key above<BR /><BR /></P><DIV class=""><DIV class=""><PRE>openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub</PRE></DIV></DIV></LI><LI>The command will generate a public key in PEM format<BR /><BR /><PRE>-----BEGIN PUBLIC KEY----- MIIBIj... -----END PUBLIC KEY-----</PRE></LI></OL></LI><LI><H6 id="toc-hId--1059021177">Assign Public Key to Snowflake User</H6><OL><LI>In Snowflake, run the following command to assign the public key to a Snowflake user. This snowflake user that imports the data from SAC.<BR /><BR />** Note:<BR />- You must have MODIFY PROGRAMMATIC AUTHENTICATION METHODS or OWNERSHIP privileges on the user. or SECURITYADMIN role or higher..&nbsp;<BR />- copy the full public key from the&nbsp;rsa_key.pub file **<BR /><BR /><PRE><SPAN class="">ALTER</SPAN> <SPAN class="">USER</SPAN> <SPAN class="">example_user</SPAN> <SPAN class="">SET</SPAN> <SPAN class="">RSA_PUBLIC_KEY</SPAN><SPAN class="">=</SPAN><SPAN class="">'MIIBIjANBgkqh...'</SPAN><SPAN class="">;</SPAN></PRE></LI></OL></LI></OL><P>&nbsp;</P><H6 id="toc-hId--1255534682">Step 2) Restart SAC Agent</H6><H6 id="toc-hId--1452048187">Step 3) Create / Update a Snowflake Connection</H6><OL><LI>&nbsp;Go to Connections &gt; SQL Databases&nbsp;<BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JimmyYang_0-1750874275910.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/278851iF42D43995F6BBCCD/image-size/medium?v=v2&amp;px=400" role="button" title="JimmyYang_0-1750874275910.png" alt="JimmyYang_0-1750874275910.png" /></span><P>&nbsp;</P></LI><LI>Select the SAC Agent location and the Snowflake Connection Type. For instructions on setting up the JDBC drivers, go <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/0d5ffbb6951b45778c1a90ffd0114f04.html" target="_self" rel="noopener noreferrer">here</A>:&nbsp;<BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JimmyYang_1-1750873495550.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/278846i924944F63BC60C10/image-size/medium?v=v2&amp;px=400" role="button" title="JimmyYang_1-1750873495550.png" alt="JimmyYang_1-1750873495550.png" /></span></LI><LI>Configure the Snowflake connection<BR /><BR />Note: The major change in QRC3 is we are accepting the private_key_file parameter in this input parameter. This will reflect the location of the private key stored on the SAC Agent (deployed on Tomcat) resides.&nbsp;<BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JimmyYang_2-1750873732937.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/278849i693DC43A303AE926/image-size/medium?v=v2&amp;px=400" role="button" title="JimmyYang_2-1750873732937.png" alt="JimmyYang_2-1750873732937.png" /></span><BR /><BR /></LI><LI>For the Username, please use the same Snowflake user that he public key is associated with in the previous section.<BR /><BR />The passphrase area is used ONLY if you are using an encrypted private key. If you are not using an encrypted private key, you can leave this blank.&nbsp;<BR /><BR /><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="JimmyYang_0-1752680309094.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/287390i8716B3C16F37FFAF/image-size/medium?v=v2&amp;px=400" role="button" title="JimmyYang_0-1752680309094.png" alt="JimmyYang_0-1752680309094.png" /></span><P>&nbsp;</P></LI><LI>Save this connection.</LI><LI>You are done!</LI></OL><P>Please note if you are modifying an existing connection, you will have to edit the existing connection, modify and resave.&nbsp;</P><H5 id="toc-hId--1355158685">Updates: November 2025</H5><P>SapMachine 11 has reached end-of-life and is no longer available for public download.</P><P>New tests were conducted on SapMachine 17.0.16 and 21.0.8 with Snowflake driver 3.27.0 on Windows and SUSE OS to confirm that Snowflake key-pair authentication can establish a connection and query data.</P><P>For more information, please refer to this article: <A href="https://community.snowflake.com/s/article/JDBC-Driver-Compatibility-Issue-With-JDK-16-and-Later" target="_blank" rel="nofollow noopener noreferrer">https://community.snowflake.com/s/article/JDBC-Driver-Compatibility-Issue-With-JDK-16-and-Later</A></P><P>Please note that there is a known issue with the Snowflake JDBC driver and its compatibility with JDK 16 and later versions. &nbsp;To resolve this, two Java options are required:</P><P>-Dnet.snowflake.jdbc.enableBouncyCastle=true</P><P>--add-opens=java.base/java.nio=ALL-UNNAMED</P><P>These options should be included in your Java command line settings to ensure compatibility.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P>Q&amp;A</P><P>&nbsp;</P> 2025-06-25T19:59:20.326000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/how-to-collect-a-http-archive-har-file-from-the-sac-mobile-app-a-step-by/ba-p/14140486 How to Collect a HTTP Archive (HAR file) from the SAC Mobile App: A Step-by-Step Guide 2025-07-04T16:24:38.516000+02:00 nik_beliakov https://community.sap.com/t5/user/viewprofilepage/user-id/169243 <P class="lia-align-justify" style="text-align : justify;"><SPAN>Ensuring the smooth performance of the SAP Analytics Cloud (SAC) mobile app is essential for maintaining user satisfaction and productivity. While you might be familiar with troubleshooting network performance issues in desktop environments, the mobile landscape presents its own unique challenges. One effective way to identify and address performance bottlenecks in the SAC mobile app is by collecting and analyzing a HTTP Archive (HAR file).</SPAN></P><P class="lia-align-justify" style="text-align : justify;"><SPAN>With this blog, I am expanding upon and further elaborating on some of the points mentioned in my previous blog -</SPAN><SPAN>&nbsp;</SPAN><A href="https://community.sap.com/t5/technology-blog-posts-by-sap/strategy-for-troubleshooting-network-performance-issues-in-sap-analytics/ba-p/14054830" target="_blank">Strategy for troubleshooting network performance issues in SAP Analytics Cloud</A>.&nbsp;</P><H4 id="toc-hId-1992218918">Why Collect a HAR File?&nbsp;</H4><P class="lia-align-justify" style="text-align : justify;">A HAR file contains detailed information about network requests and responses, including timings, headers, and content. This data is invaluable for diagnosing performance issues and understanding how the app interacts with backend services.</P><H4 id="toc-hId-1795705413">Prerequisites</H4><P class="lia-align-justify" style="text-align : justify;"><SPAN>This guide uses Fiddler Classic for Windows as an example to capture traffic from iOS Device, but another a web debugging proxy tool with similar functionality can also be used to collect the HAR file.&nbsp; If you're looking for Fiddler for macOS, use&nbsp;Fiddler Everywhere or use virtualization products like VMWare Fusion or Parallels Desktop to run Fiddler Classic in a virtual machine on your Mac.&nbsp;&nbsp;</SPAN></P><H4 id="toc-hId-1599191908">Step-by-Step Guide</H4><H5 id="toc-hId-1531761122"><STRONG>1. </STRONG>Install and Configure Fiddler.</H5><H5 id="toc-hId-1335247617"><STRONG>1.1 Download and Install Fiddler:</STRONG></H5><UL><LI><STRONG>Fiddler Classic:</STRONG>&nbsp;Download and install Fiddler Classic from&nbsp;the official website<SPAN>&nbsp;</SPAN><A href="https://www.telerik.com/fiddler" target="_blank" rel="noopener nofollow noreferrer">Telerik</A>.</LI><LI><STRONG>Fiddler Everywhere</STRONG><SPAN>:&nbsp;Download and install&nbsp;</SPAN><SPAN>Fiddler Everywhere&nbsp;from&nbsp;the official website&nbsp;<A href="https://www.telerik.com/download/fiddler-everywhere" target="_self" rel="nofollow noopener noreferrer">Telerik</A></SPAN></LI></UL><H5 id="toc-hId-1138734112"><STRONG>1.2. Configure Fiddler to Capture Traffic:</STRONG></H5><UL><LI><STRONG>Fiddler Classic </STRONG>:<UL><LI>Follow steps in<SPAN>&nbsp;</SPAN><A href="https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios" target="_blank" rel="nofollow noopener noreferrer">Capture Traffic</A> from iOS Device.</LI><LI>Follow steps in<SPAN>&nbsp;</SPAN><A href="https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforandroid" target="_blank" rel="nofollow noopener noreferrer">Configure Fiddler Classic</A> for Android Device.</LI></UL></LI><LI><SPAN><STRONG>Fiddler Everywhere</STRONG></SPAN>:&nbsp;<UL><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler-everywhere/capture-traffic/capture-from-ios" target="_blank" rel="noopener nofollow noreferrer">Capturing iOS Traffic - Fiddler Everywhere.</A></LI><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler-everywhere/capture-traffic/capture-from-android" target="_blank" rel="noopener nofollow noreferrer">Capturing Android Traffic - Fiddler Everywhere</A>.</LI></UL></LI></UL><H5 id="toc-hId-942220607"><STRONG>2. Setting Up Your Mobile Device</STRONG></H5><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><STRONG>2.1 Connect Your Mobile Device and Computer to the Same Network:</STRONG></P><UL><LI>Ensure that both your mobile device and the computer running Fiddler are connected to the same Wi-Fi network.</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><STRONG>2.2 Configure Proxy Settings and Trust Fiddler's Root Certificate on Your Mobile Device:</STRONG></P><UL><LI><STRONG>Fiddler Classic:</STRONG><UL><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforios#set-the-ios-device-proxy" target="_self" rel="nofollow noopener noreferrer">Set the iOS Device Proxy</A>&nbsp;on iOS Device.</LI><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler/configure-fiddler/tasks/configureforandroid#decrypt-https" target="_self" rel="nofollow noopener noreferrer">Configure Android Device</A>&nbsp;on Android Device.</LI></UL></LI><LI><SPAN><STRONG>Fiddler Everywhere</STRONG></SPAN>:<UL><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler-everywhere/capture-traffic/capture-from-ios#configuring-the-fiddler-proxy-on-ios-device" target="_self" rel="nofollow noopener noreferrer">Configuring the Fiddler proxy</A> on iOS Device.</LI><LI>Follow steps in&nbsp;<A href="https://docs.telerik.com/fiddler-everywhere/capture-traffic/capture-from-android#configuring-the-fiddler-proxy-on-android-device" target="_self" rel="nofollow noopener noreferrer">Configuring the Fiddler proxy</A> on Android Device.</LI></UL></LI></UL><H5 id="toc-hId-745707102"><STRONG>3. Capturing and Analyzing Network Traffic (Fiddler Classic)</STRONG></H5><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><STRONG>3.1. Start Capturing Traffic:</STRONG></P><UL><LI>In Fiddler Classic, go to Fiddler's "File" menu, click the "Capture Traffic" button to start capturing network traffic:</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nik_beliakov_0-1751533297007.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282110iA69067E24E15AE18/image-size/medium?v=v2&amp;px=400" role="button" title="nik_beliakov_0-1751533297007.png" alt="nik_beliakov_0-1751533297007.png" /></span></P><UL><LI>Open SAC mobile app and SAC Story:</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_1453.PNG" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282808iB3CA448CD4A47463/image-dimensions/200x433?v=v2" width="200" height="433" role="button" title="IMG_1453.PNG" alt="IMG_1453.PNG" /></span><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="IMG_1455.PNG" style="width: 200px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282126i774BC048D8978F50/image-dimensions/200x432?v=v2" width="200" height="432" role="button" title="IMG_1455.PNG" alt="IMG_1455.PNG" /></span></P><UL><LI>All HTTP/HTTPS traffic should now be captured by Fiddler Classic:&nbsp;</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nik_beliakov_5-1751536125128.png" style="width: 720px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282123iE719D7019CEEACE4/image-dimensions/720x220?v=v2" width="720" height="220" role="button" title="nik_beliakov_5-1751536125128.png" alt="nik_beliakov_5-1751536125128.png" /></span></P><H5 id="toc-hId-549193597">3.2. Analyze the Captured Traffic:</H5><UL><LI>Click on a request to see detailed information, including headers, request and response bodies, and timing information:&nbsp;</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nik_beliakov_0-1751549582175.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282417iE9CE7B66516BCD80/image-size/medium?v=v2&amp;px=400" role="button" title="nik_beliakov_0-1751549582175.png" alt="nik_beliakov_0-1751549582175.png" /></span></P><UL><LI>Once the required traffic is captured it can ben be exported in various formats including HAR File. To do this&nbsp; go to Fiddler's "File" menu, select "Export Sessions" &gt; "All Sessions", and save the output as a "HTTPArchive v1.2":</LI></UL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="nik_beliakov_1-1751549632227.png" style="width: 387px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/282418i043C0DBC5D299ABD/image-size/medium?v=v2&amp;px=400" role="button" title="nik_beliakov_1-1751549632227.png" alt="nik_beliakov_1-1751549632227.png" /></span></P><H4 id="toc-hId-223597373">Conclusion</H4><P class="lia-align-justify" style="text-align : justify;"><SPAN>By following these steps, you can collect a HAR file from the SAC mobile app, gaining detailed insights into network performance. This information can be used to identify and troubleshoot performance issues, ultimately helping you optimize the app's performance for mobile users.</SPAN></P><H4 id="toc-hId-914637824" id="toc-hId--470633227">Call to Action</H4><P class="lia-align-justify" style="text-align : justify;">If you encounter persistent issues or need additional assistance, don't hesitate<SPAN>&nbsp;</SPAN><SPAN>to reach out to your Technical Quality Manager (</SPAN><STRONG>TQM</STRONG><SPAN>), your SAP Account, your Customer Success Partner (</SPAN><STRONG>CSP</STRONG><SPAN>), or our central entry channel, the Virtual Project Room (</SPAN><STRONG>VPR</STRONG><SPAN>).&nbsp;</SPAN><SPAN>They can help you leverage support from SAP's Center of Expertise (<STRONG>CoE</STRONG>) for Analytics, Planning, and Consolidation.</SPAN></P> 2025-07-04T16:24:38.516000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/seamless-integration-of-google-cloud-bigquery-with-sap-analytics-cloud-sac/ba-p/14190989 Seamless Integration of Google Cloud BigQuery with SAP Analytics Cloud (SAC): Step-by-Step Guide 2025-09-09T11:58:23.601000+02:00 pratyushg13 https://community.sap.com/t5/user/viewprofilepage/user-id/126076 <P>On a recent project, I integrated <STRONG>Google Cloud BigQuery</STRONG> with <STRONG>SAP Analytics Cloud (SAC)</STRONG>. After exploring both platforms, I’ve put together a simple, step-by-step guide—plus a few key features—to help you connect them quickly. BigQuery handles huge datasets with speed, while SAC turns that data into clear reports, dashboards, and plans. Together, they take you from raw numbers to smarter decisions.</P><P>In this blog, I’ll show you exactly how to set up the integration—from creating a table in BigQuery to keeping your SAC model updated and refreshed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="ChatGPT Image Aug 25, 2025, 03_09_13 PM.PNG" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/304505iB16D0016B7017DA7/image-size/large?v=v2&amp;px=999" role="button" title="ChatGPT Image Aug 25, 2025, 03_09_13 PM.PNG" alt="ChatGPT Image Aug 25, 2025, 03_09_13 PM.PNG" /></span></P><P><STRONG>Key Benefits of BigQuery–SAC Integration</STRONG></P><UL><LI>Seamless Cloud-to-Cloud Integration – No complex middleware; connect directly between GCP and SAC.</LI><LI>Analytics Made Simple: SAC lets you turn data into dashboards, forecasts, and actionable insights.</LI><LI>Faster Decision-Making – SAC visualizations update as soon as data refreshes, giving near real-time insights.</LI><LI>Collaboration Made Easy – SAC allows teams across finance, operations, and strategy to work with the same live data.</LI><LI>Automation – Schedule regular refreshes so your dashboards and reports stay up to date automatically.</LI></UL><P><STRONG>Prerequisites</STRONG></P><P>Before we dive in, you’ll need:</P><OL><LI>A Google Cloud project with BigQuery enabled.</LI><LI>Access to an SAP Analytics Cloud tenant with permissions to create models and connections.</LI><LI>A BigQuery dataset and an SAC model that share the same schema. (The column data types in BigQuery must match the dimensions and measures in your SAC model.)</LI></OL><H3 id="toc-hId-1867758612">Step 1: Create a Table in Google BigQuery</H3><OL><LI><SPAN>Open GCP Console and navigate to BigQuery Studio.</SPAN></LI><LI>Create a Dataset within your GCP project.</LI><LI><SPAN>Within the dataset, create a Table and define its schema. Ensure the schema aligns with the structure of your SAC model (synchronized dimensions and measures).&nbsp;Since I created a table with multiple data types, you can see its schema in the image below.</SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture1.png" style="width: 903px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/304529i8A369AF8C5E067A5/image-size/large?v=v2&amp;px=999" role="button" title="Picture1.png" alt="Picture1.png" /></span></LI><LI><P><SPAN>Populate the table with data if it’s empty. You can do this via:</SPAN></P><UL><LI>Python Notebook in GCP .</LI><LI>Manual uploads (CSV/JSON).</LI></UL></LI></OL><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><SPAN>Example workflow to load data into a BigQuery table (if it has no existing data): Navigate to 'Notebooks'&nbsp;within your GCP project, open a new notebook, load the data using Python, and then verify that the table is populated with the required test or business data.&nbsp;For this example, I loaded some test data into the table using Python code in a notebook.</SPAN>&nbsp; &nbsp; &nbsp; &nbsp;<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture2.png" style="width: 903px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/304530i5965FA254A127B55/image-size/large?v=v2&amp;px=999" role="button" title="Picture2.png" alt="Picture2.png" /></span></P><H3 id="toc-hId-1671245107">Step 2: Prepare the Model in SAP Analytics Cloud (SAC)</H3><OL><LI>Log in to SAP Analytics Cloud.</LI><LI>Navigate to Modeler and create a Blank Model.</LI><LI>Ensure the model structure (dimensions and measures) matches the BigQuery table schema.The image below shows the measures and dimensions, with data types matching those in the BigQuery table.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture3.png" style="width: 626px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/308498i3F32CD7FF4CB46BD/image-dimensions/626x310?v=v2" width="626" height="310" role="button" title="Picture3.png" alt="Picture3.png" /></span></P><H3 id="toc-hId-1474731602">Step 3: Create a Connection Between SAC and BigQuery</H3><OL><LI><SPAN>In SAC, go to Main Menu &gt; Connections.<BR /></SPAN></LI><LI>Click on Add Connection (+).</LI><LI>Choose Google BigQuery.</LI><LI>Sign in using the same Google account linked to your GCP project.</LI><LI><SPAN>Once authenticated, select the relevant Project from the dropdown.<BR /></SPAN></LI><LI><SPAN>Save the connection. You’ve now linked SAC with your BigQuery environment.</SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture5.png" style="width: 328px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/308503i37C1CB1D380521C1/image-dimensions/328x304?v=v2" width="328" height="304" role="button" title="Picture5.png" alt="Picture5.png" /></span></P><H3 id="toc-hId-1278218097">Step 4: Import Data from BigQuery into SAC</H3><OL><LI>Navigate to your SAC model and open Data Management.</LI><LI>Select Import Job.</LI><LI>Choose Google BigQuery as the data source.</LI><LI>Select the connection you created earlier.</LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture6.png" style="width: 355px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/305177iB46AC5796EF6D90B/image-dimensions/355x273?v=v2" width="355" height="273" role="button" title="Picture6.png" alt="Picture6.png" /></span></P><P>&nbsp; &nbsp; &nbsp; 5.&nbsp;Choose between:</P><UL><LI>Freehand SQL Query (for custom queries).</LI><LI>Build a Query (drag-and-drop interface) (For most use cases, Build a Query works best: - Select your dataset and table. - Add all required dimensions and measures. - Finalize your query). Here, I chose the Build a Query option, as shown in the image below.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture7.png" style="width: 565px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/305171i6C05A5056327EDF9/image-dimensions/565x353?v=v2" width="565" height="353" role="button" title="Picture7.png" alt="Picture7.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">6.&nbsp; Configure the import job by:</P><UL><LI>Preparing the data.</LI><LI>Mapping dimensions to facts</LI><LI>Reviewing and confirming the import steps.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture8.png" style="width: 581px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/305172i224BF5B4C1AE5E27/image-dimensions/581x279?v=v2" width="581" height="279" role="button" title="Picture8.png" alt="Picture8.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">7. Run the import. Once completed, SAC will display a <STRONG>success notification</STRONG> along with row-level details in the job timeline.<SPAN><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture9.png" style="width: 648px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/304555iC270EB9B2E99639D/image-dimensions/648x136?v=v2" width="648" height="136" role="button" title="Picture9.png" alt="Picture9.png" /></span></SPAN></P><H3 id="toc-hId-1081704592"><SPAN>Step 5: Validate the Imported Data</SPAN></H3><OL><LI><SPAN>Navigate back to your Model Structure Workspace in SAC.</SPAN></LI><LI><SPAN>Verify that the data has been successfully imported.</SPAN></LI><LI><SPAN>Ensure measures and dimensions are mapped correctly.</SPAN></LI><LI><SPAN>Test the model with basic visualizations or planning functions to confirm accuracy.</SPAN></LI><LI><SPAN>As shown in the image below, the entire BigQuery table is now visible in the Data Foundation area.</SPAN></LI></OL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Picture10.png" style="width: 665px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/304573i4BC77B457EE7C192/image-dimensions/665x424?v=v2" width="665" height="424" role="button" title="Picture10.png" alt="Picture10.png" /></span></P><H3 id="toc-hId-885191087"><SPAN>Step 6: Refresh and Schedule Your Import Job</SPAN></H3><P>One-time imports are fine for demos, but real business data changes constantly. Luckily, SAC lets you refresh and schedule updates:</P><UL><LI>Update: Brings in the latest changes while keeping existing data.</LI><LI>Append: Adds new rows without touching what’s already there.</LI><LI>Clean and Replace: Wipes the old dataset and replaces it with fresh data.</LI></UL><P>You can also schedule refreshes (daily, weekly, or custom) so your dashboards are always up to date — no manual work required.</P><H3 id="toc-hId-688677582"><SPAN>Key Takeaways</SPAN></H3><UL><LI><SPAN>Integration is straightforward once the schemas in BigQuery and SAC are aligned.</SPAN></LI><LI><SPAN>BigQuery serves as a powerful backend, while SAC empowers users with visualization and planning tools.</SPAN></LI><LI>Refresh options and scheduling help keep your models in sync automatically</LI></UL><H3 id="toc-hId-492164077"><SPAN>Conclusion</SPAN></H3><P>Integrating Google BigQuery with SAP Analytics Cloud isn’t complicated, but it’s incredibly powerful. With just a few steps, you can combine BigQuery’s scalable data engine with SAC’s interactive analytics and planning features. Whether you’re experimenting with test data or working at an enterprise level, the process is the same: build your table, set up your model, connect, import, validate, and schedule updates.</P><P>By following the steps in this guide, you can set up the integration with ease and keep your models refreshed automatically.</P> 2025-09-09T11:58:23.601000+02:00 https://community.sap.com/t5/technology-blog-posts-by-members/unsupported-features-with-sap-datasphere-live-connections-in-sap-analytics/ba-p/14228053 Unsupported Features with SAP Datasphere Live Connections in SAP Analytics Cloud 2025-09-26T12:53:10.600000+02:00 kartheekkkota https://community.sap.com/t5/user/viewprofilepage/user-id/227849 <P>Hello Cloud folks,</P><P>I would like to share some of the information that i searched for..</P><P>I faced lot of question after implementing SAC Stories on Live connection and this article helps to them.</P><P>when working with an SAC live connection to SAP Datasphere, you experience certain product limitations in SAC</P><P>In general, any SAP Datasphere system can be connected to any SAC system via the SAP Datasphere live connection in SAC.<BR />Live connections between SAC and SAP Datasphere can be established across tenants . When using the SAC</P><P><BR />– Datasphere live connection, We can build SAC stories or analytical applications that, at the same time, use data from a SAP<BR />Datasphere space, multiple SAP Datasphere spaces, multiple SAP Datasphere spaces in multiple SAP Dataspheres as well as<BR />any additional data sources that you have connected to SAC</P><P>When using the SAC – Datasphere live connection, SAC currently has the following product limitations:</P><P><STRONG>Below are the list of&nbsp; features that are not supported&nbsp;</STRONG></P><P><U><STRONG>Analytics :&nbsp;</STRONG></U><BR />Custom Shapes for Geo Maps are not supported<BR />Version based variance features are not supported on SAP Datasphere data.<BR />Version Mapping is not supported for SAP Datasphere data.<BR />Blending is not supported.<BR />Scheduling a Publication is not supported on SAP Datasphere data.<BR />Linked Dimension is only supported for SAP Datasphere models from the same Space. It is not supported across Spaces.<BR />R-Visualizations are not supported. Note: you can vote for this enhancement request here.<BR />Comment Widgets are not supported<BR />Copy Widgets between stories is not supported<BR />Import Pages from Stories that contain Datasphere models is not supported</P><P><U><STRONG>JustAsk :&nbsp;</STRONG></U><BR />On-the-fly search with Datasphere models is supported.<BR />Indexing Datasphere models in SAC JustAsk is not supported.<BR />Open in Data Analyzer is not supported<BR />Copy widget to Story is not supported<BR />Stories in Classic Experience<BR />Blending is supported for the following scenarios<BR />SAP Datasphere data with local SAC data<BR />SAP Datasphere data with SAP Datasphere data from the same Datasphere space.<BR />Blending information across Datasphere spaces, or across Datasphere tenants, or blending of Datasphere data with<BR />other Live Connections is not supported.<BR />Using Hyperlinks with the option "Apply selected dimension as filter" enabled across Stories using SAP Datasphere Live<BR />Connections is not supported.<BR />SAP Datasphere Analytic models are not supported</P><P><U><STRONG>SAP Datasphere Data Types</STRONG></U><BR />The following SAP Datasphere Data types are currently not supported in SAP Analytics Cloud:<BR />Bigint<BR />Binary<BR />hana.binary<BR />Large Binary<BR />Large String</P><P><BR /><U><STRONG>Planning</STRONG></U><BR />SAC Planning data can now be stored in Datasphere with seamless planning However, planning<BR />still requires the <STRONG>import of data into the SAC model</STRONG> and is <STRONG>not based on the SAP Datasphere live connection</STRONG>&nbsp;</P><P><BR /><STRONG>Smart features</STRONG><BR />Smart Insights are not supported on SAP Datasphere data. .<BR />Smart Discovery is not supported on SAP Datasphere data.<BR />Smart Predict is not supported on SAP Datasphere data.<BR />SAP Digital Boardroom<BR />Stories built on top of SAP Datasphere live data are not supported in SAP Digital Boardroom.</P><P>Regards,</P><P>Kartheek Kota</P><P>Reference:</P><P><A href="https://me.sap.com/notes/2832606" target="_blank" rel="noopener noreferrer">https://me.sap.com/notes/2832606</A></P><P>&nbsp;</P> 2025-09-26T12:53:10.600000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/live-versions-from-an-sql-source-for-sap-analytics-cloud-planning/ba-p/14245675 Live Versions from an SQL Source for SAP Analytics Cloud Planning 2025-10-16T11:46:35.930000+02:00 Max_Gander https://community.sap.com/t5/user/viewprofilepage/user-id/14553 <H1 id="toc-hId-1633750757">Introduction</H1><P>Live data access for planning is a big theme of the QRC4 2025 release in SAP Analytics Cloud. We already shared how live versions now unlock a new chapter for seamless planning in SAP Business Data Cloud (<A href="https://community.sap.com/t5/technology-blog-posts-by-sap/unlocking-the-next-chapter-of-seamless-planning-in-sap-business-data-cloud/ba-p/14243864" target="_blank">link</A>). But the paradigm of live data access is coming for models that are not deployed to SAP Datasphere as well! In this case, live versions can link data from our available live SQL sources. So, this applies to our existing connection to Google BigQuery and shall apply to live SQL sources that we add going forward (<A href="https://roadmaps.sap.com/board?PRODUCT=67838200100800006884&amp;range=CURRENT-LAST#;INNO=000D3AAADBCE1FE094D1DE1E1D95EBFC" target="_blank" rel="noopener noreferrer">Microsoft Azure</A>, <A href="https://roadmaps.sap.com/board?PRODUCT=67838200100800006884&amp;range=CURRENT-LAST#;INNO=000D3AAC9DD21FD094D21E22066EB528" target="_blank" rel="noopener noreferrer">Snowflake</A>,…). Learn how to add a live version from Google BigQuery in this blogpost!</P><H1 id="toc-hId-1437237252">How does it work?</H1><P>Adding a live version to a model is easy. It is also easy to create a model from view in Google BigQuery. Here, I will show you how to add a live version to an existing model.</P><UL><LI>In your model details, you will find a new entry in the ‘Data’ section which is called ‘External Live Version Data Sources’</LI><LI>Here, ‘Connect External Data Source’</LI><LI>Choose an existing target version for the data source or create a blank version</LI><LI>Choose Google BigQuery as source system (more to be added in the future)</LI><LI>Choose connection</LI><LI>Choose your datasource from Google BigQuery</LI><LI>Map the data source columns to your model’s columns<UL><LI>Not all source columns need to be mapped</LI><LI>Not all target columns need to be mapped<UL><LI>Measures can be <EM>NULL</EM></LI><LI>Dimensions can receive a default member</LI></UL></LI><LI>Certain data type differences can be handled</LI></UL></LI><LI>If we detect a mismatch between the live version and your master data, we will notify you and you can add missing dimension members directly (not shown in the video)</LI><LI>We also provide performance hints</LI><LI>Use the data in calculations, data actions, stories etc.! In the video, you see the live data in action in a model calculation</LI><LI>You’re done! You can add more sources to the model, if you want</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Adding and using a live version from Google BigQuery" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/328282i7D7E99ED99AA171A/image-size/large?v=v2&amp;px=999" role="button" title="2025-10_Blig_ExtVersions_SQLLive.gif" alt="Adding and using a live version from Google BigQuery" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Adding and using a live version from Google BigQuery</span></span></P><H1 id="toc-hId-1240723747">FAQ</H1><P><STRONG>Where can I use this feature?</STRONG></P><P>This feature is available for SAP Analytics Cloud models that are not deployed to SAP Datasphere (=not using seamless planning).</P><P><STRONG>Can I use any source view?</STRONG></P><P>Yes. However, not all data types are supported (<A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/2236676398d342619022bc21d76d922a.html" target="_blank" rel="noopener noreferrer">details</A>).</P><P><STRONG>What can I do with live versions? (And what can I not do?)</STRONG></P><P>You can display the live version data in the model data foundation and in tables, charts, etc. in stories.</P><P>You can reference the live version data in model and story calculations as well as data actions (incl. advanced formulas).</P><P>You cannot write back to the source. You can copy the live version data into planning versions via copy/paste in the table, data actions and version management.</P><P><STRONG>How do I see if data is live or not?</STRONG></P><P>In models, a live version is highlighted in the data preview. In the version dimension, you see the data source per version. &nbsp;</P><P>In tables, live version data is locked for data entry and formatted accordingly. Reasons for unplannable data give accurate information.</P><H1 id="toc-hId-1044210242">Conclusion</H1><P>Live data access in planning models represents a massive opportunity. SAP Analytics Cloud demonstrates openness and flexibility by offering live versions from live SQL sources.</P> 2025-10-16T11:46:35.930000+02:00 https://community.sap.com/t5/technology-blog-posts-by-sap/creating-an-import-data-connection-to-an-on-premise-ms-sql-server/ba-p/14265075 Creating an Import Data Connection to an On-Premise MS SQL Server 2025-11-11T08:08:51.704000+01:00 Sakshi_Kathuria https://community.sap.com/t5/user/viewprofilepage/user-id/1516609 <P>In this blog we’ll discuss complete steps that allows you to import data from an on-premise SQL database to SAP Analytics Cloud .</P><P>Here, Our Data source is SQL Database from which the SAP Analytics Cloud is connected using the SAP Analytics Cloud Agent and SAP Cloud Connector.</P><P>It is recommended that the Cloud Connector, SAP Analytics Cloud agent are installed together on a dedicated server, and not a personal computer. This helps to ensure that multiple users can use an import data connection without experiencing slowness or downtime.</P><P>Below are the steps for Import Data connection for On-premise SQL Database –</P><P>1. Check the connectivity between SAC agent server and SQL DB on the required port.</P><P>telnet &lt;MS SQL SERVER&gt; 1433</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_0-1762844012864.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338409i543705863A9E8610/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_0-1762844012864.png" alt="Sakshi_Kathuria_0-1762844012864.png" /></span></P><P>2. Installing and Configuring SAP Cloud Connector and JVM on a linux server.</P><UL><LI>To install a cloud connector refer the link:</LI></UL><P><A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/ae39ab60b1154c179e2baabd26aa249c.html?locale=en-US&amp;state=PRODUCTION&amp;version=release" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/ae39ab60b1154c179e2baabd26aa249c.html?locale=en-US&amp;state=PRODUCTION&amp;version=release</A></P><UL><LI>Make sure a latest JVM version is installed on the Cloud Connector server.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_1-1762844113464.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338410i12AA0C955DC6747F/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_1-1762844113464.png" alt="Sakshi_Kathuria_1-1762844113464.png" /></span></P><UL><LI>To open the SCC, enter: https://&lt;hostname&gt;:8443 in a browser, where the &lt;hostname&gt; is the hostname of the machine on which the connector is installed, and the port number is the one configured during installation. The default port number is 8443</LI><LI>Click on “Add subaccount” and enter the details of the SAC subaccount , which you can find on SAP Analytics Cloud. To find the Subaccount details of SAP Analytics Cloud :</LI></UL><P>You must use a System Owner account to perform the following steps. If you don't know who the system owner is, log on to&nbsp;SAP Analytics Cloud&nbsp;and from the side navigation, choose Security&nbsp;&gt;&nbsp;Users.&nbsp;</P><P>&nbsp;In the SAP Business Technology Platform (BTP) Account&nbsp;section, enter account ID. In our case SAP Analytics Cloud&nbsp;tenant was hosted on a non-SAP data center, hence our account ID is an email address.</P><P>&nbsp;When the account ID is accepted, account information will be displayed.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_2-1762844113468.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338411i128EB4B0D0D9F3EC/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_2-1762844113468.png" alt="Sakshi_Kathuria_2-1762844113468.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_3-1762844113472.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338412iC71B1E763EBB5A19/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_3-1762844113472.png" alt="Sakshi_Kathuria_3-1762844113472.png" /></span></P><P>Once all the details are entered, your subaccount addition in your Cloud Connector will look like below:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_4-1762844113475.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338415i905F7573280983B1/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_4-1762844113475.png" alt="Sakshi_Kathuria_4-1762844113475.png" /></span></P><UL><LI>Configure System mapping.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_5-1762844113476.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338413i8056997C65153A2C/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_5-1762844113476.png" alt="Sakshi_Kathuria_5-1762844113476.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_6-1762844113477.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338414i17CC2673EECDC174/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_6-1762844113477.png" alt="Sakshi_Kathuria_6-1762844113477.png" /></span></P><P>Add the internal host name of the Tomcat server where the&nbsp;SAP Analytics Cloud&nbsp;agent is running.</P><P>The default Tomcat port is 8080 and the default HTTPS port is 8443.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_7-1762844113480.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338418iED6316CC3F955DD9/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_7-1762844113480.png" alt="Sakshi_Kathuria_7-1762844113480.png" /></span></P><P>Enter the virtual host and port so that the internal host name and port are not exposed.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_8-1762844113483.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338417i78C921FC386F290D/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_8-1762844113483.png" alt="Sakshi_Kathuria_8-1762844113483.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_9-1762844113484.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338416iED709F6363B2765D/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_9-1762844113484.png" alt="Sakshi_Kathuria_9-1762844113484.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_10-1762844113485.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338420i4D6AF0DE1DFF6337/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_10-1762844113485.png" alt="Sakshi_Kathuria_10-1762844113485.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_11-1762844113486.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338422i5E333131D564B431/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_11-1762844113486.png" alt="Sakshi_Kathuria_11-1762844113486.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_12-1762844113489.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338421i065EF401386CE02B/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_12-1762844113489.png" alt="Sakshi_Kathuria_12-1762844113489.png" /></span></P><P>Agent is reachable.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_13-1762844113492.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338424iB8AF2B9317258B24/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_13-1762844113492.png" alt="Sakshi_Kathuria_13-1762844113492.png" /></span></P><P>Add resource.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_14-1762844113494.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338423i16C860E8EFA82C2D/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_14-1762844113494.png" alt="Sakshi_Kathuria_14-1762844113494.png" /></span></P><P>3. Installing and configuring SAP Analytics Cloud Agent on Linux Server</P><UL><LI>Make sure you have agent installed. To install it you can refer <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/7c35129451f5432194773adac7f89598.html" target="_blank" rel="noopener noreferrer">https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/7c35129451f5432194773adac7f89598.html</A></LI></UL><P>You can verify the installation by opening the following URL in your browser:&nbsp;http://<EM>&lt;Host&gt;</EM>:<EM>&lt;Port&gt;</EM>/C4A_AGENT/deploymentInfo</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_15-1762844334164.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338425i7F09A045D5346408/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_15-1762844334164.png" alt="Sakshi_Kathuria_15-1762844334164.png" /></span></P><P>The version of the&nbsp;SAP Analytics Cloud&nbsp;agent installed is displayed.</P><UL><LI>Also verify if JRE, Tomcat are installed on the Agent server.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_16-1762844334165.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338426i893DB16F53C6C7CE/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_16-1762844334165.png" alt="Sakshi_Kathuria_16-1762844334165.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_17-1762844334170.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338427i4EF7138CCADB3C83/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_17-1762844334170.png" alt="Sakshi_Kathuria_17-1762844334170.png" /></span></P><UL><LI>Log on to&nbsp;SAP Analytics Cloud&nbsp;with an administrator account.</LI><LI>From the side navigation, choose&nbsp;<STRONG>System</STRONG>&nbsp;<STRONG>&nbsp;Administration --&gt;</STRONG>&nbsp;&nbsp;<STRONG>Data Source Configuration</STRONG>.</LI><LI>In the <STRONG>On-Premise Data Sources</STRONG> section, Add a <STRONG>new location</STRONG>.</LI></UL><P>You can connect to multiple locations that have on-premises data sources. Each location that you add should already have a Cloud Connector installed and configured on it.</P><P>You can also leave the Location ID blank to create a Default Location. This Default location will correspond to your subaccount on the SAP Cloud Connector with a blank Location ID.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_20-1762844334177.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338430i14559EFBA3D88FDD/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_20-1762844334177.png" alt="Sakshi_Kathuria_20-1762844334177.png" /></span></P><UL><LI><SPAN>Make sure&nbsp;<STRONG>Enable Agent</STRONG>&nbsp;is set to&nbsp;<STRONG>ON</STRONG></SPAN><SPAN> and enter the virtual hostname and Port that you created during Cloud Connector Configuration along with the Agent username password </SPAN>specified in&nbsp;tomcat-users.xml&nbsp;file.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_21-1762844334182.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338432iE9A55EA8B3ED9C0F/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_21-1762844334182.png" alt="Sakshi_Kathuria_21-1762844334182.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_22-1762844334184.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338431i886F39CAFD6BC1AA/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_22-1762844334184.png" alt="Sakshi_Kathuria_22-1762844334184.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_23-1762844467694.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338434i72EDFF7D6EC9D686/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_23-1762844467694.png" alt="Sakshi_Kathuria_23-1762844467694.png" /></span></P><P>4. Make sure JDBC driver is installed.</P><UL><LI>Install JDBC drivers if not already based on the JVM version.</LI></UL><P><A href="https://learn.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver17" target="_blank" rel="noopener nofollow noreferrer">https://learn.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver17</A></P><P>The jar files can be in any location on your server as long as the properties file includes the correct file locations.</P><P>We kept it in SAC agent installed directory and gave permission 777 and ownership as sidadm:sapsys.</P><UL><LI>Create a properties file that specifies the paths to JDBC drivers you want to use and place it in the same file system where the&nbsp;SAP Analytics Cloud&nbsp;agent is installed. The properties file can have any name, such as&nbsp;DriverConfig.properties.</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_24-1762844467699.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338435i1DB2393B7F6F24FA/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_24-1762844467699.png" alt="Sakshi_Kathuria_24-1762844467699.png" /></span></P><OL><LI>You must restart the&nbsp;SAP Analytics Cloud&nbsp;agent, using the Java option&nbsp;-DSAP_CLOUD_AGENT_PROPERTIES_PATH&nbsp;since the agent is installed on Linux.</LI></OL><P>Navigate to tomcat/bin.</P><P>Run the shutdown.sh&nbsp;script.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_25-1762844467701.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338433iB67A80CDD226F364/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_25-1762844467701.png" alt="Sakshi_Kathuria_25-1762844467701.png" /></span></P><P>Open the catalina.sh file in the tomcat/bin directory and find the line where Java options are set. Modify this line so that the -DSAP_CLOUD_AGENT_PROPERTIES_PATH option is included and points to your .properties file.</P><P>&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_26-1762844467703.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338436i1316C39F3843532B/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_26-1762844467703.png" alt="Sakshi_Kathuria_26-1762844467703.png" /></span></P><P>Run the startup.sh&nbsp;script.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_27-1762844467706.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338437iC3A5F0FE2042C8C7/image-size/medium?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_27-1762844467706.png" alt="Sakshi_Kathuria_27-1762844467706.png" /></span></P><P>5. Creating the Import Data Connection in SAC.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_28-1762844467708.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338438i48184030FA55FEF8/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_28-1762844467708.png" alt="Sakshi_Kathuria_28-1762844467708.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_29-1762844467710.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338439iFBA82D5A5E19B1D0/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_29-1762844467710.png" alt="Sakshi_Kathuria_29-1762844467710.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_30-1762844467714.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338440i9D3111F0A2598D5F/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_30-1762844467714.png" alt="Sakshi_Kathuria_30-1762844467714.png" /></span></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Sakshi_Kathuria_31-1762844467718.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/338441i2F6676EC94447A5A/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="Sakshi_Kathuria_31-1762844467718.png" alt="Sakshi_Kathuria_31-1762844467718.png" /></span></P> 2025-11-11T08:08:51.704000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/leverage-system-job-live-model-to-display-acquired-model-last-refreshed/ba-p/14304570 Leverage System Job Live Model to display Acquired Model Last Refreshed Time in Story 2026-01-09T15:02:16.070000+01:00 William_Yu1 https://community.sap.com/t5/user/viewprofilepage/user-id/62666 <P>For acquired model in SAC for either analysis only or planning, user(story viewer) usually would like to see the data last refreshed(from external data source) time to be confident that data in dashboard is up-to-date.</P><P>Until now, there is no out-of-box feature to easily achieve this. This blog is introducing you an option by leveraging pre-delivered system model and SAC <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/0fec9bf1da594fde86a112f89af0a7a4.html" target="_blank" rel="noopener noreferrer">Composite</A>.</P><P>&nbsp;</P><H3 id="toc-hId-1916820505"><STRONG>Prerequisite: </STRONG></H3><P>To follow steps described in this blog, you should have a SAC user with Admin role to access system folder and create composites. &nbsp;</P><P>&nbsp;</P><H3 id="toc-hId-1720307000"><STRONG>Steps: </STRONG></H3><P>1. Share system model DM_SCHEDULE</P><P>You may already know that SAC pre-delivered a nice performance analysis story “Data Management Jobs Statistics and Analysis”. Live Model DM_SCHEDULE is the main data source used there.</P><P>Go to Files -&gt; Views(from left navigation area) -&gt; System -&gt; Common -&gt; SAC Content -&gt; SAC Content Performance -&gt; SAC Content Performance – Models -&gt; Model ‘DM_SCHEDULE' -&gt; Share this model to users/teams including yourself with ‘View’ right.</P><P>2. Create a SAC Composite</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">a. Add a table and select the model DM_SCHEDULE just shared in last step, you should find it in folder ‘My Files’</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">b. In table builder, add dimension ‘Log End Time’, ‘Model Name’, ‘Model ID’, ‘Mapping Time’ and ‘Scheduled Status’ &nbsp;into row axis and select any measure for column axis, for example ‘Duration’. You should have something like this(dimension ‘Log End Time’ should be the first one):</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_0-1767965720023.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359852iFBBFE145D03DA15E/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_0-1767965720023.png" alt="William_Yu1_0-1767965720023.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">c. Add filters</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Model Name, select the model you want to show last refreshed time in story</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) Schedule Status = ‘SUCCESS’, we only need time of successful import</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">3) Mapping Type = ‘import’, we only need time of import job, upload job(via trigger) is not the concern here as it’s usually part of planning process which leverage private/public edit version and publishing mechanism.</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">4) Log End Time, this is optional in sake of performance(actually we only need one last record), if you have frequent import schedule, put a dynamic time range looking back few days or weeks would be good enough. &nbsp;I set 3 months here.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;Filters could look like this: &nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_1-1767965720024.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359851iED12B97D7775979B/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_1-1767965720024.png" alt="William_Yu1_1-1767965720024.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">d. Sort table by ‘Log End Time’ -&gt; go table header ‘Log End Time’ -&gt; right click -&gt; Sort Options -&gt; Newest to oldest. Table should look like this, the first row in the table should show the last successful import of your model.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_2-1767965720026.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359854i48E5B52A607CAEAB/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_2-1767965720026.png" alt="William_Yu1_2-1767965720026.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">e. Create a script variable</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Scripting -&gt; Script Variables -&gt; Add Script Variable, give a name(‘s_last_update’) and select type ‘String’.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_3-1767965720027.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359855i09282EEEFBC3DF57/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_3-1767965720027.png" alt="William_Yu1_3-1767965720027.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">f. Fill the script variable with table first row</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Page -&gt; Table_1 -&gt; fx ‘onResultChanged’ , input blow script</P><P>&nbsp; &nbsp; &nbsp;</P><pre class="lia-code-sample language-javascript"><code>var table_result = Table_1.getDataSource().getResultSet(); s_last_update = table_result[0].LOG_END_TIME.description;</code></pre><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">g. Add script variable value as dynamic text</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Add text widget to the canvas(put it on top of the screen)</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) In text widget, first add some static text for model name</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">3) Right click -&gt; Add -&gt; Dynamic text</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">4) In popup -&gt; Filters and Variables -&gt; Script Variables -&gt; mark check box ‘s_last_udate’ (or the script variable name you gave in step e.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">The text widget would look like this, dynamic text at this stage is still showing as (No value set), it’s fine.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_4-1767965720029.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359857i89D2F36CECE5F9CF/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_4-1767965720029.png" alt="William_Yu1_4-1767965720029.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">h. Add an function to explicitly refresh table when composite is used in story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Interface -&gt; Functions -&gt; add a new function -&gt; give name ‘refresh’, and add below code in scripting area:</P><pre class="lia-code-sample language-javascript"><code>Table_1.getDataSource().refreshData();</code></pre><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">i. Set table to invisible as we should not show it anywhere in story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Page -&gt; Table_1 -&gt; click the ‘Visible’ icon( show as an eye)</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Composite should look as below.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_5-1767965720031.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359856iF19773FB01A0973D/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_5-1767965720031.png" alt="William_Yu1_5-1767965720031.png" /></span></P><P>j. Save the composite with a name.</P><P>k. Share this composite with users/teams who should consume it in story. Please note that users to consume this composite should also be granted with ‘Read’ right of composite in security role.</P><P>Now we have successfully prepared the composite.</P><P>&nbsp;</P><P>3. Add composite into story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">a. Import composite</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go to story edit mode -&gt; Left Side Panel -&gt; Assets -&gt; Composites -&gt; Import composite -&gt; select the composite you created in step 2.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">b. Use composite</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Go to page -&gt; drag the inserted composite from asset section to canvas -&gt; resize the composite to a single line</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) Go Right Side Panel of composite -&gt; Styling -&gt; scroll to bottom section ‘Composite Style’ -&gt; unmark two checkboxes ‘Auto Horizontal Scroll’ and ‘Auto Vertical Scroll’</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Story page could look like this:</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_6-1767965720033.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359858iA8E140CDB25A3E09/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_6-1767965720033.png" alt="William_Yu1_6-1767965720033.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">c. Force table refresh on page loading</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left side Panel -&gt; &nbsp;Outlines -&gt; page which used this composite &nbsp;-&gt; fx -&gt; either onInitialization or onActive -&gt; &nbsp;input below code:</P><P>&nbsp; &nbsp; &nbsp; &nbsp;</P><pre class="lia-code-sample language-javascript"><code>Composite_1.refresh();</code></pre><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;d. Save story.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;</P><P>We have finished all steps, story in view mode should like this:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_7-1767965720035.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359859iEB86DE8D41278055/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_7-1767965720035.png" alt="William_Yu1_7-1767965720035.png" /></span></P><P>&nbsp;</P><H3 id="toc-hId-1523793495"><STRONG>Summary:</STRONG></H3><UL><LI>One time setup of composite, it can be reused in any story where last refreshed time is required.</LI><LI>You can have one composite per model for flexibility and reusability.</LI></UL><H3 id="toc-hId-1327279990">&nbsp;</H3><H3 id="toc-hId-1130766485"><STRONG>Notes and limitations: </STRONG></H3><UL><LI>This approach is only for acquired data model using import connection importing data from supported data source including local file. &nbsp;Live model is out of scope.</LI><LI>Acquired model using <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/fe6efb8aba9444c6a3ce21eef02bba62.html" target="_blank" rel="noopener noreferrer">Data Import API</A> to import data is not verified yet with this approach.</LI><LI>Format of the last refreshed date and time is controlled through user preference.</LI><LI>Display of last refreshed time might be a little delayed (1 or 2 sec) on initial load as it requires an additional table refresh. &nbsp;</LI></UL> 2026-01-09T15:02:16.070000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/leverage-system-job-live-model-to-display-acquired-model-last-refreshed/ba-p/14304628 Leverage System Job Live Model to display Acquired Model Last Refreshed Time in Story 2026-01-09T15:21:54.280000+01:00 William_Yu1 https://community.sap.com/t5/user/viewprofilepage/user-id/62666 <P>For acquired model in SAC for either analysis only or planning, user(story viewer) usually would like to see the data last refreshed(from external data source) time to be confident that data in dashboard is up-to-date.</P><P>Until now, there is no out-of-box feature to easily achieve this. This blog is introducing you an option by leveraging pre-delivered system model and SAC <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/00f68c2e08b941f081002fd3691d86a7/0fec9bf1da594fde86a112f89af0a7a4.html" target="_blank" rel="noopener noreferrer">Composite</A>.</P><P>&nbsp;</P><H3 id="toc-hId-1916821319"><STRONG>Prerequisite: </STRONG></H3><P>To follow steps described in this blog, you should have a SAC user with Admin role to access system folder and create composites. &nbsp;</P><P>&nbsp;</P><H3 id="toc-hId-1720307814"><STRONG>Steps: </STRONG></H3><P>1. Share system model DM_SCHEDULE</P><P>You may already know that SAC pre-delivered a nice performance analysis story “Data Management Jobs Statistics and Analysis”. Live Model DM_SCHEDULE is the main data source used there.</P><P>Go to Files -&gt; Views(from left navigation area) -&gt; System -&gt; Common -&gt; SAC Content -&gt; SAC Content Performance -&gt; SAC Content Performance – Models -&gt; Model ‘DM_SCHEDULE' -&gt; Share this model to users/teams including yourself with ‘View’ right.</P><P>2. Create a SAC Composite</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">a. Add a table and select the model DM_SCHEDULE just shared in last step, you should find it in folder ‘My Files’</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">b. In table builder, add dimension ‘Log End Time’, ‘Model Name’, ‘Model ID’, ‘Mapping Time’ and ‘Scheduled Status’ &nbsp;into row axis and select any measure for column axis, for example ‘Duration’. You should have something like this(dimension ‘Log End Time’ should be the first one):</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_0-1767965720023.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359852iFBBFE145D03DA15E/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_0-1767965720023.png" alt="William_Yu1_0-1767965720023.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">c. Add filters</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Model Name, select the model you want to show last refreshed time in story</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) Schedule Status = ‘SUCCESS’, we only need time of successful import</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">3) Mapping Type = ‘import’, we only need time of import job, upload job(via trigger) is not the concern here as it’s usually part of planning process which leverage private/public edit version and publishing mechanism.</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">4) Log End Time, this is optional in sake of performance(actually we only need one last record), if you have frequent import schedule, put a dynamic time range looking back few days or weeks would be good enough. &nbsp;I set 3 months here.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;Filters could look like this: &nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_1-1767965720024.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359851iED12B97D7775979B/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_1-1767965720024.png" alt="William_Yu1_1-1767965720024.png" /></span></P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">d. Sort table by ‘Log End Time’ -&gt; go table header ‘Log End Time’ -&gt; right click -&gt; Sort Options -&gt; Newest to oldest. Table should look like this, the first row in the table should show the last successful import of your model.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_2-1767965720026.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359854i48E5B52A607CAEAB/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_2-1767965720026.png" alt="William_Yu1_2-1767965720026.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">e. Create a script variable</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Scripting -&gt; Script Variables -&gt; Add Script Variable, give a name(‘s_last_update’) and select type ‘String’.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_3-1767965720027.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359855i09282EEEFBC3DF57/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_3-1767965720027.png" alt="William_Yu1_3-1767965720027.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">f. Fill the script variable with table first row</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Page -&gt; Table_1 -&gt; fx ‘onResultChanged’ , input blow script</P><P>&nbsp; &nbsp; &nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-javascript"><code>var table_result = Table_1.getDataSource().getResultSet(); s_last_update = table_result[0].LOG_END_TIME.description;</code></pre><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">g. Add script variable value as dynamic text</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Add text widget to the canvas(put it on top of the screen)</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) In text widget, first add some static text for model name</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">3) Right click -&gt; Add -&gt; Dynamic text</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">4) In popup -&gt; Filters and Variables -&gt; Script Variables -&gt; mark check box ‘s_last_udate’ (or the script variable name you gave in step e.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">The text widget would look like this, dynamic text at this stage is still showing as (No value set), it’s fine.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_4-1767965720029.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359857i89D2F36CECE5F9CF/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_4-1767965720029.png" alt="William_Yu1_4-1767965720029.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">h. Add an function to explicitly refresh table when composite is used in story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Interface -&gt; Functions -&gt; add a new function -&gt; give name ‘refresh’, and add below code in scripting area:</P><P>&nbsp;</P><pre class="lia-code-sample language-javascript"><code>Table_1.getDataSource().refreshData();</code></pre><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">i. Set table to invisible as we should not show it anywhere in story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left Side Panel -&gt; Outline -&gt; Page -&gt; Table_1 -&gt; click the ‘Visible’ icon( show as an eye)</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Composite should look as below.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_5-1767965720031.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359856iF19773FB01A0973D/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_5-1767965720031.png" alt="William_Yu1_5-1767965720031.png" /></span></P><P>j. Save the composite with a name.</P><P>k. Share this composite with users/teams who should consume it in story. Please note that users to consume this composite should also be granted with ‘Read’ right of composite in security role.</P><P>Now we have successfully prepared the composite.</P><P>&nbsp;</P><P>3. Add composite into story</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">a. Import composite</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go to story edit mode -&gt; Left Side Panel -&gt; Assets -&gt; Composites -&gt; Import composite -&gt; select the composite you created in step 2.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">b. Use composite</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">1) Go to page -&gt; drag the inserted composite from asset section to canvas -&gt; resize the composite to a single line</P><P class="lia-indent-padding-left-60px" style="padding-left : 60px;">2) Go Right Side Panel of composite -&gt; Styling -&gt; scroll to bottom section ‘Composite Style’ -&gt; unmark two checkboxes ‘Auto Horizontal Scroll’ and ‘Auto Vertical Scroll’</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Story page could look like this:</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;"><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_6-1767965720033.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359858iA8E140CDB25A3E09/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_6-1767965720033.png" alt="William_Yu1_6-1767965720033.png" /></span></P><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">c. Force table refresh on page loading</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">Go Left side Panel -&gt; &nbsp;Outlines -&gt; page which used this composite &nbsp;-&gt; fx -&gt; either onInitialization or onActive -&gt; &nbsp;input below code:</P><P>&nbsp; &nbsp; &nbsp; &nbsp;</P><P>&nbsp;</P><pre class="lia-code-sample language-javascript"><code>Composite_1.refresh();</code></pre><P>&nbsp;</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;d. Save story.</P><P class="lia-indent-padding-left-30px" style="padding-left : 30px;">&nbsp;</P><P>We have finished all steps, story in view mode should like this:</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="William_Yu1_7-1767965720035.png" style="width: 400px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/359859iEB86DE8D41278055/image-size/medium/is-moderation-mode/true?v=v2&amp;px=400" role="button" title="William_Yu1_7-1767965720035.png" alt="William_Yu1_7-1767965720035.png" /></span></P><P>&nbsp;</P><H3 id="toc-hId-1523794309"><STRONG>Summary:</STRONG></H3><UL><LI>One time setup of composite, it can be reused in any story where last refreshed time is required.</LI><LI>You can have one composite per model for flexibility and reusability.</LI></UL><H3 id="toc-hId-1327280804">&nbsp;</H3><H3 id="toc-hId-1130767299"><STRONG>Notes and limitations: </STRONG></H3><UL><LI>This approach is only for acquired data model using import connection importing data from supported data source including local file. &nbsp;Live model is out of scope.</LI><LI>Acquired model using <A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/14cac91febef464dbb1efce20e3f1613/fe6efb8aba9444c6a3ce21eef02bba62.html" target="_blank" rel="noopener noreferrer">Data Import API</A> to import data is not verified yet with this approach.</LI><LI>Format of the last refreshed date and time is controlled through user preference.</LI><LI>Display of last refreshed time might be a little delayed (1 or 2 sec) on initial load as it requires an additional table refresh. &nbsp;</LI></UL> 2026-01-09T15:21:54.280000+01:00 https://community.sap.com/t5/technology-blog-posts-by-members/displaying-sap-analytics-cloud-kpi-tiles-from-stories-using-rest-apis/ba-p/14320914 Displaying SAP Analytics Cloud KPI Tiles from Stories Using REST APIs 2026-02-04T08:51:58.622000+01:00 Ajay105 https://community.sap.com/t5/user/viewprofilepage/user-id/2102459 <H2 id="toc-hId-1789469326">Introduction</H2><P class="lia-align-justify" style="text-align : justify;">SAP Analytics Cloud (SAC) is widely used by organizations to provide interactive storytelling and track the business KPIs with advanced visualizations. However, companies often need to obtain KPI information in ways other than the SAC user interface, including in custom web apps. Although SAC does not support the direct embedding of KPI tiles into external apps, it does provide REST APIs that allow programmatic access to widget-level data from SAC stories. These APIs can be used to collect and display KPI tile data, including number (value), number state (status), title, and subtitle, in a bespoke user interface.</P><P class="lia-align-justify" style="text-align : justify;">In this blog, I walk through a detailed, end-to-end implementation that illustrates how to fetch KPI tile data from a SAP Analytics Cloud story using the <FONT face="courier new,courier">widgetquery/getWidgetData</FONT> REST API. The approach uses Python for backend processing and Flask as a lightweight web framework to securely call SAC APIs and output KPI values on a web page.</P><H2 id="toc-hId-1592955821">Configuration of the Project</H2><P class="lia-align-justify" style="text-align : justify;">We may test API access and retrieve KPI tile data using a straightforward Python script before developing the Flask application. This program shows you how to:</P><OL class="lia-align-justify" style="text-align : justify;"><LI>Use OAuth 2.0 to authenticate with SAC</LI><LI>Acquire a token of access</LI><LI>Use the SAC widgetquery/getWidgetData RESTAPI.</LI><LI>Show the console’s KPI values</LI></OL><pre class="lia-code-sample language-python"><code>import requests import webbrowser import urllib.parse # ---------------- CONFIG ---------------- TENANT_URL = "https://&lt;your-tenant&gt;.hanacloudservices.cloud.sap" CLIENT_ID = "&lt;YOUR_CLIENT_ID&gt;" CLIENT_SECRET = "&lt;YOUR_CLIENT_SECRET&gt;" AUTHORIZATION_ENDPOINT = "https://&lt;your-tenant&gt;.hana.ondemand.com/oauth/authorize" TOKEN_ENDPOINT = "https://&lt;your-tenant&gt;.hana.ondemand.com/oauth/token" REDIRECT_URI = "https://your-app-domain.com/oauth/callback" # used only to capture code manually STORY_ID = "&lt;your-storyid&gt;" WIDGET_IDS = [ "Chart_1", "Chart_2", "Chart_3", "Chart_4", "Chart_5", "Chart_6", "Chart_8" ] # ---------------- STEP 1: LOGIN ---------------- params = { "response_type": "code", "client_id": CLIENT_ID, "redirect_uri": REDIRECT_URI } auth_url = AUTHORIZATION_ENDPOINT + "?" + urllib.parse.urlencode(params) print("\n Opening browser for SAC login...") webbrowser.open(auth_url) code = input("\n Paste the authorization code here: ").strip() # ---------------- STEP 2: TOKEN ---------------- payload = { "grant_type": "authorization_code", "code": code, "redirect_uri": REDIRECT_URI, "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET } token_resp = requests.post( TOKEN_ENDPOINT, data=payload, headers={"Content-Type": "application/x-www-form-urlencoded"} ) token_resp.raise_for_status() access_token = token_resp.json()["access_token"] print("\n Access token received") # ---------------- STEP 3: FETCH KPI ---------------- headers = { "Authorization": f"Bearer {access_token}", "Accept": "application/json" } print("\n KPI VALUES\n" + "-" * 40) for widget_id in WIDGET_IDS: url = f"{TENANT_URL}/widgetquery/getWidgetData" params = { "storyId": STORY_ID, "widgetId": widget_id, "type": "kpiTile" } r = requests.get(url, headers=headers, params=params) if r.ok: data = r.json() number = data.get("number", "N/A") title = data.get("title", widget_id) print(f"{title}: {number}") else: print(f"{widget_id}: Error") print("\n Done")</code></pre><P class="lia-align-justify" style="text-align : justify;"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="pythonkpi_output_terminal.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/368640iF530E352835892E6/image-size/large?v=v2&amp;px=999" role="button" title="pythonkpi_output_terminal.png" alt="pythonkpi_output_terminal.png" /></span></P><P class="lia-align-justify" style="text-align : justify;">&nbsp;<SPAN>How this operate</SPAN></P><OL class="lia-align-justify" style="text-align : justify;"><LI>Login Step:&nbsp;Launches a web browser to obtain the permission code and log into SAC.</LI><LI>Token Step: Provides an access token in exchange for the authorization code.</LI><LI>Fetch KPI Step: Prints the KPI number and title after contacting the SAC REST API for each widget ID.</LI></OL><P class="lia-align-justify" style="text-align : justify;"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="RESTAPI_Flow_diagram.jpg" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/368634i0FF9C05120008397/image-size/large?v=v2&amp;px=999" role="button" title="RESTAPI_Flow_diagram.jpg" alt="RESTAPI_Flow_diagram.jpg" /></span></P><P class="lia-align-justify" style="text-align : justify;">&nbsp;</P><H2 id="toc-hId-1396442316">Code of Application</H2><P class="lia-align-justify" style="text-align : justify;">The full Flask application that is used to retrieve KPI tile data and authenticate with SAP Analytics Cloud is shown below. This code manages widget data fetching, token retrieval, login, and creates an eye-catching KPI dashboard in the browser.</P><pre class="lia-code-sample language-markup"><code>HTML_TEMPLATE = """ &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt; &lt;title&gt;SAC KPI Dashboard&lt;/title&gt; &lt;style&gt; body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f4f6f8; margin: 0; padding: 0; } h1 { text-align: center; margin-top: 20px; color: #333; } .container { display: flex; flex-wrap: wrap; justify-content: center; margin: 40px auto; max-width: 1200px; gap: 20px; } .card { color: #fff; width: 250px; height: 150px; border-radius: 16px; box-shadow: 0 10px 20px rgba(0,0,0,0.2); display: flex; flex-direction: column; justify-content: center; align-items: center; transition: transform 0.3s, box-shadow 0.3s; cursor: pointer; text-align: center; padding: 10px; } .card:hover { transform: translateY(-10px); box-shadow: 0 20px 30px rgba(0,0,0,0.3); } .number { font-weight: bold; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 90%; } .title { font-size: 1em; margin-top: 10px; color: #e0e0e0; } /* Rainbow colors for cards */ .rainbow-0 { background: linear-gradient(135deg, #ff6b6b, #f06595); } .rainbow-1 { background: linear-gradient(135deg, #feca57, #ff9f43); } .rainbow-2 { background: linear-gradient(135deg, #1dd1a1, #10ac84); } .rainbow-3 { background: linear-gradient(135deg, #54a0ff, #2e86de); } .rainbow-4 { background: linear-gradient(135deg, #5f27cd, #341f97); } .rainbow-5 { background: linear-gradient(135deg, #ee5253, #c0392b); } .rainbow-6 { background: linear-gradient(135deg, #48dbfb, #00d2d3); } &lt;/style&gt; &lt;script&gt; // Adjust font size based on length function adjustFontSize() { const numbers = document.querySelectorAll('.number'); numbers.forEach(num =&gt; { const length = num.innerText.length; if(length &lt;= 5) num.style.fontSize = '2.5em'; else if(length &lt;= 8) num.style.fontSize = '2em'; else num.style.fontSize = '1.5em'; }); } window.onload = adjustFontSize; &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;SAP Analytics Cloud - RESTAPI Fetched Sales KPI Dashboard&lt;/h1&gt; &lt;div class="container"&gt; {% for kpi in kpis %} &lt;div class="card rainbow-{{ loop.index0 % 7 }}"&gt; &lt;div class="number"&gt;{{ kpi.number }}&lt;/div&gt; &lt;div class="title"&gt;{{ kpi.title }}&lt;/div&gt; &lt;/div&gt; {% endfor %} &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; """</code></pre><pre class="lia-code-sample language-python"><code>from flask import Flask, render_template_string import requests import urllib.parse import webbrowser # ---------------- CONFIG ---------------- TENANT_URL = "https://yourtenant.hanacloudservices.cloud.sap" CLIENT_ID = "&lt;YOUR_CLIENT_ID&gt;" CLIENT_SECRET = "&lt;YOUR_CLIENT_SECRET&gt;" AUTHORIZATION_ENDPOINT = "https://yourtenant.hana.ondemand.com/oauth/authorize" TOKEN_ENDPOINT = "https://yourtenant.hana.ondemand.com/oauth/token" REDIRECT_URI = "https://your-app-domain.com/oauth/callback" STORY_ID = "&lt;your_storyid&gt;" WIDGET_IDS = [ "Chart_1", "Chart_2", "Chart_3", "Chart_4", "Chart_5", "Chart_6", "Chart_8" ] # ---------------- FLASK APP ---------------- app = Flask(__name__) def get_access_token(): # Step 1: login manually params = {"response_type": "code", "client_id": CLIENT_ID, "redirect_uri": REDIRECT_URI} auth_url = AUTHORIZATION_ENDPOINT + "?" + urllib.parse.urlencode(params) print("\nOpen this URL in browser to login to SAC:") print(auth_url) webbrowser.open(auth_url) code = input("\nPaste the authorization code here: ").strip() # Step 2: get token payload = { "grant_type": "authorization_code", "code": code, "redirect_uri": REDIRECT_URI, "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET } r = requests.post(TOKEN_ENDPOINT, data=payload, headers={"Content-Type": "application/x-www-form-urlencoded"}) r.raise_for_status() return r.json()["access_token"] def fetch_kpis(token): headers = {"Authorization": f"Bearer {token}", "Accept": "application/json"} kpis = [] for widget_id in WIDGET_IDS: url = f"{TENANT_URL}/widgetquery/getWidgetData" params = {"storyId": STORY_ID, "widgetId": widget_id, "type": "kpiTile"} r = requests.get(url, headers=headers, params=params) if r.ok: data = r.json() kpis.append({ "title": data.get("title", widget_id), "number": data.get("number", "N/A") }) else: kpis.append({"title": widget_id, "number": "Error"}) return kpis # HTML Code will be written Here @app.route("/") def dashboard(): token = get_access_token() kpis = fetch_kpis(token) return render_template_string(HTML_TEMPLATE, kpis=kpis) if __name__ == "__main__": app.run(debug=True,port=8000)</code></pre><P class="lia-align-justify" style="text-align : justify;"><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="webpageoutput_terminal.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/368641iF1104ACD8CBAC86C/image-size/large?v=v2&amp;px=999" role="button" title="webpageoutput_terminal.png" alt="webpageoutput_terminal.png" /></span></P><P class="lia-align-justify" style="text-align : justify;">&nbsp;<SPAN>An explanation of the code</SPAN></P><OL class="lia-align-justify" style="text-align : justify;"><LI><FONT face="courier new,courier">/route</FONT> logic<UL><LI>To manually retrieve an OAuth token, use <FONT face="courier new,courier">get_access_token()</FONT>.</LI><LI>Uses <FONT face="courier new,courier">fetch_kpis()</FONT> to retrieve KPI tile data.</LI><LI>Uses the HTML_TEMPLATE to render all KPIs with rainbow-colored cards.</LI></UL></LI><LI>Managing OAuth (<FONT face="courier new,courier">get_access_token</FONT>)<UL><LI>Launches the browser's SAC login.</LI><LI>The authorization code is pasted by the user. To call SAC REST APIs, code is exchanged for access tokens.</LI></UL></LI><LI>Data retrieval for widgets (<FONT face="courier new,courier">fetch_kpis</FONT>)<UL><LI>Repeats over every WIDGET_IDS.</LI><LI>For every widget, the <FONT face="courier new,courier">widgetquery/getWidgetData</FONT> endpoint is called.</LI><LI>Gathers the number and title for the display.</LI></UL></LI><LI>Using HTML Templates for UI rendering<UL><LI>Flex arrangement is used for tiles.</LI><LI>Each KPI card has a rainbow gradient background.</LI><LI>For a contemporary appearance, use shadow and hover effects.</LI><LI>The length of the integer automatically modifies the font size.</LI></UL></LI></OL><H2 id="toc-hId-1199928811">Result/Output</H2><P class="lia-align-justify" style="text-align : justify;">The KPI data is retrieved and shown in a personalized web dashboard after the program has launched and the user has successfully logged in using SAP Analytics Cloud OAuth.</P><H6 id="toc-hId-1519746182">SAP Analytics Cloud Story KPI Tiles</H6><P class="lia-align-justify" style="text-align : justify;">The original KPI tiles as they appear in the SAP Analytics Cloud narrative are depicted in the image below. Business users in SAC are in charge of configuring and maintaining these KPIs.<BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="SAC_Story_pic.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/368642i28BB476CF6F1D331/image-size/large?v=v2&amp;px=999" role="button" title="SAC_Story_pic.png" alt="SAC_Story_pic.png" /></span></P><P class="lia-align-justify" style="text-align : justify;">&nbsp;</P><H6 id="toc-hId-1323232677">Custom Web Dashboard with KPI Tiles</H6><P class="lia-align-justify" style="text-align : justify;">The <FONT face="courier new,courier">widgetquery/getWidgetData</FONT> REST API is used to retrieve the same KPI values, which are then shown in a specially created web application. Custom Web Dashboard Screenshot<BR /><span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="webpage_pic_restapi.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/368643i9989EF78FB6413D9/image-size/large?v=v2&amp;px=999" role="button" title="webpage_pic_restapi.png" alt="webpage_pic_restapi.png" /></span></P><H3 id="toc-hId-739471015">Important Findings</H3><P class="lia-align-justify" style="text-align : justify;">The KPI numbers in the SAC story and the web dashboard are same.<BR /><STRONG>Every KPI tile shows:</STRONG></P><OL class="lia-align-justify" style="text-align : justify;"><LI>Value or Number&nbsp;</LI><LI>The title</LI></OL><P class="lia-align-justify" style="text-align : justify;">The website's dashboard uses the following to improve visualization:</P><OL class="lia-align-justify" style="text-align : justify;"><LI>Gradient cards with rainbows</LI><LI>Hover animations and shadows</LI><LI>Adaptable design</LI></OL><P class="lia-align-justify" style="text-align : justify;">This proves to the secure consumption and reuse of SAC KPI data outside of the SAC user interface without requiring the duplication of business logic.</P><H2 id="toc-hId-413874791">Conclusion</H2><P class="lia-align-justify" style="text-align : justify;">In this blog post, we shown a simple yet effective technique for extracting SAP REST APIs are used to tile Analytics Cloud KPI data and display it on a special webpage.</P><H6 id="toc-hId-733692162">Important findings:</H6><UL><LI><P>SAC KPIs can be consumed using custom dashboards outside of the SAC UI.</P></LI><LI><P>Python provides an adaptable and lightweight backend for API integration.&nbsp;REST APIs enable KPI tracking in real-time, while front-end. Style increases visibility.</P></LI><LI><P>Setting up the environment and security is essential for a safe execution.</P></LI><LI><P class="lia-align-justify" style="text-align : justify;">SAC insights can be incorporated into executive dashboards, intranet portals, or external web apps, businesses are able to give users a consolidated view of key performance indicators without having to Launch SAC directly.</P></LI></UL> 2026-02-04T08:51:58.622000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sap-analytics-cloud-planning-with-live-snowflake-data/ba-p/14322239 SAP Analytics Cloud Planning with Live Snowflake Data 2026-02-05T13:54:05.629000+01:00 Max_Gander https://community.sap.com/t5/user/viewprofilepage/user-id/14553 <H1 id="toc-hId-1660439529">Introduction</H1><P>In Q4 2025, we released live versions for planning models in SAP Analytics Cloud:&nbsp;</P><UL><LI>In seamless planning, you can connect live to fact data in SAP Datasphere (<A href="https://community.sap.com/t5/technology-blog-posts-by-sap/unlocking-the-next-chapter-of-seamless-planning-in-sap-business-data-cloud/ba-p/14243864" target="_blank">blogpost</A>)</LI><LI>In non-seamless planning scenarios, you can connect to the live SQL sources available in SAP Analytics Cloud. Up until now, Google BigQuery was the only available source (<A href="https://community.sap.com/t5/technology-blog-posts-by-sap/live-versions-from-an-sql-source-for-sap-analytics-cloud-planning/ba-p/14245675" target="_blank">blogpost</A>)</LI></UL><P>With QRC1 2026, <STRONG>Snowflake</STRONG> is added to the portfolio of live sources and with that, you can now reference Snowflake data for planning without replication!</P><P>&nbsp;</P><H1 id="toc-hId-1463926024">How does it work?</H1><P>In my <A href="https://community.sap.com/t5/technology-blog-posts-by-sap/live-versions-from-an-sql-source-for-sap-analytics-cloud-planning/ba-p/14245675" target="_blank">blogpost</A> on live versions from Google BigQuery, I demonstrated how to add live data to an existing model. So this time, we will take another approach and create a planning model from data.</P><UL><LI>Go to the modeler</LI><LI>Create model</LI><LI>Create model from data</LI><LI>Choose Snowflake. You can filter the list of connections to Data Storage “Cloud”</LI><LI>Choose a connection.</LI><LI>Choose a view</LI><LI>The model is created along the source view’s structures. You see the instant live connection in the data preview</LI></UL><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Model creation from live data" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369186iECD20EB5AEDC1355/image-size/large?v=v2&amp;px=999" role="button" title="2026_Snowflake_LiveVersion.gif" alt="Model creation from live data" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Model creation from live data</span></span></P><P>You can now work with this model as you know from model’s without live versions. In the example below, we remove dimensions and measures that we do not need. We re-create one of the measures as a live calculation.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Calculations on live data" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369187iD26D5343269548C7/image-size/large?v=v2&amp;px=999" role="button" title="2026_Snowflake_LiveVersion2.gif" alt="Calculations on live data" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Calculations on live data</span></span></P><P>We can also leverage the data in data actions. See this example where we copy the Actual data into a plan version with a factor. The actual version that you see is sourced directly from Snowflake. When we copy the data into a plan version, the plan data is stored in the fact table of our model in SAP Analytics Cloud.&nbsp;</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Planning" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369189i3E0FAED193E9C32F/image-size/large?v=v2&amp;px=999" role="button" title="2026_Snowflake_LiveVersion3.gif" alt="Planning" /><span class="lia-inline-image-caption" onclick="event.preventDefault();">Planning</span></span></P><H1 id="toc-hId-1267412519">&nbsp;</H1><H1 id="toc-hId-1070899014">FAQ</H1><P><STRONG>Where can I use this feature?</STRONG></P><P>This feature is available for SAP Analytics Cloud models that are not deployed to SAP Datasphere (=not using seamless planning).</P><P><STRONG>Can I use any source view?</STRONG></P><P>Yes. However, not all data types are supported (<A href="https://help.sap.com/docs/SAP_ANALYTICS_CLOUD/bb580dbd86a84c7694cc56e5155d4fb5/4a573d78d2da4642b6f374d377c2f4a0.html?version=LATEST&amp;locale=en-US" target="_blank" rel="noopener noreferrer">details</A>).</P><P><STRONG>What can I do with live versions? (And what can I not do?)</STRONG></P><UL><LI>You can display the live version data in the model data foundation and in tables, charts, etc. in stories.</LI><LI>You can reference the live version data in model and story calculations as well as data actions (incl. advanced formulas).</LI><LI>You cannot write back to the source. You can copy the live version data into planning versions via copy/paste in the table, data actions and version management.</LI></UL><P><STRONG>How do I see if data is live or not?</STRONG></P><UL><LI>In models, a live version is highlighted in the data preview. In the version dimension, you see the data source per version.&nbsp;</LI><LI>In tables, live version data is locked for data entry and formatted accordingly. Reasons for unplannable data give accurate information.</LI></UL><H1 id="toc-hId-874385509">&nbsp;</H1><H1 id="toc-hId-677872004">Conclusion</H1><P>Live data access in planning models represents a massive opportunity. SAP Analytics Cloud aligns with SAP Business Data Cloud’s ambition to be open and keeps on expanding its live connectivity portfolio. Look forward to use your Azure data for planning in the future and follow the respective <A href="https://roadmaps.sap.com/board?PRODUCT=67838200100800006884&amp;range=CURRENT-LAST#;INNO=000D3AAADBCE1FE094D1DE1E1D95EBFC" target="_blank" rel="noopener noreferrer">innovation in the Roadmap Explorer</A>. &nbsp;</P> 2026-02-05T13:54:05.629000+01:00 https://community.sap.com/t5/crm-and-cx-blog-posts-by-sap/sap-sales-amp-service-cloud-v2-esm-creating-a-connection-with-sap-analytics/ba-p/14323493 SAP Sales & Service Cloud V2 + ESM - Creating a connection with SAP Analytics Cloud Enterprise [SAC] 2026-02-07T19:52:31.113000+01:00 Yogananda https://community.sap.com/t5/user/viewprofilepage/user-id/75 <DIV><P><FONT color="#993300">SAP Sales &amp; Service Cloud Version 2 (V2) and Enterprise Service Management (ESM)</FONT> deliver modern, modular customer‑experience capabilities. But as organizations scale, the real differentiator becomes <STRONG>analytics</STRONG>—the ability to unify sales, service, and enterprise operations into a single insights layer.</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-07_13-28-04.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369851i3EEFF923047B3FC5/image-size/large?v=v2&amp;px=999" role="button" title="2026-02-07_13-28-04.png" alt="2026-02-07_13-28-04.png" /></span></P><P>SAP provides two major analytics options:</P><OL><LI><A href="https://community.sap.com/t5/crm-and-cx-blog-posts-by-sap/embedded-analytics-for-sap-sales-amp-service-cloud-v2-list-of-available/ba-p/14284830" target="_self"><STRONG>Embedded SAP Analytics Cloud (eSAC)</STRONG> </A>– included and built into V2 and ESM</LI><LI><STRONG>SAP Analytics Cloud Enterprise Edition</STRONG> – the full standalone analytics platform</LI></OL><H3 id="toc-hId-1918636860"><FONT color="#FF6600"><STRONG>Pre-requisities</STRONG></FONT></H3></DIV><UL><LI><FONT color="#800080">Create SAP Technical Support ticket Component to choose (CEC-CRM-ANA) to enable&nbsp;Enterprise live connectivity</FONT></LI><LI><FONT color="#3366FF">SSO</FONT> must be enabled in both systems (SAP Sales &amp; Service Cloud v2 &amp; SAP Analytics Cloud)</LI><LI>Login via <FONT color="#3366FF">SSO</FONT> in Sales and Service Cloud v2 Application.</LI><LI>Login to Enterprise SAC using the same <FONT color="#3366FF">SSO</FONT> as used above.</LI><LI>Now try to create the connection and it should be successful (shown in below steps - screenshots).</LI></UL><P><FONT color="#FF00FF"><STRONG>Before you proceed to Steps : Note</STRONG></FONT> : <FONT color="#000080">While doing handshake - Login to both system should be in same browser but in different tabs.</FONT></P><P><FONT color="#000080">Step by Step via Video :&nbsp; <A href="https://sapvideo.cfapps.eu10-004.hana.ondemand.com/?entry_id=1_bjziynqu" target="_self" rel="nofollow noopener noreferrer">Setting up the Connection</A></FONT></P><P><STRONG>Step 1</STRONG> : SSO must be enabled in order to work both Applications ( SSC v2 &amp; SAC)</P><P><STRONG>Step 2</STRONG> : Login to SAP Analytics Cloud (Enterprise License version) and you must be Administrator to config</P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-07_19-05-38.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369846i30906EACEBBB8E66/image-size/large?v=v2&amp;px=999" role="button" title="2026-02-07_19-05-38.png" alt="2026-02-07_19-05-38.png" /></span></P><P><STRONG>Step 3</STRONG> : Select <FONT color="#003300"><STRONG>Connect to Live Data </STRONG></FONT>- Select a Data Source - <FONT color="#993300"><STRONG>SAP Cloud Application</STRONG></FONT></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-07_19-08-34.png" style="width: 532px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369847i63770C65AB5A798A/image-size/large?v=v2&amp;px=999" role="button" title="2026-02-07_19-08-34.png" alt="2026-02-07_19-08-34.png" /></span></P><P><STRONG>Step 4&nbsp;</STRONG>: Select from dropdown&nbsp;<STRONG><FONT color="#993300">SAP Sales and Service Cloud Version 2</FONT></STRONG></P><P><span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-07_19-09-55.png" style="width: 966px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369848iBD90D6658003302E/image-size/large?v=v2&amp;px=999" role="button" title="2026-02-07_19-09-55.png" alt="2026-02-07_19-09-55.png" /></span></P><P><STRONG>Step 5&nbsp;</STRONG>: Enter the Application URL of your <STRONG><FONT color="#993300">SAP Sales &amp; Service Cloud Version 2</FONT></STRONG> URL then immediately the Redirection happens to authenticate against both systems if the same IDP matches with successfull response.<span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="2026-02-07_19-12-09.png" style="width: 999px;"><img src="https://community.sap.com/t5/image/serverpage/image-id/369849iE02D69DF84209D92/image-size/large?v=v2&amp;px=999" role="button" title="2026-02-07_19-12-09.png" alt="2026-02-07_19-12-09.png" /></span></P><P>&nbsp;</P><DIV><H1 id="toc-hId-1463957917"><STRONG>Conclusion</STRONG></H1><P>Integrating <STRONG>SAP Sales &amp; Service Cloud V2 + ESM</STRONG> with <STRONG>SAP Analytics Cloud Enterprise</STRONG> unlocks powerful, cross-functional insights. While eSAC provides rapid, embedded visualization, SAC Enterprise enables enterprise-scale reporting and combines data from multiple systems.</P><P>For organizations seeking lighter setups, custom integration patterns using embedded Analytics within v2, using V2 REST APIs and BTP or SAP Databricks are viable alternatives.</P><P>By following the steps and architecture options outlined in this guide, your organization can create a unified analytics environment that empowers sales, service, and enterprise teams with real-time, actionable insights.</P></DIV><P>&nbsp;</P><P>&nbsp;</P> 2026-02-07T19:52:31.113000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/support-of-a-compact-display-for-tables-live-bw/ba-p/14330310 Support of a Compact Display for Tables (Live BW) 2026-02-17T17:13:59.982000+01:00 GregBotticchio https://community.sap.com/t5/user/viewprofilepage/user-id/186268 <H1 id="toc-hId-1661304358"><STRONG>Introduction</STRONG></H1><P>As part of our continuous innovation for Live BW connectivity, we are introducing <STRONG>Compact Display</STRONG>&nbsp;for Tables with the <STRONG>2026 Q1 QRC</STRONG> release.</P><P>Compact Display is designed to simplify complex table structures by consolidating multiple dimensions into a single, structured hierarchy within a row or column.</P><P>The goal is to <STRONG>enhance readability, optimize space usage, and improve analytical clarity</STRONG>, especially in enterprise scenarios with deep dimensional breakdowns.</P><P>For customers familiar with the “Universal Display Hierarchy” in SAP BEx Query Designer, Compact Display delivers a similar conceptual benefit in SAC’s Optimized Experience, while being purpose-built for SAC architecture and modern UX standards.</P><P>&nbsp;</P><H1 id="toc-hId-1464790853"><STRONG>What is the Feature “Compact Display”?</STRONG></H1><P>Compact Display allows you to <STRONG>group multiple dimensions on a row or column axis into a single structured display</STRONG>, enabling expandable nodes instead of separate stacked dimensions.</P><H2 id="toc-hId-1397360067"><STRONG>What it does</STRONG></H2><P>When activated on an axis:</P><UL><LI>All <STRONG>dimensions bound to that axis</STRONG> are grouped into <STRONG>one single row or column structure</STRONG></LI><LI>The structure follows the <STRONG>top-to-bottom order</STRONG> of entities bound to the axis</LI><LI>Users can <STRONG>expand or collapse nodes</STRONG> interactively</LI><LI>The header displays the names of the compacted Dimensions/Measures</LI><LI>Display Attributes are <STRONG>not compacted</STRONG> and remain as separate rows/columns</LI></UL><H2 id="toc-hId-1200846562"><STRONG>What it does not do</STRONG></H2><UL><LI>If the axis contains <STRONG>only measures</STRONG>, Compact Display:</LI><UL><LI>Is <STRONG>unchecked</STRONG></LI><LI>Is <STRONG>disabled</STRONG></LI><LI>Displays the tooltip:<BR /><EM>"You can't apply compact display because this axis lacks dimensions or contains only measures."</EM></LI></UL><LI>If no dimensions or measures are bound to the axis, the option is disabled.</LI><LI>Compact Display does nothing when only measures exist on the axis.</LI></UL><H2 id="toc-hId-1004333057"><STRONG>Why it matters</STRONG></H2><P>In real-life enterprise reporting scenarios, tables can quickly become:</P><UL><LI>Wide and hard to read</LI><LI>Vertically heavy</LI><LI>Difficult to navigate</LI></UL><P>Compact Display helps you to:</P><UL><LI>Improve density without losing structure</LI><LI>Enhance hierarchical readability</LI><LI>Provide a cleaner user experience</LI></UL><P>&nbsp;</P><H1 id="toc-hId-678736833"><STRONG>How to Use It</STRONG></H1><P>Compact Display is available in the Optimized Experience. If not yet enabled, you must opt-in to the “New Table Builder Experience”.</P><H2 id="toc-hId-611306047"><STRONG>Step-by-Step Activation</STRONG></H2><OL><LI>Open your story</LI><LI>Select your Table</LI><LI>In the <STRONG>Builder Panel</STRONG>, locate the Row or Column axis</LI><LI>Click the <STRONG>“…” menu</STRONG></LI><LI>Select <STRONG>Compact Display</STRONG></LI></OL><H2 id="toc-hId-414792542"><STRONG>Behavior logic</STRONG></H2><TABLE><TBODY><TR><TD><P><STRONG>Scenario</STRONG></P></TD><TD><P><STRONG>Compact Display Option</STRONG></P></TD></TR><TR><TD><P>No real dimension on axis (only measures or empty)</P></TD><TD><P>Disabled, unchecked, tooltip shown</P></TD></TR><TR><TD><P>At least one dimension added</P></TD><TD><P>Enabled; any new dimension or measure added to the axis will be added to the Compact Display</P></TD></TR><TR><TD><P>Last real dimension removed</P></TD><TD><P>Disabled again, unchecked, tooltip shown</P></TD></TR></TBODY></TABLE><P>&nbsp;</P><H1 id="toc-hId-89196318"><STRONG>See It in Action</STRONG></H1><P><div class="video-embed-center video-embed"><iframe class="embedly-embed" src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fnwk3tHPUFYw%3Fstart%3D3170%26feature%3Doembed%26start%3D3170&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dnwk3tHPUFYw&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fnwk3tHPUFYw%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube" width="200" height="112" scrolling="no" title="Whats New in SAP Analytics Cloud | Deep Dive with Product Experts | Q1 2026" frameborder="0" allow="autoplay; fullscreen; encrypted-media; picture-in-picture;" allowfullscreen="true"></iframe></div></P><P>&nbsp;</P><H1 id="toc-hId--107317187"><STRONG>Share Your Feedback</STRONG></H1><P>Compact Display is an enhancement for Live BW scenarios, and your feedback is essential.</P><P>It directly helps us improve both the product and its documentation.</P><P>Please share your thoughts and experience through:</P><UL><LI>SAP Community discussions</LI><LI>Customer Influence channels</LI></UL><P>Your input is highly appreciated and will actively influence future enhancements to SAP Analytics Cloud.</P> 2026-02-17T17:13:59.982000+01:00 https://community.sap.com/t5/technology-blog-posts-by-sap/sap-destination-service-troubleshooting/ba-p/14336745 SAP Destination Service Troubleshooting 2026-02-25T19:03:11.135000+01:00 Ali_Chalhoub1 https://community.sap.com/t5/user/viewprofilepage/user-id/194448 <P><STRONG><SPAN>Destination Service&nbsp;Authentication&nbsp;Troubleshooting Made Simple: OAuth2SAMLBearerAssertion Guide</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Troubleshoot like a pro with REST API validation!</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P><SPAN>Configuration issues in OAuth2SAMLBearerAssertion destinations can be tricky to diagnose.&nbsp;</SPAN><A href="https://help.sap.com/docs/SUPPORT_CONTENT/foundationtech/5838230102.html" target="_blank" rel="noopener noreferrer"><SPAN>Destination Service: Troubleshooting Guide</SPAN></A><SPAN>&nbsp;shows you a systematic approach using the Destination Service REST API to pinpoint errors quickly:</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>We'll&nbsp;use a SuccessFactors integration example, but the same principles work for any target system using OAuth2SAMLBearerAssertion or&nbsp;can be tested for&nbsp;other authentication types like&nbsp;SAMLAssertion.</SPAN><SPAN>&nbsp;</SPAN></P><P><STRONG><SPAN>Understanding the Problem:</SPAN></STRONG><SPAN>&nbsp;</SPAN><SPAN>&nbsp;</SPAN></P><P>When an integration fails, it’s important to pinpoint the root cause. Is the issue with the destination setup? User authentication? Token exchange? Rather than testing through your application which adds unnecessary complexity you can directly verify the destination by calling the <A href="https://help.sap.com/docs/connectivity/sap-btp-connectivity-cf/calling-destination-service-rest-api" target="_self" rel="noopener noreferrer">Destination Service REST API</A>.</P><P>This method separates the connectivity layer from your application logic. If you successfully obtain an access token, your destination is properly configured, meaning any remaining problems lie in your application code or the target system not in BTP connectivity.</P><P><STRONG><SPAN>What You'll Need Before Starting:</SPAN></STRONG><SPAN>&nbsp;</SPAN></P><P><SPAN>Make sure you have Administrator access to your BTP subaccount, Space Manager or Developer permissions, a configured OAuth2SAMLBearerAssertion destination, a REST client like Bruno or Postman,&nbsp;and&nbsp;verify that your test user exists in both your Identity Provider and the target system.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>For a complete&nbsp;step by step guide on how to achieve this check following KBA: <A href="https://me.sap.com/notes/3708599" target="_self" rel="noopener noreferrer">3708599 - Troubleshooting Guide for scenarios in BTP where Destination service is involved</A></SPAN><SPAN>.</SPAN><SPAN>&nbsp;</SPAN></P><P><SPAN>Save this guide for faster troubleshooting, clearer error diagnosis, and confident destination configuration!</SPAN><SPAN>&nbsp;</SPAN></P> 2026-02-25T19:03:11.135000+01:00