为了监控我的用户数据,我想在群组分析中可视化我的数据。假设我的数据库中有以下表格:
表:track_register
user_id,日期,时间
在下表中:
表:track_login
user_id,日期,时间,成功
我希望我的队列分析看起来像:
月份签名Ups多了一次 可40 80%
我正在使用Cyfe对此进行可视化,因此必须将数据格式化为如下表格:
月份,签约次数增加一次
2015年5月40,32
2015年6月,6,5,5
(对于cyfe示例click here)
最终,我想从其他表格中向群组添加更多数据,例如实际购买产品的用户百分比以及更多优质内容。
第一组数据(每月注册)不是困难的部分。但我正在努力的是如何从轨道登录表中获取数据。我将不得不计算特定用户所拥有的次数,如果那是> 1然后+1。我可以想象你使用CASE。麻烦的是用正确的蛾把它分开。因为de +1应该去的飞蛾需要从track_register表中获取。
对我来说,将这一切都放在一个查询中似乎很难?但如果无法做到,为什么要去建立一个关于cyfe的队列分析?
答案 0 :(得分:0)
嗨DATE因为字段名称受到限制所以我使用了DATA。
您可以尝试以下代码:
SELECT TO_CHAR(NVL(a.data, b.data), 'MON YYYY') months
, COUNT(DISTINCT a.login) sign_ups
, SUM(CASE WHEN COUNT(DISTINCT b.login) > 1 THEN 1 ELSE 0 END) Loged_in_more_then_once
FROM track_register a LEFT JOIN track_login b ON a.login = b.login
GROUP BY TO_CHAR(NVL(a.data, b.data), 'MON YYYY')
ORDER BY 1
或者:
SELECT TO_CHAR(NVL(a.data, b.data), 'MON YYYY') months
, COUNT(DISTINCT a.login) sign_ups
, SUM(CASE WHEN COUNT(DISTINCT b.login) > 1 THEN 1 ELSE 0 END) Loged_in_more_then_once
FROM track_register a LEFT JOIN track_login b
ON a.login = b.login AND LAST_DAY(a.data) = LAST_DAY(b.data)
GROUP BY TO_CHAR(NVL(a.data, b.data), 'MON YYYY')
ORDER BY 1