From e50780e2736e45cf67a328fd0683c196120e4bfe Mon Sep 17 00:00:00 2001 From: haoqiyue <1293971940@qq.com> Date: Fri, 24 Feb 2023 15:53:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BB=98=E8=B4=B9=E8=AE=BE?= =?UTF-8?q?=E5=A4=87=E6=95=B0=E7=89=B9=E6=AE=8A=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- models/behavior_analysis.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/models/behavior_analysis.py b/models/behavior_analysis.py index 341ff45..a37bbc3 100644 --- a/models/behavior_analysis.py +++ b/models/behavior_analysis.py @@ -735,6 +735,25 @@ class BehaviorAnalysis: qry = qry.order_by(sa.Column('values').desc()) qry = qry.limit(100000) sql = str(qry.compile(compile_kwargs={"literal_binds": True})) + # 新增付费设备数单独进行sql处理 + if event_name_display == '新增付费设备数': + if "huixie" in self.game: + check_event = "new_device" + else: + check_event = "create_account" + stat_date = self.start_date + end_date = self.end_date + game = self.game + sql = f""" + select p.date ,round(uniqExact(p."#distinct_id"),2) AS values from + (select toDate(addHours({game}.event."#event_time", 8)) as date,"#distinct_id" from + {game}.event where `#event_name` = 'pay' and addHours({game}.event.`#event_time`, 8) >= '{stat_date}' and addHours({game}.event.`#event_time`, 8) <= '{end_date}' group by date, "#distinct_id") p + inner join + (SELECT toDate(addHours({game}.event."#event_time", 8)) as date,"#distinct_id" FROM {game}.event WHERE + addHours({game}.event."#event_time", 8) >= '{stat_date}' + AND addHours({game}.event."#event_time", 8) <= '{end_date}' + AND {game}.event."#event_name" = '{check_event}' + AND {game}.event.is_new_device = '1') d on p."#distinct_id" = d."#distinct_id" and p.date = d.date group by date """ if event_name_display == '充值总额': sql=sql.replace("""GROUP BY toDate(addHours(huixie.event."#event_time", 8)) ORDER BY date LIMIT 100000""",'',1)