Skip to main content

Development Workflow

Introduction

Building analytics in Holistics follows a structured workflow that transforms raw database tables into meaningful dashboards and reports. This workflow cleanly separates development from production, allowing you to iterate safely without affecting your end users.

The journey progresses through three layers:

LayerWhat You BuildPurpose
Data SourcesDatabase connectionsConnect to your data warehouses
ModelingData models, datasetsDefine business logic and relationships
ReportingExplorations, ad-hoc reports, dashboardsVisualize and share insights

Workflow Diagram

This guide walks you through each step of the development workflow:

  1. Connect to a Database
  2. Enable Development Mode
  3. Develop Data Models
  4. Develop Datasets
  5. Develop Dashboards
  6. Commit Changes & Publish
  7. Explore Data & Build Reports

1. Connect to a Database

Your database connection is the foundation of everything in Holistics. All data models, datasets, and reports build on top of the tables in your connected data warehouse.

info

For detailed setup instructions, see Connect to a Database.

Before you can start modeling, make sure you have connected to at least one database. Holistics supports a wide range of databases including PostgreSQL, MySQL, BigQuery, Snowflake, and more.

2. Enable Development Mode

The Development/Production separation is what makes it safe to iterate on your analytics. In Development Mode, you can freely modify models, datasets, and dashboards without affecting the reports your end users are viewing in Production.

info

For more details on the two modes, see Mode & Deployment.

To enable Development Mode, navigate to the Development workspace and click the toggle to switch from Production Mode to Development Mode.

3. Develop Data Models

Data models are abstract representations of your database tables. They let you define business logic, add calculated fields, and enrich raw data with metadata, all without modifying the underlying database.

info

For detailed instructions, see Data Models and AML Model syntax.

Holistics supports two types of data models:

Model TypeDescriptionUse Case
Table ModelMaps directly to an existing database tableWhen you want to expose a table as-is with added metadata
Query ModelDefined by custom SQL that selects from tables or other modelsWhen you need to clean up data, perform calculations, or define reusable business logic in SQL

You can create models using either the visual GUI or by writing AML code directly in the Development workspace.

Creating a Table Model:

Creating a Query Model:

4. Develop Datasets

Datasets connect your data models together with relationships, making them available for exploration. Think of a dataset as a curated collection of related models that business users can query without writing SQL.

info

For detailed instructions, see Datasets and AML Dataset syntax.

A dataset includes:

  • Models: The data models included in the dataset
  • Relationships: How models connect to each other (e.g., orders.user_id > users.id)

In Holistics, you can design your dataset following proven modeling patterns like star schema, galaxy schema, or snowflake schema depending on your analytical needs.

Once published, datasets appear in the Reporting tab where users can explore them with a drag-and-drop interface.

5. Develop Dashboards

Dashboards bring your data to life with visualizations, filters, and interactive controls. In Holistics, dashboards are defined using AML code, giving you full control over layout, interactions, and styling with the benefits of version control and reusability.

info

For detailed instructions, see Canvas Dashboard and AML Dashboard syntax.

A dashboard consists of:

  • Blocks: Visual components like charts (VizBlock), text (TextBlock), filters (FilterBlock), and date drills (DateDrillBlock)
  • Interactions: Define how blocks interact with each other (e.g., filters affecting charts)
  • Views: Control the layout and positioning of blocks on the canvas
  • Settings: Configure timezone, caching, and other dashboard-level options

To create a dashboard, add a new file with the extension .page.aml (e.g., my_dashboard.page.aml) in the Development workspace.

6. Commit changes and Publish

This is where your work moves from development to production. Publishing makes your models, datasets, and dashboards available to end users in the Reporting tab.

Commit changes

info

This step is necessary only if you're using Holistics Git Flow. Otherwise, skip directly to Publish.

If you've connected an external Git repository, commit your changes before publishing. Click Commit changes & Push, update the commit message if needed, and then Commit and push.

Publish

Click Publish to deploy your changes to production. Your datasets and dashboards will now be available in the Reporting tab.

7. Explore Data & Build Reports

Your data is now ready for exploration. After publishing, your datasets appear in the Reporting tab where you and your team can start discovering insights.

With published datasets, users can:

  • Explore with drag-and-drop: Select dimensions and measures, apply filters, and visualize data without writing SQL
  • Create visualizations: Build charts, tables, and other visualizations from your curated datasets
  • Save to dashboards: Capture meaningful explorations and add them to dashboards for ongoing monitoring
info

To learn more about what you can do with your data, see:

FAQs

What happens if my modeling changes break existing dashboards and reports?

When you modify models or datasets, downstream dashboards and reports may be affected:

  • Dashboards in Public workspace: You'll need to fix errors before publishing. This ensures shared content remains functional for all users.
  • Dashboards in Personal workspace: You can still publish, but you'll receive a notification about which personal dashboards are broken.
Notification showing a list of broken personal dashboards after publishing changes.

The broken dashboard in Personal workspace will look like this in Reporting:

Example of a broken dashboard in the Personal workspace, showing an error message.
info

Personal Canvas dashboards can only be viewed and edited in Reporting, not in Development. If you need to fix a broken personal dashboard, contact [email protected].

We're considering adding support for personal Canvas dashboards in Development in the future.


Let us know what you think about this document :)