Skip to main content

Exposure properties

Overview

Exposures are defined in properties.yml files nested under an exposures: key. You may define exposures in YAML files that also define sources or models. Exposure properties are "special properties" in that you can't configure them in the dbt_project.yml file or using config() blocks. Refer to Configs and properties for more info.

You can name these files whatever_you_want.yml, and nest them arbitrarily deeply in subfolders within the models/ directory.

Exposure names must contain only letters, numbers, and underscores (no spaces or special characters). For a short human-friendly name with title casing, spaces, and special characters, use the label property.

models/<filename>.yml
version: 2

exposures:
- name: <string_with_underscores>
description: <markdown_string>
type: {dashboard, notebook, analysis, ml, application}
url: <string>
maturity: {high, medium, low} # Indicates level of confidence or stability in the exposure
tags: [<string>]
meta: {<dictionary>}
owner:
name: <string>
email: <string>

depends_on:
- ref('model')
- ref('seed')
- source('name', 'table')
- metric('metric_name')

label: "Human-Friendly Name for this Exposure!"
config:
enabled: true | false

- name: ... # declare properties of additional exposures

Example

models/jaffle/exposures.yml
version: 2

exposures:

- name: weekly_jaffle_metrics
label: Jaffles by the Week # optional
type: dashboard # required
maturity: high # optional
url: https://bi.tool/dashboards/1 # optional
description: > # optional
Did someone say "exponential growth"?

depends_on: # expected
- ref('fct_orders')
- ref('dim_customers')
- source('gsheets', 'goals')
- metric('count_orders')

owner:
name: Callum McData
email: data@jaffleshop.com



- name: jaffle_recommender
maturity: medium
type: ml
url: https://jupyter.org/mycoolalg
description: >
Deep learning to power personalized "Discover Sandwiches Weekly"

depends_on:
- ref('fct_orders')

owner:
name: Data Science Drew
email: data@jaffleshop.com


- name: jaffle_wrapped
type: application
description: Tell users about their favorite jaffles of the year
depends_on: [ ref('fct_orders') ]
owner: { email: summer-intern@jaffleshop.com }
0