카테고리별로 통계 보고서를 받을 수 있나요?

안녕하세요, 여러분. 이전에 이 주제에 대한 논의가 있었는지 찾아보지 못했습니다.

카테고리별로 리포트(페이지뷰, 주제, 게시글)를 생성할 수 있는 방법이 있을까요?

커뮤니티에서 관심을 끌고 있는 새로운 카테고리를 만들었는데, 사람들이 해당 카테고리의 존재를 알게 되면서 시간 경과에 따른 성장 곡선을 확인해 보고 싶습니다.

이것이 가능한가요? 1) 기본 Discourse 리포트 UI를 커스터마이징하거나, 2) 제 측에서 분석 도구를 사용해 API를 통해 Discourse 데이터베이스를 조회하는 방식으로 처리할 수 있을까요?

Data Explorer 플러그인을 확인해 보세요.

이것을 사용하면 SQL 쿼리를 통해 보고서를 생성할 수 있습니다. 아래는 추적하려는 내용을 일부 포착하는 쿼리입니다.

-- [params]
-- date :start_date = 2020-04-01
-- date :end_date = 2020-04-29

SELECT c.id category_id, COUNT(DISTINCT(t.id)) topics, COUNT(p.id) posts, sum(p.like_count) likes, sum(p.reads) reads
FROM categories c
INNER JOIN topics t ON (t.category_id = c.id)
INNER JOIN posts p ON (p.topic_id = t.id AND p.post_type = 1)
WHERE p.created_at BETWEEN :start_date AND :end_date
GROUP BY c.id
ORDER BY COUNT(p.id) DESC

Data Explorer UI를 통해 이러한 보고서를 그룹과 공유할 수 있습니다:

그리고 그룹 페이지에 다음과 같이 표시됩니다:

이 덕분에 정말 감사합니다. 제가 필요했던 내용 그대로였고, 더 많은 쿼리를 실행할 수 있는 것에 대해 더 깊이 파고들게 되었습니다. 주제 내의 답글 수를 가져오기 위해 SELECT 구문에 다음을 추가했습니다.

 sum(t.reply_count) replies,