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 etc.
- 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
- Jump and interactive button support
- General navigation
- Smart Insights and the Chat Bot
- Access to the menu panel and hidden slicers (Present only)
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
Embedding Techniques
Embedding Flow
Embedding in general as 2 distinct phases: Authentication and Content.
- Authentication requires the session to authenticate to Pyramid to ensure only authorized access to content is allowed.
- Content involves retrieving the relevant content from Pyramid for display in the hosting application.
The exact process needed to achieve these 2 steps is up to the host technology - and there are any number of methods that will work.
- For more information and examples of how these 2 steps may be enacted, see Embed Flow.
- For more information and examples of embedding code snippets, see Embed Code Snippet Examples.
Embedding APIs
There are 2 API avenues for embedding:
- Embed APIs: using a more structured API framework, 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. Click here for more details.
- Raw Embed: using the older core "embed.js" file, you can embed content using a combination of the functions in this file and the REST API framework. Click here for more details and to see this approach in action.
The Embed API approach is the NEWER approach and 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 snippet generator tools inside the Pro client to see how to build the syntax and use the API's 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.