Skip to main content

We're excited to announce Content Endorsement has been officially launched, a feature that provides your organization a powerful way to mark trusted and reliable content.

The Problem We've Solved​

As analytics content grows across your organization, users often struggle to identify which reports and dashboards are reliable and current. Without clear indicators of content quality and status, teams waste time on outdated materials and lack confidence in their data-driven decisions.

The Solution​

By offering Content Endorsement features, we help data teams mark trusted content. Users can easily identify reliable, recommended content.

Documentation

For more details, please refer to our public docs: Content Endorsement


Introduction

In some scenario, you want to point the dashboards to different data source (database or data warehouse) dynamically, based on who's viewing the report or whether it's in production or dev mode.

Dynamically pointing Holistics to different data sources

Thanks to its programmable nature, Holistics can support this capability natively. This will enable popular use cases such as:

  • Clients Dashboarding: Build the same set of models/datasets/dashboards for clients but different data source for each client underneath.
  • Dev/Prod environment: Dynamically switch the underlying data sources (from dev → prod and vice versa) based on the environment that analysts are working on
  • Dynamic data sources for embedded analytics: Embedded analytics but different customers use different databases.
info

For those of you who separate dev and prod environments based on schema instead of the data source, please refer to our release note about dynamic schemas.

Demo

For more information, please refer to our doc about Dynamic Data Sources


To follow up on the Dynamic Data Sources feature, this is another cool feature that might be useful, dynamic schemas

📊 ​Dynamic Schema for Dev/Prod Environments​

For those of you who separate dev and prod environments based on schema (or datasets in BigQuery) instead of the actual data source, we’ve got you covered with our Dynamic Schema option.

This feature lets you switch schemas easily using basic string interpolation in your model's table_name property.

Here’s a quick example to show how it works:

// This is for dynamic schema use case by branch  

const current_branch = H.git.current_branch

const dynamic_schema =
if (current_branch == 'master') { 'prod' }
else if (current_branch == 'staging') { 'stg' }
else { 'dev' }

// in Table Model
model users {
type: 'table'
data_source_name: 'your_db'

// dynamic schema in table name
table_name: '${dynamic_schema}.users'
}

// in Query Model
model derived_users {
type: 'query'
data_source_name: 'your_db'

// dynamic schema in a query
query: @sql select * from ${dynamic_schema}.users ;;

}


We're excited to announce that our Tagging System is now available on Production.

The Problem We've Solved​

As organizations create more reports and dashboards in Holistics, their analytics environment becomes cluttered and disorganized. Without proper labeling and categorization tools, users struggle to find trustworthy content among hundreds of similar-looking items.

The Solution

Tags help you efficiently categorize the analytics content, allowing users to quickly discover related items through meaningful categories and labels.

Benefits

  • Better organization: Create consistent categorization across your entire analytics environment​
  • Improved content discovery: Quickly find relevant reports and dashboards using tags and filters

Documentation

For more information, please refer to our public docs: Tags


AQL lets analysts build complex metrics much more easily, but learning it takes time. And we know not everyone has that luxury. That’s why we’re building Calculation Builder to let you tap into the full flexibility of AQL, through a point-and-click experience anyone can use.

Why you’ll love it

Zero coding required: Create, customize, compose metrics with just a few clicks.

Calculation Builder - No code required

Popular calculations: Build count, sum, average, running totals, and conditional metrics effortlessly.

Calculation Builder - Popular calculations

Progressive learning: View the generated AQL behind your GUI calculations to gradually learn the language.

Calculation Builder - Learn AQL

Advanced customization: Convert any GUI metric to AQL for further customization when needed.

Calculation Builder - Advanced customization

Calculation Builder currently supports all basic aggregations (count, sum, average), conditional aggregations (count if, sum if), running totals, and more - all through a simple point-and-click interface.

Share your feedback

Calculation Builder is currently in beta. We’re still polishing things up, so some behaviors or options may evolve. Your feedback is incredibly valuable - let us know what works, what doesn’t, or what you’d love to see next!

More calculations are coming up soon.


We’re excited to introduce some fresh functions to enhance your data manipulation. Check them out!

Aggregation Functions

  • corr: corr(table, field1, field2) — Pearson correlation coefficient.
  • string_agg: string_agg(expression, sep: separator) — Concatenate expression values.
  • percentile_cont: percentile_cont(expression, percentile) — Value at a given percentile (interpolated).
  • percentile_disc: percentile_disc(expression, percentile) — Value at a specific percentile (discrete).
  • min_by: min_by(table, value, by) — Fetch value from the row with minimum in another field.
  • max_by: max_by(table, value, by) — Grab value from the row with maximum in another field.

Time Intelligence Functions

  • date_format: date_format(datetime, format) — Format dates easily.
  • from_unixtime: from_unixtime(number) — Convert Unix timestamp to datetime.
  • last_day: last_day(datetime, date_part) — Get the last day of a period.

Text Functions

  • find: find(text, substring) — Locate a substring.
  • left/right/mid: left(text, length), right(text, length), mid(text, start, length) — Extract from left, right, or mid.
  • len/lpad/rpad: len(text), lpad(text, length, pad_string), rpad(text, length, pad_string) — Length, left/right padding.
  • lower/upper: lower(text), upper(text) — Change case of text.
  • trim/ltrim/rtrim: trim(text), ltrim(text), rtrim(text) — Remove whitespace from sides.
  • regexp_extract/match/replace: regexp_extract(text, regex, ...), regexp_match(text, regex), regexp_replace(text, regex, substitute) — Regex operations on text.
  • replace: replace(text, old_substring, new_substring) — Replace all occurrences of a substring.
  • split_part: split_part(text, delimiter, part_number) — Split text and return a specific part.

Window Functions

  • first_value: first_value(expression) — Value from the first row.
  • last_value: last_value(expression) — Value from the last row.
  • nth_value: nth_value(expression, N) — Value from the nth row.
  • ntile: ntile(n) — Divides rows into ranked groups.
  • percent_rank: percent_rank() — Calculates the relative percentile rank of a value.

Learn more: You can see all AQL functions in our cheatsheet.

Got questions or feedback? We’d love to hear from you! Your input helps us make Holistics better every day. 😊


Your users want more than static charts: they expect to explore, filter, and build. But embedding full BI into your app means weeks of work: auth flows, permissions, versioning, dashboard builders, and visualization plumbing.

Basic embedding doesn’t cut it either. The moment users try to filter, customize, or dig deeper, they hit a wall.

That’s why we built Embed Portal, which allows developers to add a full-featured BI experience directly into their product. You can finally give customers their own space to explore data, create dashboards, and self-serve, all without ever leaving your app.
  • Embed a full BI app: Users get a personalized, on-brand environment for exploration, authoring, and dashboard management.
  • Self-service UI for end-users: Let users create and edit dashboards with row-level access control.
  • Plan-based access: Control data and feature access by subscription tier.
  • Build and deploy as code: Manage embed portals in Git, just like the rest of your infrastructure, with versioning and preview support.

Learn more about this feature here: Embed Portal | Bring Self-Service Analytics to Your Customers

Closed Beta

Embed Portal is currently in closed beta. You can request Beta access and try it out.


We’re introducing a simpler, faster way to explore data in Holistics, without the need to write code, tap an analyst on the shoulder, or even build charts by dragging and dropping. You just need to chat with Holistics AI.

Built on top of our governed semantic layer and metric-first query language, Holistics AI is designed to help teams explore data and build charts through natural language, all while staying grounded in trusted, curated datasets.

Holistics AI is currently in development. If you’d like early access and want to help shape how it evolves, you can join the waitlist here.

Here’s a quick look at how it works in action.

What You Can Do With Holistics AI

  • Explore Data (With Thinking): This mode helps you work through complex questions by thinking step-by-step. Holistics AI dynamically builds the logic and fields it needs to answer the data questions.
  • Explore Data (Basic Mode): For simpler use cases, Basic mode gives you a fast, code-free way to build visualizations. Just type your question and let Holistics AI pick the fields without needing to drag and drop components or write a single line of SQL.
  • Search Docs: Search Docs lets you quickly search and browse documentation without leaving Holistics, so you don’t have to hunt through shared folders or ask your team for links.

TL,DR: What Holistics AI Can Do

Here’s a quick look at what Holistics AI can do in this upcoming Alpha release:

  • Listing: “List all products launched in the last quarter”
  • Filtering: “Show transactions over $1000 from new customers”
  • Top/Bottom N: “What are our top 5 performing stores by revenue?”
  • Metric calculations: “Calculate average order value by customer segment”
  • Aggregation and breakdown: “Break down sales by category and region”
  • Percent of Total: “What percentage of total revenue comes from each product line?”
  • Period Comparison: “Compare this month’s sales to the same month last year”

What’s Coming Next

Here’s a glimpse of what’s on the way:

  • Customize Chart: Make quick adjustments using natural language.
  • Explain Chart: Understand trends and patterns through auto-generated insights. We’re building these features to give you more flexibility and clarity as you explore your data.

Want Early Access?

Holistics AI is in its alpha phase, which means it’s still evolving, and your feedback really matters. It’s already starting to open up new ways to work with data, and we’d love for you to be part of the journey.

If you’re interested in trying it out and helping shape what comes next, join the waitlist and we’ll be in touch.

⚡⚡⚡ Want the full story? Dive into our announcement blog post for all the details! Or read our docs to learn more.


We’re excited to announce that our integration with MotherDuck is now available, allowing you to combine the robust, scalable data processing power of MotherDuck with Holistics’ governed self-service platform.

For more information, check out our docs here.