ダッシュボードレポート - 統合ページビュー

これは、統合されたページビューのダッシュボードレポートのSQLバージョンです。

このSQLレポートは、Discourseサイトでのログインユーザー、匿名ユーザー、およびクローラーからのページビューの日次カウントを提供します。

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

SELECT
    ar.date::date AS "date",
    SUM(ar.count) AS "Total Views",
    SUM(CASE WHEN ar.req_type=6 THEN ar.count ELSE 0 END) AS "Crawler Views",
    SUM(CASE WHEN ar.req_type=7 THEN ar.count ELSE 0 END) AS "Logged in User Views",
    SUM(CASE WHEN ar.req_type=8 THEN ar.count ELSE 0 END) AS "Anonymous User Views"
FROM application_requests ar
WHERE req_type IN (6,7,8)
    AND ar.date::date BETWEEN :start_date AND :end_date
GROUP BY date
ORDER BY date

SQLクエリの説明

クエリは、フォーラムへのさまざまな種類の要求を記録するapplication_requestsテーブルで動作します。これは、req_type値によって識別される3つの特定の要求タイプに焦点を当てています。

  • 6: クローラービュー
  • 7: ログインユーザービュー
  • 8: 匿名ユーザービュー

クエリが実行する内容のステップバイステップの説明は次のとおりです。

  • パラメータ: クエリは、:start_date:end_dateの2つのパラメータを受け入れ、ユーザーがレポートの日付範囲を指定できるようにします。両方のdateパラメータは、YYYY-MM-DDの日付形式を受け入れます。
  • 選択: クエリは、要求の日付(ar.date)を選択し、それをdateタイプにキャストします。また、指定された範囲内の各日付について、合計ビューとビューの内訳(クローラー、ログインユーザー、匿名ユーザー)を計算します。
  • 合計: 各ビュータイプのcount列を合計します。CASEステートメントは、req_typeに基づいて条件付きで合計にカウントを含めるために使用されます。
  • フィルタリング: WHERE句は、req_type値が6、7、または8であり、日付が指定された:start_date:end_dateの間にあるレコードのみを含めるようにレコードをフィルタリングします。
  • グループ化: クエリは結果を日付でグループ化し、各ビュータイプのカウントが日ごとに集計されるようにします。
  • 並べ替え: 結果は日付で並べ替えられ、トラフィックの時系列ビューが提供されます。

結果例

date Total Views Crawler Views Logged in User Views Anonymous User Views
2023-11-18 5608 3052 565 1928
2023-11-19 9207 6564 470 2273
2023-11-20 6271 2631 1016 2924
「いいね!」 5

@SaraDev 管理ダッシュボードを見ていると、req_type = 13 (page_view_anon_browser) と 15 (page_view_logged_in_browser) が表示されています。これはバグですか?サブのリクエストタイプについて何か説明はありますか?例えば、ログイン済みタイプのどの組み合わせで 705 という数字になるのか分かりません。

「いいね!」 1

application_requestsreq_type フィールドは、Discourse における以下のアプリケーションリクエストタイプに対応します。

  1. http_total
  2. http_2xx
  3. http_background
  4. http_3xx
  5. http_4xx
  6. http_5xx
  7. page_view_crawler
  8. page_view_logged_in
  9. page_view_anon
  10. page_view_logged_in_mobile
  11. page_view_anon_mobile
  12. api
  13. user_api
  14. page_view_anon_browser
  15. page_view_anon_browser_mobile
  16. page_view_logged_in_browser
  17. page_view_logged_in_browser_mobile

この情報は、Data Explorerデータベーステーブルとスキーマ を確認する際にも直接表示されます。

2024年9月に、ページビューの追跡とカウントの方法を改善しました。何が変更されたかの説明はこちら

ダッシュボードに表示されている指標は、新しい「サイトトラフィック」ページビュー追跡方法を使用している可能性が高く、この方法に対応する SQL はこちらで見つけることができます。ダッシュボードレポート - サイトトラフィック

サラ、ありがとうございます。Dashboard Report - Site Traffic のトピックにあるクエリは、13と15の使用方法、および13 + 14 != 8 の理由についての私の質問に答えてくれます。

「いいね!」 1