Demo Playground | ✅ Available Status: This is a demo WIP status | | | | |
Pricing Structure for Embedded (Learn more) Pricing is among the most important factors to consider when evaluating BI tools. A good embedded pricing should be easy to start when doing POC, as well as not be too expensive when you scale up. Typically embedded BI tools have pricing structure that scales with the number of embed viewers or usage of your application. Common pricing structures are: - Seat-based pricing: Pricing by embed viewers
- Platform pricing: One fixed price (usually quoted and negotiated) for unlimited viewers
- Usage-based pricing: Pricing by some usage metric like report runs or active sessions
- Additionally there might be pricing based on feature tiers
- Some vendors may offer discounted pricing for your POC period.
| | | | | |
| Query runs/Query slots Select between Query Runs or Concurrent Workers. With unlimited dashboard viewers. (source) | API calls One production instance, 10 Standard Users, 2 Developer Users, upgrades, up to 500,000 query-based API calls per month, and up to 100,000 administrative API calls per month. (source) | Analytical Impressions Pay for entitlements of Analytical Impressions. Applies to users with the Viewer role. (source) | Node Type & Node Instances Pricing based on node types and node instances. To publish content to an embedded capacity, at least one user requires a Power BI Pro license. (source) | Feature-tiered Full-powered embedding starts from Pro plan ($500/mo). (source) |
| Pricing Transparency Transparent for standard plans. Contact sales for embedded pricing. | Pricing Transparency Opaque. Requires speaking to sales. | Pricing Transparency Transparent for standard plans. Contact sales for embedded pricing. | Pricing Transparency Transparent for embedded pricing. | Pricing Transparency Transparent for embedded pricing. |
Embedding Methods (Learn more) Embedding methods affect the customizability of your embedded apps. Typically with higher customization, the tradeoff is higher development effort. Common embedding methods are: - iFrame: Embeds a pre-built dashboard or report into your app using an HTML iframe tag.
- Web Components: Embeds analytics as reusable custom web components that integrate natively into your app's UI framework.
- API integration: Uses APIs to fetch and render data dynamically, allowing custom-built dashboards within your app
- SDK: Provides a software development kit (SDK), often in a specific programming language or framework (e.g., React SDK), to integrate and customize analytics. Each method has its pros and cons. You should evaluate embedding approaches based on your app's architecture, required level of customization, and available development resources.
| ✅ Supports iFrame embedding Provide sandbox UI for generating the iFrame backend code (source) | ✅ Supports iFrame, API and SDK Allows developers flexibility but no Web Component features (source) | ✅ Supports API embedding Works best within Tableau ecosystem (source) | ✅ Supports iFrame and API embedding Seamless integration with Microsoft ecosystem (source) | ✅ Static and SDK Embedding Displaying a Metabase URL inside an iframe in your website. Allows developers to embed individual Metabase into React applications (source) |
Public Embedding Embeds a publicly accessible dashboard to websites without backend setup. | Allow users to create a "shareable link" of a dashboard, and embed it directly to websites. (source) | ✅ Public Embedding Allow users to share data visualizations publicly via embeddable URLs (source) | | | |
Permission & User Access Control (Learn more) Embedded tools should ensure each customer can only see their own data and prevents unauthorized modifications. This is called multi-tenancy. Most embedded BI tools support the basic version of this capability. When evaluating, look into permission levels (e.g., column-level access, row-level access, password-protected sharing) and ensure permission settings are intuitive. | ✅ Row-Level Access Control and Multi-tenancy Supports row-level security via JWT tokens and multi-tenant deployments ✅ Dynamic Data Sources Allow connecting to different data sources (databases) based on different customers (tenants). (source) | ✅ Row-Level Access Control and Multi-tenancy Comprehensive access controls and multi-tenant support | ✅ Row-Level Access Control and Multi-tenancy Row-level security via JWT tokens and multi-tenant deployments. | ✅ Row-Level Access Control and Multi-tenancy Row-level security via JWT tokens and multi-tenant deployments. | ✅ Role-based Access Control and Multi-tenancy Supports row-level security via JWT tokens and multi-tenant deployments. |
Look & Feel (Learn more) The BI tools should allow developers to maintain a branding consistency, deliver customized dashboards and cater to diverse visualization needs. When evaluating, look into the level of customization for colors, fonts, layout. Assess the variety of chart types and their customizability. | ✅ Custom Visualizations Supports custom charts via Vega-Lite. (source) ✅ Canvas-based Dashboard Support canvas-based dashboard that allows more fluid dashboard design. (source) | ✅ Custom Visualizations Available through Looker marketplace. (source) Custom Layout Via LookML. Limited to single-visual tiles (source) | ✅ Extensive Visualization Options Well known for providing a rich visualization options. (source) ✅ Custom Visualizations Supported with Viz Extensions API. (source) | ✅ Custom Visualizations Supported with Power BI visuals SDK, limited native theme customization (source) | Custom Visualizations Requires external tools or programming languages (e.g., Python with libraries like Seaborn or D3.js). (source) |
| Allow developers to build and customize dashboard themes. (source) | Custom Themes & CSS Styling Allow admin users to build and customize themes. (source) | Custom Themes & CSS Styling | Custom Themes & CSS Styling Custom themes are available natively; CSS styling requires workarounds. (source) | ✅ Custom Themes & CSS Styling |
Performance & Data Storage (Learn more) Tools should ensures reasonable performance, and should scale well with increasing viewers and data volumes. There are typically 2 methods that affect report performance: - Caching: Embedded vendors load data into their own caching layer to speed up serving of reports.
- Direct Querying: BI tool querying your database/data warehouse directly.
| ✅ Query Caching Stores query results on demand for configurable durations. (source) ✅ Query Optimization Via Aggregate Awareness. Automatically pick the most optimal aggregated tables per each query for maximal query performance. (source) | ✅ Query Caching Stores query results and leverages persistent derived tables (PDTs) to precompute and cache aggregated or intermediate query results. (source) ✅ Query Optimization Via Aggregate Awareness. Automatically pick the most optimal aggregated tables per each query for maximal query performance. (source) | ✅ Query Caching Supports loading data into its in-memory caching layer, with periodic sync refreshes. (source) ✅ Query Optimization Supports pre-aggregated extracts and Level of Detail (LOD) calculations to optimize queries. (source) | ✅ Query Caching Supports storing initial query results locally for semantic models in Import mode. (source) Query Optimization Via Power BI user-defined aggregation, requiring users to manually define aggregation rules and mappings. (source) | ✅ Direct Querying Supports querying data directly from the database. Query Optimization Via query caching and manual database optimization. (source) |
Self-service Report Creation (Learn more) Embed viewers should be able to customize and build their own reports based on a predefined set of data dimensions and metrics. Viewers should also be able to interact, download, and share custom reports with other embed viewers. When evaluating: - Assess the depth and flexibility of self-serve features like filtering, drill-through, grouping, and visualization options.
- Look for embedded report builders and assess how easily users can build reports without assistance.
| ✅ Self-Service Data Exploration Support interactive dashboard exploration with granular filtering, native period comparison, drill-down capabilities. (source) ✅ Alert and Scheduling Condition-based automated alert. Email/Slack scheduling is available in PDF/CSV format. (source) Embedded Report Builder WIP feature. | ✅ Self-Service Data Exploration Supports filtering, and drill-down capabilities for interactive exploration. No native period comparison. (source) ✅ Alert and Scheduling Available via Looker Scheduler. (source) Embedded Report Builder Not available yet. | ✅ Self-Service Data Exploration Supports filtering, and drill-down capabilities for interactive exploration. No native period comparison. (source) ✅ Alert and Scheduling Allows users to set up automated alerts, schedule extract refreshes and report deliveries. (source) ✅ Embedded Report Builder Through Embedded Web Authoring feature that enables end-users to create and modify reports within the embedded environment. (source) | ✅ Self-Service Data Exploration Supports filtering, and drill-down capabilities for interactive exploration. (source) ✅ Alert and Scheduling Allows users to set up automated alerts, schedule extract refreshes and report deliveries. (source) ✅ Embedded Report Builder Not available yet | ✅ Self-Service Data Exploration Allows self-service exploration via filtering and drilling-down. (source) ✅ Alert and Scheduling Enables users to configure notifications for specific data conditions, delivering updates via email or Slack at defined intervals. (source) ✅ Embedded Report Builder Through Interactive Embedding (Pro and Enterprise plans). (source) |
Security & Compliance (Learn more) Should protect your customers' sensitive data and builds trust by meeting industry security standards. Common security compliance certificates are: SOC2, HIPAA/BAA (for health tech companies), and GDPR. | | | | | |
| ✅ SOC2, BAA, and GDPR compliant | ✅ SOC2, BAA, HIPPA, and GDPR compliant | ✅ SOC2, HIPAA, BAA and GDPR compliant | ✅ SOC2, BAA, HIPPA, and GDPR compliant | ✅ SOC2, CCPA, and GDPR compliant |
| Servers in US (San Francisco), Europe (Germany), and APAC (Singapore). (source) | Multiple locations in US, EU, APAC and Middle East. (source) | Multiple locations in North America, Europe and APAC (source) | Multiple locations across the world based on Azure regions. Default based on the region of signup. (source) | US (East Coast), EU (Frankfurt), LATAM (São Paulo), and APAC (Singapore) (source) |
Maintainability (Learn more) Should allow the reuse of analytics logic and components across customers to reduce the maintenance burden for developers and product engineers. Common functionalities to support this are: - Semantic layer to allow defining reusable, centralized metrics
- Ability to define logic using code language (analytics as code)
- 2-way integration with Git version control
| | | | | |
| ✅ Semantic Modeling Layer Centralizes business logic in modular, reusable data models, allowing consistent definitions across reports. (source) | ✅ LookML Data Modeling Enables defining centralized, modular data logic that can be reused across reports. (source) | Basic modeling Some modeling capabilities exist (like calculated fields or joins). (source) | Robust modeling Robust modeling layer that supports joins, DAX, calculated tables, etc. (source) | |
| ✅ Code-based definition & querying languages (AMQL) Designed natively for 'analytics as code' workflow. Define models and dashboards using code, enabling components to be parameterized and reused. (source) | ✅ Code-based definition language (LookML) Enables defining centralized, modular data logic that can be reused across reports. (source) | Not supported No code-based definition language | Supported via TMDL format An object model definition syntax for tabular data models at compatibility level 1200 or higher. (source) | Not supported. Product not designed to support code-based definition natively. Workaround using Serialization. (source) |
| ✅ Native Git integration Support Git version control for both dashboards and models. (source) | ✅ Git-based Version Control Git-based version control for data models, proprietary dashboard versioning. (source) | Limited Version Control Non-Git based version control. Properitaty dashboard versioning. (source) | No native Git integration No native Git integration. But new text-based format (TMDL) makes it easy for developers to set up manual integration with Git version control. (source) | No native version control Proprietary. Allows one-way Git-based version control through Serialization, available starting with the Pro Plan. (source) |
This is an interesting topic with no straightforward answer. There are a lot of factors involved with a decision like this:
There are open source tools that work well, but the setup and support might require a lot more engineering on your end. PowerBI is popular but a pain to use on macOS. Tableau/Looker/etc offer user control and embedded functionality built into their software, but the cost of user licenses can get very expensive depending on how many customers you have.
You might want to take a look at Holistics.io. It's a cloud-hosted, SQL-first BI platform with strong support for version control (Git) and a software dev workflow (CI/CD, dev/prod environments). The platform is highly programmable, and we offer pixel-perfect dashboards for precise reporting.
We also have usage-based pricing (not user-based) and built-in email/Slack report scheduling. If you're considering alternatives to PBI or Qlik Sense, Holistics could be a solid fit for embedded analytics.
Check out the playground: https://hooli.getholistics.com/