From f6cc400ffddf8ed40dd6200cb06fac7b56a533a4 Mon Sep 17 00:00:00 2001 From: nannietor Date: Wed, 31 Jan 2024 23:19:13 +0000 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=A3o=20vari=C3=A1veis=20de=20chur?= =?UTF-8?q?n=20e=20cria=20flSub?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit calcula se assinatura está ativa a partir da data ref e não de flAtiva --- src/feature_store/sales.sql | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/feature_store/sales.sql b/src/feature_store/sales.sql index 7b71bc6..19b624c 100644 --- a/src/feature_store/sales.sql +++ b/src/feature_store/sales.sql @@ -14,15 +14,16 @@ WHERE idMedalha IN (1, 3) GROUP BY idJogador) SELECT a.idJogador, + CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao AND '{date}' > a.DtCriacao) THEN 1 ELSE 0 END AS flSubAtivo, sum(CASE WHEN b.idMedalha IN (1, 3) THEN 1 ELSE 0 END) AS qtdAssinaturas, sum(CASE WHEN b.idMedalha IN (1, 3) THEN 1 ELSE 0 END)/12 AS qtdAssinaturasMes, sum(CASE WHEN b.idMedalha NOT IN (1, 3) THEN 1 ELSE 0 END) AS qtdMedalhas, sum(CASE WHEN b.idMedalha NOT IN (1, 3) THEN 1 ELSE 0 END)/12 AS qtdMedalhasMes, - sum(CASE WHEN (b.idMedalha IN (1, 3) AND a.flAtiva=0) THEN 1 ELSE 0 END) AS qtdChurn, - sum(CASE WHEN (b.idMedalha IN (1, 3) AND a.flAtiva=0) THEN 1 ELSE 0 END)/12 AS qtdChurnMes, - DATEDIFF(current_date(), MIN(CASE WHEN b.idMedalha IN (1, 3) THEN dtCriacao END)) AS daysSinceFirstSub + sum(CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao) THEN 1 ELSE 0 END) AS qtdChurn, + sum(CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao) THEN 1 ELSE 0 END)/12 AS qtdChurnMes, + DATEDIFF('{date}', MIN(CASE WHEN b.idMedalha IN (1, 3) THEN dtCriacao END)) AS daysSinceFirstSub FROM tb_medalhas as a LEFT JOIN silver.gamersclub.medalhas as b INNER JOIN first_subscription as c ON a.idMedalha=b.idMedalha and a.idJogador=c.idJogador -GROUP BY a.idJogador \ No newline at end of file +GROUP BY 1, 2 \ No newline at end of file