Embedding
The Embed package in Pyramid allows BI developers to embed visuals, reports, and dashboards from Discover or Present into any website.
The embedded visual is live, dynamic, and any changes made to the original visualization in Pyramid will be reflected in the embedded visual. Core interactivity functions can be accessed from the embedded visual and the content can leverage the data security and functionality found in the main application itself.
Embedding is only available to customers who have purchased the separate 'Embed' option.
Standard Functionality in Embedding
Embedded Discover reports or Present dashboards keep their core functionality in embedded mode. This includes:
- Context menu driven interactions like drilling, dicing, quick filtering / sorting, pivoting, and so on.
- Support for report or dashboard actions (including slice actions) - generated from Pyramid or from an external engine (like Microsoft Multidimensional actions and drill-through).
- Slicing and slicer functions, pre query pop up functions.
- Jump and interactive button support.
- General navigation.
- Smart Insights and the Chat Bot.
- Access to the menu panel and hidden slicers (Present only).
- Full screen button to view the embedded content in full screen mode.
- Reset button to reset the embedded content.
Certain capabilities are not available or are presented in a reduced function:
- Printing is limited to default exports through PDF and Excel only.
- There is no support for Conversations or Workflows.
- The Analyze Further capability is not available.
- Bookmarks are only available for embedded content where users log on with Pyramid user details.
Note: If the embedded content contains data that the user does not have access to view, an Access Denied message is shown in the place of that content item.
Embedding Techniques
Embedding Flow
Embedding in general as two distinct phases:
- Authentication: Requires the session to authenticate to Pyramid to ensure only authorized access to Pyramid content is allowed.
- Content: Involves retrieving the relevant content from Pyramid for display in the hosting application.
The exact process needed depends on the host technology - and there are any number of methods that will work.
- For more information and examples of how these two steps may be enacted, see Embed Flow.
- For more information and examples of embedding code snippets, see Embed Code Examples.
Embedding APIs
- Embed API: You can embed content using a clean object model with methods and properties in one of the Embed API libraries. This approach also comes with React and Angular components that can be deployed using NPM instead of a standard JavaScript library.
- Raw API (Embed API v1.0): You can also use the older core "embed.js" file to embed content using a combination of the functions in this file and the REST API framework. This approach is only supported in Raw JavaScript.
Note: The Embed API is NEWER and is recommended for all development.
Embed Examples and Demos
Pyramid has published some example embed projects on GitHub.
- Click here to see an example of embedding using JavaScript (plain and React).
Developers can also use the embed code generator tools inside the Pro client to see how to build the syntax and use the APIs for JavaScript, React, and Angular.
Troubleshooting Embeds
There are times when embedded content does not materialize as expected or has erratic behavior. This is mostly due to the effect of other elements on the host page clashing with Pyramid. See the troubleshooting guide for more information.