Selector Methods
Selector methods in dbt allow you to filter resources based on specific properties using the method:value syntax. This gives you the power to target exactly what you need during your data transformations.

Wildcard Magic
Most selector methods support Unix-style wildcards, which can help you target a broader set of resources:
*: Matches any number of characters (including none)?: Matches any single character[abc]: Matches one character listed in the bracket[a-z]: Matches one character from the specified range in the bracket
For example:
dbt list --select "*.folder_name.*"
dbt list --select "model_[a-z].sql"The Selectors
Tag Selector
Use tag: to select models with a specific tag.
dbt run --select "tag:hourly"Source Selector
Use source: to select models that reference a specified source.
dbt run --select "source:fivetran+"Resource Type Selector
Use resource_type: to select nodes of a specific type (e.g., model, test, exposure).
dbt run --select "resource_type:exposure"
dbt list --select "resource_type:test"Path Selector
Use path: to select models/sources defined at or under a specific path.
dbt run --select "path:models/marts"
dbt run --select "path:models/marts/customers.sql"File Selector
Use file: to select a model by filename.
dbt run --select "file:model_name.sql"FQN (Fully Qualified Name) Selector
Use fqn: to select nodes based on their fully qualified name.
dbt run --select "fqn:example_model"
dbt run --select "fqn:project_name.example_path.example_model"Package Selector
Use package: to select models defined within the root project or an installed dbt package.
dbt run --select "package:fivetran"Config Selector
Use config: to select models that match a specified node config.
dbt run --select "config.materialized:table"
dbt run --select "config.cluster_by:zip_code"Test Type Selector
Use test_type: to select tests based on type (generic, singular, unit, data).
dbt test --select "test_type:generic"
dbt test --select "test_type:singular"Test Name Selector
Use test_name: to select tests based on the name of the test defined.
dbt test --select "test_name:not_null"State Selector
Use state: to select nodes by comparing them against a previous version of the project.
dbt test --select "state:new" --state path/to/artifacts
dbt run --select "state:modified" --state path/to/artifactsExposure Selector
Use exposure: to select the parent resources of an exposure.
dbt test --select "exposure:monthly_reports"
dbt run --select "+exposure:*"Metric Selector
Use metric: to select parent resources of a metric.
dbt run --select "+metric:monthly_qualified_leads"Results Selector
Use result: to select resources based on their results status from a previous execution.
dbt run --select "result:success" --state path/to/project/artifacts
dbt test --select "result:warn" --state /path/to/project/artifactsSource Status Selector
Use source_status: to select based on the freshness of sources.
dbt source freshness
dbt build --select "source_status:fresher+" --state path/to/prod/artifactsGroup Selector
Use group: to select models defined within a specified group.
dbt run --select "group:marketing"Access Selector
Use access: to select models based on their access property.
dbt list --select "access:public"Version Selector
Use version: to select versioned models.
dbt list --select "version:old"
dbt list --select "version:latest"Semantic Model Selector
Use semantic_model: to select semantic models.
dbt ls --select "semantic_model:sales"Saved Query Selector
Use saved_query: to select saved queries.
dbt list --select "saved_query:*"Unit Test Selector
Use unit_test: to select dbt unit tests.
dbt list --select "unit_test:*"Pro Tips
Combine selectors for laser-focused selection:
dbt run --select "tag:nightly,config.materialized:table"Use graph operators like
+and@for complex selections:
dbt run --select "source:raw_data+,@tag:critical"Exclude models using the
--excludeflag:
dbt run --select "path:models/mart" --exclude "tag:deprecated"If you omit the method, dbt will default to one of
path,file, orfqn.
Remember, the more targeted your selector methods, the more precisely you can execute your dbt transformations.
Last updated
Was this helpful?