仪表板报告 - 日活跃用户

这是每日活跃用户仪表板报告的 SQL 版本。

SQL 报告将计算每天在网站上点赞或发帖的独立用户数量。

--[params]
-- date :start_date
-- date :end_date

SELECT 
  ua.created_at::date AS day,
  COUNT(DISTINCT ua.user_id) AS engaged_users
FROM user_actions ua
INNER JOIN topics t on t.id = ua.target_topic_id
WHERE ua.created_at::date BETWEEN :start_date AND :end_date
    AND ua.action_type IN (1, 4, 5, 12)
GROUP BY ua.created_at::date
ORDER BY ua.created_at::date ASC 

查询细分:

  • 日期参数:查询接受两个日期参数 :start_date:end_date,允许您指定报告的范围。
  • 选择:它选择操作的日期(ua.created_at::date)并计算执行操作的独立用户 ID(COUNT(DISTINCT ua.user_id)),将此计数别名为 engaged_users
  • 数据源:查询从 user_actions 表(ua)中提取数据,并将其与 topics 表(t)连接,以关注与主题相关的操作。
  • 操作类型:它将操作筛选为仅包含类型为 1、4、5 和 12 的操作。这些操作类型对应于以下特定活动:
    • 1: 点赞
    • 4: 新主题
    • 15: 回复
    • 12: 新私信
  • 分组和排序:结果按操作日期分组并按升序排序,为您提供活动的时间顺序视图。

示例结果

day engaged_users
2023-01-01 136
2023-01-02 124
2023-01-03 187
2023-01-04 287
2023-01-05 110
2023-01-06 95
2023-01-07 73
5 个赞

这很有趣,当您看到它被展示出来时。也许可以有一个包含反应和投票(民意调查、主题投票、帖子投票——甚至帖子投票评论)的版本。:thinking:

2 个赞