Using MetricFlow with dbt metrics
Metricflow now integrates with dbt metrics! Metricflow will parse your dbt project, and translate the result into a Metricflow model. You can then query your metrics in any supported Metricflow interface.
Setting up the integration with MetricFlow
- 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}
To install metricflow for use with dbt you do the following
pip install "metricflow[your-dbt-adaptor]"
, replacing theyour-dbt-adaptor
variable with whatever supported data warehouse you use (currently dbt-snowflake, dbt-redshift, dbt-postgres , and dbt-bigquery)In your .metricflow/confg.yml, the key
model_path
should point to your dbt project directory. Add the additonal keydbt_repo: "true"
After this is done, all other MetricFlow commands, $ mf command options
, should work as normal but now from your dbt metrics! 🎉
For example, you can query the salesforce_opportunities
metric with the following command
mf query --metrics salesforce_opportunities --dimensions metric_time