커뮤니티 여러분, 안녕하세요!
혹시 Data explorer를 사용해 월별 페이지뷰 수를 가져오는 쿼리를 작성해 보신 분이 계신가요?
대시보드에 수동으로 접근하는 것 외에 해당 수치를 가져올 수 있는 다른 프로그래매틱한 방법이 있을까요?
커뮤니티 여러분, 안녕하세요!
혹시 Data explorer를 사용해 월별 페이지뷰 수를 가져오는 쿼리를 작성해 보신 분이 계신가요?
대시보드에 수동으로 접근하는 것 외에 해당 수치를 가져올 수 있는 다른 프로그래매틱한 방법이 있을까요?
Consolidated Pageviews 보고서 뒤에 있는 쿼리입니다. 도움이 되길 바랍니다.
-- [params]
-- date :start_date
-- date :end_date
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN 'Crawlers'
WHEN ar.req_type=7 THEN 'Logged in users'
WHEN ar.req_type=8 THEN 'Anonymous users'
END,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
이 쿼리는 해당 기간 동안의 총 페이지뷰 수를 나열합니다.
-- [params]
-- date :start_date
-- date :end_date
WITH data AS (
SELECT
ar.date,
CASE
WHEN ar.req_type=6 THEN '크롤러'
WHEN ar.req_type=7 THEN '로그인 사용자'
WHEN ar.req_type=8 THEN '익명 사용자'
END AS Pageview,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
)
SELECT Pageview, SUM(views) qtt_views
FROM data
GROUP BY Pageview
완벽해요! 바로 제가 찾던 거였어요.
네, 가능합니다. 이 경우 먼저 날짜 필드의 형식을 조정하고, 그 다음 group by를 조정해야 합니다. 아래는 조정된 쿼리입니다.
-- [params]
-- date :start_date
-- date :end_date
WITH data AS
(SELECT
date_part('month', ar.date) AS month,
date_part('year', ar.date) AS year,
CASE
WHEN ar.req_type=6 THEN 'Crawlers'
WHEN ar.req_type=7 THEN 'Logged in users'
WHEN ar.req_type=8 THEN 'Anonymous users'
END AS pageview,
ar.count AS views
FROM application_requests ar
WHERE req_type IN (6,7,8)
AND ar.date::date BETWEEN :start_date::date
AND :end_date::date
ORDER BY ar.date ASC, ar.req_type
)
SELECT
month,
year,
sum(views) AS qtt_views
FROM data
GROUP BY year, month
ORDER BY year DESC, month ASC
| month | year | count |
|---|---|---|
| 1 | 2021 | 1000 |
| 2 | 2021 | 500 |
| 1 | 2020 | 1500 |
| 2 | 2020 | 2000 |
| 3 | 2020 | 2500 |
완벽합니다! 도움 주셔서 감사합니다!