dbt-utils¶
Tested version: 1.3.3 | Integration tested: Yes
dbt-utils is the most widely used dbt community package, providing generic tests, SQL helpers, and schema management utilities.
Dispatch configuration¶
Macro compatibility¶
Legend: = supported on Fabric,
= not supported on Fabric
Macros marked with (override) have a T-SQL-compatible override in this adapter. All other supported macros work without any adapter-specific override.
Generic tests¶
| Macro | Status | Notes |
|---|---|---|
accepted_range |
||
at_least_one |
Subquery requires column alias; uses TOP 1 instead of LIMIT 1 |
|
cardinality_equality |
||
equal_rowcount |
Uses FULL JOIN with explicit ON clause; COALESCE for NULL-safe comparison |
|
equality |
||
expression_is_true |
T-SQL boolean handling differences | |
fewer_rows_than |
Uses FULL JOIN with explicit ON clause; CASE instead of GREATEST() |
|
mutually_exclusive_ranges |
T-SQL window function and boolean syntax | |
not_accepted_values |
||
not_constant |
||
not_empty_string |
T-SQL string function syntax | |
not_null_proportion |
||
not_null_where |
T-SQL WHERE clause handling |
|
recency |
||
relationships_where |
T-SQL subquery syntax | |
sequential_values |
T-SQL requires table alias; uses PARTITION BY syntax |
|
unique_combination_of_columns |
||
unique_where |
T-SQL WHERE clause handling |
SQL helpers¶
| Macro | Status | Notes |
|---|---|---|
date_spine |
||
deduplicate |
Uses T-SQL ROW_NUMBER() pattern |
|
generate_series |
Uses T-SQL generate_series() function |
|
generate_surrogate_key |
Uses HASHBYTES('md5', ...) with T-SQL concat and cast |
|
get_column_values |
||
get_filtered_columns_in_relation |
||
get_query_results_as_dict |
||
get_relations_by_pattern |
||
get_relations_by_prefix |
||
get_single_value |
||
group_by |
T-SQL does not support positional GROUP BY (e.g., GROUP BY 1, 2) |
|
haversine_distance |
||
nullcheck |
||
nullcheck_table |
||
pivot |
||
safe_add |
||
safe_divide |
||
safe_subtract |
||
star |
||
union_relations |
||
unpivot |
||
width_bucket |
Implements bucket logic with T-SQL arithmetic (no native WIDTH_BUCKET) |
Web macros¶
| Macro | Status | Notes |
|---|---|---|
get_url_host |
||
get_url_parameter |
||
get_url_path |
Jinja helpers¶
| Macro | Status | Notes |
|---|---|---|
log_info |
||
pretty_log_format |
||
pretty_time |
||
slugify |
Schema cleanup (internal)¶
These macros are used for schema management, not typically called directly in models:
| Macro | Status | Notes |
|---|---|---|
drop_old_relations |
Uses sys.tables/sys.views system views |
|
drop_schema_by_name |
Uses dbt's drop_schema API |
|
drop_schemas_by_prefixes |
Iterates schemas using T-SQL system catalog | |
get_tables_by_pattern_sql |
Queries INFORMATION_SCHEMA with T-SQL-compatible pattern matching |