Using Transform with dbt metrics
Transform now integrates with dbt metrics! Transform will parse your dbt project to generate and translate the result into a model. You can then query your metrics in any supported integaration, and in the Transforn UI.
Setting up the integration with Transform
- Configure metrics in your dbt project. For example, we have the metric salesforce_opportunties.
metrics:
- name: salesforce_opportunities
label: Opportunities
model: ref('opportunity_base')
description: "Count of opportunities"
calculation_method: count_distinct
expression: id
timestamp: created_date
time_grains: [day, week, month]
dimensions:
- stage_name
meta: {team: Sales}
- Install transform-tools in your dbt project with
pip install "transform-tools[your-dbt-adapter]"
- Set the usual required
transform-tools
environment variables +IS_DBT_PROJECT="true"
. An example pipleine for Github would be:
name: Validate Configs
on: pull_request
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.8.5' # arbitrarily chosen
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install "transform_tools[your-dbt-adapter]"
#supported adapters dbt-snowfake, dbt-redshift, dbt-postgres, dbt-bigquery
- name: Run validate script
run: python -m transform_tools.validate validate
env:
TRANSFORM_CONFIG_DIR: ${{ secrets.TRANSFORM_CONFIG_DIR }} # TRANSFORM_CONFIG_DIR may be added to repo secrets settings (repo-root is used otherwise)
REPO: ${{ github.repository }}
TRANSFORM_API_KEY: ${{ secrets.TRANSFORM_API_KEY }} # TRANSFORM_API_KEY must be in repo secrets settings
IS_DBT_PROJECT: "true"
- Your metrics should now be available! You can confirm by running a test query like the one below, or by viewing the metric in the Transform UI
mql query --metrics salesforce_opportunities --dimensions metric_time