LogoLogo
HomeDocumentation
  • 🐳Using Whaly Guides
  • Core concepts
    • 📚Getting started
      • Data stack architecture
      • Consumers vs Builders
      • Data layers in Whaly
      • License Mapping
    • 🪄Data modeling
      • Understanding data models
      • Designing data models
      • Common modeling patterns
        • Event schema
      • Maintaining data models
      • Data models best practices
    • 🖌️Explorations
      • Understanding Explorations
      • Designing Explorations
      • Maintaining Explorations
      • Mistakes to avoid
  • Training
    • 👁️For viewers
    • 👩‍💻For editors
    • 🧙For builders
      • Setting up the training material
      • Creating a chart
      • Using and editing explorations
      • Filtering a dashboard
      • Creating explorations and models
  • Inspiration
    • 🗒️Use cases
      • Billing / Invoicing
      • Customer success
      • Fundraising
      • Marketing
      • Partnerships
      • Product
      • Sales
      • Strategy
    • 💬Communication
    • 💡Tips
  • Recipes
    • 🤝Customer care
      • How to build a 360° customer dashboard
    • 🏦Finance
      • Modeling your recurring revenue
        • SQL for simplified MRR calculation
        • SQL for advanced MRR calculation
    • 📣Marketing
      • Track your entire Marketing Funnel
      • Calculate your Customer Acquisition Cost
      • Create a partner dashboard
    • 💼Sales
      • Analyze the impact of your Sales velocity on your closing rate
      • Create a sales performance dashboard
      • Build a target oriented sales dashboard
  • Misc
    • 🧐SQL Fanout
    • 📦Backup your data using BigQuery
    • ☁️Embedding reports in Salesforce
    • 👨‍💻Useful SQL operations
      • Flattening categories
Powered by GitBook
On this page
  • How to model data
  • Common modeling operations
  1. Core concepts
  2. Data modeling

Designing data models

PreviousUnderstanding data modelsNextCommon modeling patterns

Last updated 2 years ago

How to model data

Before creating a model, it's always useful to sit down with the people that will consume the explorations built over your model to understand which questions they will want to answer. By doing interview sessions, you will be able to identify :

  • The schema of your model

  • The granularity of your model data

  • The raw data you will use as input for your model

Once you know what your model output should be, you can use Whaly's built-in tools to build your data model :

Flow models

You can think of flow models as a building block interface designed to reshape data. It's useful for data savvy users that need to build models but do not want to rely on a programming language such as SQL in order to do so.

Flow models are easy to get started with, are auditable and easily modifiable. They are a great choice for creating low to medium complexity models.

SQL models

SQL models allow you to go beyond flow capabilities, and offer the full possibility of a proven data programming language. Whaly models uses the SQL flavor of your datawarehouse.

SQL models are a great choice when building complex models.

Whether you use Flow models or SQL models, the tools you will be able to use are the following :

  • Joining or combining data from different data sources

  • Transforming values: renaming columns, filtering data, cleaning values, bucketing values, ...

  • Filtering out data, either and entire line or column

  • Aggregating or ventilating data in order to change the grain

Combining the tools above will give you the ability to easily reshape raw data into a new model that makes sense for your business and your users.

Common modeling operations

When creating data models, we are often doing the following operations:

  • Cleaning, for example removing test values or duplicates.

  • Normalizing data, for example, renaming values to apply a cross data naming convention, making sure data share the same units, ...

  • Combining data, for example merging similar data into a new unique table.

  • Calculating complex values, to simplify the most complex operations or apply your business rules.

  • Creating links between your data model and the rest of the data your will analyze

🪄
LogoFlow ModelsDocumentation
To learn more about Flow models
LogoSQL ModelsDocumentation
To learn more about SQL models