PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách tạo Tổng thời gian chạy vòng quay

Biết được tổng số lượt truy cập hoặc người dùng hoặc hoạt động đang chạy trong một khoảng thời gian luân phiên là một cách hay để phân tích hiệu suất trang web hoặc ứng dụng của bạn. Cụm từ tìm kiếm “Báo cáo luân chuyển 12 tháng” có hơn 12 triệu kết quả tìm kiếm và các chuyên gia tin rằng báo cáo luân chuyển là một trong những cách tốt nhất để hiển thị xu hướng. Thay thế khoảng thời gian của bạn cho chế độ xem hàng năm hoặc 12 tháng, tùy thuộc vào trường hợp sử dụng của bạn, cũng rất sâu sắc.

Ví dụ:phân tích xu hướng khách truy cập trang web hàng ngày trong khoảng thời gian sáu tháng có thể hiển thị thông tin có giá trị, nhưng nó không hiển thị xu hướng trong khoảng thời gian nhỏ hơn trong phạm vi của biểu đồ. Nó sẽ chỉ hiển thị xu hướng tổng thể.

Nếu bạn đang tìm kiếm thông tin chi tiết để xác định các giai đoạn tăng trưởng hoặc suy giảm, phân tích xu hướng luân phiên có thể giúp bạn xác định các giai đoạn này. Biểu đồ bên dưới cho thấy cùng một dữ liệu đã thấy ở trên, được sắp xếp theo khoảng thời gian hàng ngày, ở định dạng xu hướng 7 Ngày luân phiên.

Với Chế độ xem luân chuyển khoảng thời gian 7 ngày này, bạn có thể thấy nhiều hơn chỉ là xu hướng tổng thể được thấy trong biểu đồ đường tổng thể hàng ngày. Tại đây, bạn có thể thấy các xu hướng vi mô trong trải nghiệm tổng thể có thể tiết lộ nhiều thông tin sâu sắc hơn cho tổ chức của bạn. Trong ví dụ của chúng tôi ở đây, chúng tôi có thể thấy xu hướng tổng thể của khách truy cập theo ngày là tăng trong biểu đồ đầu tiên của chúng tôi, nhưng thứ hai của chúng tôi cho thấy 7 giai đoạn liên tiếp trong xu hướng tổng thể của chúng tôi có hướng đi xuống. Loại thông tin chi tiết này có thể giúp chúng tôi xác định các giai đoạn xu hướng giảm có thể trùng khớp với các nỗ lực tiếp thị có hiệu quả hoặc không.

Truy vấn

Để tạo truy vấn này, chúng tôi sẽ muốn biết một số điều:

  1. Khoảng thời gian luân phiên. Ví dụ 12 tháng, 30 ngày hoặc 7 ngày. Trong trường hợp của chúng tôi:7 ngày.
  2. Chỉ số chúng tôi đang phân tích:khách truy cập mỗi ngày.

Truy vấn sẽ bao gồm các truy vấn con khác nhau. Đầu tiên, sử dụng create_series để chỉ định các hàng trong bảng cho tất cả các ngày trong khoảng thời gian ngày từ đầu đến cuối khoảng thời gian ngày trong cột tourist.create_date, cột này sẽ được gọi trong câu lệnh SELECT chính. Truy vấn con này sẽ đóng vai trò là bảng mà chúng tôi sẽ chọn từ đó.

Truy vấn phụ thứ hai sẽ xuất hiện trong phần chính và trả về tổng số tất cả các khách truy cập đã truy cập trang web của chúng tôi trong khoảng thời gian 7 ngày. Truy vấn phụ này sẽ đóng vai trò là cột riêng của nó trong truy vấn chính và sẽ tính những khách truy cập khác nhau từ “ngày” đến 7 ngày trước “ngày”.

Kết hợp tất cả lại với nhau, chúng tôi có thể tạo ra xu hướng luân phiên về Số lượng khách truy cập mỗi ngày trong khoảng thời gian 7 ngày:

    SELECT
        day,
        (
          SELECT
              COUNT(DISTINCT "Visitors"."visitor_id") AS "Visitors"
          FROM
              "public"."visitors" AS "Visitors"
          WHERE  
              "Visitors"."created_date" BETWEEN b.day - 7 AND b.day + 1
        )
    FROM  (SELECT
            generate_series(
                            MIN(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
                            MAX(DATE_TRUNC('day', "Visitors"."created_date")::DATE),
                            '1d')::date as day
            FROM "public"."visitors" AS "Visitors"
          ) as b
    GROUP BY day                        
    ORDER BY day

Kiểm tra toán học. Chúng ta có thể kiểm tra toán học ở đây trong bảng sau. Xem các bước trễ chỉ định 7 ngày trước cho cột Đếm và cột tổng sẽ bằng Cột Khách truy cập.

Với toán học của chúng tôi đã được xác nhận, chúng tôi có thể tin tưởng hàm này cung cấp cho chúng tôi cái nhìn tổng thể về tổng số các giai đoạn luân phiên đang chạy. Truy vấn trên có thể được điều chỉnh để hiển thị các khoảng thời gian khác nhau tùy thuộc vào trường hợp sử dụng của bạn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đặt giá trị trong phần phụ thuộc của biểu đồ Helm

  2. Giao dịch tự trị trong PostgreSQL 9.1

  3. PostgreSQL Tạo cơ sở dữ liệu

  4. Cốt lõi của Entity Framework - Chứa phân biệt chữ hoa chữ thường hay không phân biệt chữ hoa chữ thường?

  5. Có cách nào để đặt thời gian hết hạn, sau đó mục nhập dữ liệu sẽ tự động bị xóa trong PostgreSQL không?