Skip to content

Commit 9b9fe13

Browse files
committed
Support dbt 1.7 metric filter format
Signed-off-by: Wei-Chun, Chang <[email protected]>
1 parent ad3ce42 commit 9b9fe13

File tree

1 file changed

+29
-10
lines changed

1 file changed

+29
-10
lines changed

piperider_cli/dbtutil.py

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -468,20 +468,39 @@ def _create_metric(name, filter=None, alias=None, root_name=None):
468468
primary_entity = None
469469
metric_filter = []
470470
if metric.get('filter') is not None:
471-
f = get_metric_filter(root_name, metric.get('filter'))
472-
if f is not None:
473-
metric_filter.append(f)
471+
# in dbt 1.7, there's an additional layer of 'where_filters'
472+
if 'where_filters' in metric.get('filter'):
473+
for where_filter in metric.get('filter').get('where_filters', []):
474+
f = get_metric_filter(root_name, where_filter)
475+
if f is not None:
476+
metric_filter.append(f)
477+
else:
478+
statistics.add_field_one('nosupport')
479+
return None
474480
else:
475-
statistics.add_field_one('nosupport')
476-
return None
481+
f = get_metric_filter(root_name, metric.get('filter'))
482+
if f is not None:
483+
metric_filter.append(f)
484+
else:
485+
statistics.add_field_one('nosupport')
486+
return None
477487

478488
if filter is not None:
479-
f = get_metric_filter(root_name, filter)
480-
if f is not None:
481-
metric_filter.append(f)
489+
if 'where_filters' in filter:
490+
for where_filter in filter.get('where_filters', []):
491+
f = get_metric_filter(root_name, where_filter)
492+
if f is not None:
493+
metric_filter.append(f)
494+
else:
495+
statistics.add_field_one('nosupport')
496+
return None
482497
else:
483-
statistics.add_field_one('nosupport')
484-
return None
498+
f = get_metric_filter(root_name, filter)
499+
if f is not None:
500+
metric_filter.append(f)
501+
else:
502+
statistics.add_field_one('nosupport')
503+
return None
485504

486505
nodes = metric.get('depends_on').get('nodes', [])
487506
depends_on = nodes[0]

0 commit comments

Comments
 (0)