Exposure properties
Related documentation
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