diff --git a/models/behavior_analysis.py b/models/behavior_analysis.py index f76aa72..fd10032 100644 --- a/models/behavior_analysis.py +++ b/models/behavior_analysis.py @@ -178,11 +178,9 @@ class BehaviorAnalysis: event_filter = [] # filters = (*self.global_filters, *ext_filters) if g_f else (*ext_filters,) filters = [] + filters.extend(ext_filters) if g_f: filters.extend(self.global_filters) - filters.extend(ext_filters) - else: - filters.extend(self.global_filters) # filters = [] if filters == ([],) else filters for item in filters: @@ -235,10 +233,13 @@ class BehaviorAnalysis: if visit_name: who_visit = getattr(self.event_tbl.c, visit_name) + filters, _ = self.handler_filts(*self.events[0].get('filts'), g_f=False) selectd = [func.toStartOfDay(func.addHours(event_time_col, self.zone_time)).label('date'), *self.groupby, func.arrayDistinct( - (func.groupArray(func.if_(event_name_col == event_name_a, who_visit, None)))).label('val_a'), + (func.groupArray( + func.if_(func.and_(event_name_col == event_name_a, *filters), who_visit, None)))).label( + 'val_a'), func.length(sa.Column('val_a')).label('amount_a'), func.length(sa.Column('val_b')).label('amount_b'),