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 |
✅ (override) | Subquery requires column alias; uses TOP 1 instead of LIMIT 1 |
cardinality_equality |
✅ | |
equal_rowcount |
✅ (override) | Uses FULL JOIN with explicit ON clause; COALESCE for NULL-safe comparison |
equality |
✅ | |
expression_is_true |
✅ (override) | T-SQL boolean handling differences |
fewer_rows_than |
✅ (override) | Uses FULL JOIN with explicit ON clause; CASE instead of GREATEST() |
mutually_exclusive_ranges |
✅ (override) | T-SQL window function and boolean syntax |
not_accepted_values |
✅ | |
not_constant |
✅ | |
not_empty_string |
✅ (override) | T-SQL string function syntax |
not_null_proportion |
✅ | |
not_null_where |
✅ (override) | T-SQL WHERE clause handling |
recency |
✅ | |
relationships_where |
✅ (override) | T-SQL subquery syntax |
sequential_values |
✅ (override) | T-SQL requires table alias; uses PARTITION BY syntax |
unique_combination_of_columns |
✅ | |
unique_where |
✅ (override) | T-SQL WHERE clause handling |
SQL helpers¶
| Macro | Status | Notes |
|---|---|---|
date_spine |
✅ | |
deduplicate |
✅ (override) | Uses T-SQL ROW_NUMBER() pattern |
generate_series |
✅ (override) | Uses T-SQL generate_series() function |
generate_surrogate_key |
✅ (override) | 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 |
✅ (override) | 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 |
✅ (override) | Uses sys.tables/sys.views system views |
drop_schema_by_name |
✅ (override) | Uses dbt's drop_schema API |
drop_schemas_by_prefixes |
✅ (override) | Iterates schemas using T-SQL system catalog |
get_tables_by_pattern_sql |
✅ (override) | Queries INFORMATION_SCHEMA with T-SQL-compatible pattern matching |