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.