From 35e479c0fe0bb6ca0b24a8e3c14cd91a37754e8e Mon Sep 17 00:00:00 2001 From: wuaho Date: Tue, 24 Aug 2021 17:52:48 +0800 Subject: [PATCH] 1 --- models/behavior_analysis.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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'),