Skip to main content

Set up a Holistics Project

Introduction

In Holistics, a project is a collection of files that defines all the basic components of Holistics Modeling Layer (data models, datasets, relationships) as well as Holistics Reporting Layer (Dashboard, Visualization).

Note

Each Holistics project has an associated Git repository. By default, Holistics manages your project's Git repository for you, but you can also manage it yourself with your own External Git providers.

Project files

project-name (root)
|- models
| |- model-file-1.model.aml
| |- model-file-2.model.aml
| |- model-file-n.model.aml
|- datasets
| |- dataset-file-1.dataset.aml
| |- dataset-file-n.dataset.aml
|- dashboards
| |- dashboard-file-1.page.aml
|- README.md

Typically a project consists of these files:

  • Model files (extension .model.aml) correlates with a native table in your database or a SQL query. Within a model file, Analysts will define all the dimensions, measures that will appear in the UI for users to explore and get insights.
  • Dataset files (extension .dataset.aml) is the collection of related models and how they're linked with each other. Within a dataset file, analysts will decide which models should be included in the dataset for users to explore and build reports.
  • Dashboard files (extension .page.aml) represent a canvas dashboard.

Guide to organize project files

An AML project is just a bunch of .aml files, so technically we can just order them in any ways we want. However, for consistency and ease of navigation, we can follow this structure:

.
|-- data_source
| |-- datasets
| | |-- name_by_team_or_usage
| |-- models
| | |-- name_by_source_applications
| | |-- name_by_usage
| | |-- ...

Explanation:

  • data_source: Models and datasets from different data sources should be separated into different parent folders. `- modelsfolder contains.model.aml` files. It is best to mirror the dbt project structure here.

Let us know what you think about this document :)