Menu

App script quản lý rủi ro cho cá nhân & doanh nghiệp với báo cáo chuẩn định dạng biểu đồ

Tự động gom nhóm và tính tổng theo giờ trong ngày bằng Power Query

Khúc Uyên Thoa 06/04/2026 21:11 300 lượt xem 2 trả lời

Chào mọi người,

Dạo này mình đang làm việc với dữ liệu log thời gian truy cập của người dùng, và có một yêu cầu khá hay là cần tổng hợp lại số lượng truy cập theo từng giờ trong ngày. Dữ liệu gốc của mình có dạng như sau:

Timestamp, UserID
2023-10-27 08:15:32, UserA
2023-10-27 08:45:10, UserB
2023-10-27 09:05:55, UserA
2023-10-27 09:30:00, UserC
2023-10-27 10:01:15, UserB
...

Mục tiêu là tạo ra một bảng tổng hợp cho biết mỗi giờ trong ngày có bao nhiêu lượt truy cập. Ví dụ:

Hour, Count
08, 2
09, 2
10, 1
...

Ban đầu mình định dùng hàm hoặc pivot table, nhưng với lượng dữ liệu lớn thì hơi chậm. Sau đó mình nghĩ ngay đến Power Query và nó xử lý cực kỳ nhanh chóng.

Cách làm của mình như sau:

  • Bước 1: Load dữ liệu vào Power Query.
  • Bước 2: Chọn cột Timestamp, vào tab Add Column -> Date & Time -> Hour -> Hour. Thao tác này sẽ trích xuất phần giờ từ Timestamp.
  • Bước 3: Chọn cột Hour vừa tạo, vào tab Home -> Group By.
  • Bước 4: Thiết lập Group By như sau:
    • Group by: Hour
    • New column name: Count
    • Operation: Count Rows
  • Bước 5: Đóng và tải kết quả.

Kết quả là mình có ngay bảng tổng hợp theo giờ rất nhanh. Cách này rất hữu ích khi cần phân tích hành vi người dùng theo khung giờ trong ngày. Có anh em nào có cách làm khác hoặc mẹo nào hay hơn thì chia sẻ cho mình với nhé!

5

Hay quá bạn ơi! Cái vụ gom nhóm theo giờ này dùng Power Query đúng là tiện thật. Mình cũng hay gặp dạng dữ liệu log như này.

Mình hay làm bằng cách thêm cột "Hour" riêng biệt từ cột Timestamp, sau đó mới Group By thôi. Cách của bạn có vẻ cũng tương tự, nhưng có thể bạn đang dùng một cách nào đó để gom nhóm trực tiếp mà không cần tạo cột Hour riêng hả? Chia sẻ thêm chút kinh nghiệm cho anh em học hỏi với nhé!

1

Hay quá bạn ơi! Cái vụ gom nhóm theo giờ này dùng Power Query đúng là tiện thật. Mình cũng hay gặp dạng dữ liệu log như này.

Mình hay làm bằng cách thêm cột "Hour" riêng biệt từ cột Timestamp, sau đó mới Group By thôi. Cách của bạn có vẻ cũng tương tự, nhưng có thể bạn đang dùng một cách nào đó để gom nhóm trực tiếp mà không cần tạo cột Hour riêng hả? Chia sẻ thêm chút kinh nghiệm cho anh em học hỏi với nhé!

2

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký