Trang chủ Chuyên đề Tiền xử lý dữ liệu (ETL) và OLAP

Tiền xử lý dữ liệu (ETL) và OLAP

đăng bởi Nguyễn Danh Tú
3071 lượt xem

TỔNG KẾT: ETL & OLAP

Một trong các công việc của quá trình tiền xử lý dữ liệu (ETL) là chuyển đổi các dữ liệu lưu trữ dưới dạng OLTP sang OLAP.

🍀 Vậy là OLAP là gì? Và ứng dụng như thế nào.

🌟 Khái niệm OLAP
👉 OLAP viết tắt là:Online Analytical Processing
👉 Về mặt công nghệ, OLAP là một công cụ phân tích dữ liệu trực tuyến
👉 Về mặt logic, OLAP Cube là một khối dữ liệu nhiều chiều mà có thể xử lý phân tích trực tuyến
👉 Về mặt cơ sở dữ liệu, OLAP được thiết kế lưu trữ dưới dạng hình sao (Star), Bông tuyết hay Dải thiên hà (Galaxy) thay vì lưu trữ dưới dạng chuẩn hóa.
👉 Về mặt nghiệp vụ quản trị, thì OLAP là một mô hình hóa tốt để giải thích cho các yêu cầu hỏi từ ban lãnh đạo hay các nhà quản lý.
👉 Trong quá trình khai thác dữ liệu, cách tiếp cận OLAP được sử dụng để thiết kế dữ liệu và phân tích dữ liệu
👉 Một cộng cụ trực quan để hình dung được OLAP chính là PIVOT table trong Excel.

Tóm lại, hiểu đơn giản OLAP là phân tích đa chiều.
Nó gồm các khái niệm chi tiết như sau sau:
🌟 OLAP Cube
👉 OLAP Cube là dữ liệu có nhiều chiều (Cube) mà có thể xử lý phân tích online (OLAP).
👉 Cần có tư duy nhìn 1 bảng dữ liệu (2 chiều) như một khối dữ liệu nhiều chiều.
👉 Khối dữ liệu này sẽ có các cạnh gọi là Dimension và các giá trị trong một ô gọi là Fact.

What is OLAP? Cube, Operations & Types in Data Warehouse

Trong thực tế, fact là các chủ điểm cần phân tích.
✍️Ví dụ:
✌ Doanh thu
✌ Tỷ lệ chuyển đổi khách hàng
✌ Chi phí marketing
✌ Chân dung khách hàng
✌ Tỷ lệ thất thoát,…
Các Fact sử dụng để tính toán với các công thức sum,count, avgerage,…

Dim chính là các khía cạnh mình quan tâm tới chủ điểm đó.
✍️ Ví dụ:
✌ Chi tiết doanh thu theo từng dòng sản phẩm thì dòng sản phẩm là một Dim.
✌ Chi tiết doanh thu theo từng khu vực trong năm qua thì khu vực, trục thời gian theo tháng là một Dim.
✌ Tỷ lệ chuyển đổi theo từng kênh bán hàng thì kênh bán hàng làm một Dim.

Về mặt công cụ, các Dim sẽ kéo vào các phần col, row, filter, axis, legend của pivot table, pivot chart còn Fact sẽ kéo phần Value.

🌟 Mô hình
Chúng ta sử dụng các mô hình để hiểu hơn dữ liệu mà chúng ta phân tích.
Mình hay sử dụng hai mô hình là:
👉 Hệ thống các chiều dữ liệu giúp ta hình dung được khối dữ liệu này có bao nhiêu chiều và trong mỗi chiều có những giá trị gì.


👉 Data model là mô hình hay bản vẽ giúp chúng ta hình dung về khối dữ liệu của chúng ta gồm những Dim và fact gì và có liên kết với nhau như thế nào.


Với khối dữ liệu (OLAP cube) ta sẽ có 4 thao tác chính lên khối dữ liệu này là rollup, drill down, slice and dice và pivot.

Giải pháp quản trị doanh nghiệp số - Xử lý phân tích dữ liệu trực tuyến – OLAP
🌟 Rollup: tổng hợp dữ liệu lên, nhóm dữ liệu theo 1 số chiều
Giống như từ 1 khối dữ liệu nhiều chiều bạn giảm số chiều đi hoặc tổng hợp lại để thành 1 khối dữ liệu đơn giản hơn, ít chiều hơn, số ô tại mỗi mặt ít hơn (như từ rubix 12 x 12 về rubix 3 x 3)
✍️ Ví dụ:
✌ Cho anh tổng hợp doanh thu các năm vừa qua từ báo cáo tháng
✌ Cho mình tổng hợp sản lượng sản xuất theo nguyên vật liệu từ các đơn hàng sản xuất

Khái niệm liên quan: group, aggreate (sum, count, average,..)

🌟 Drill Down/Up:đó là quá trình phân tích dữ liệu chi tiết xuống
✍️ Ví dụ:
✌ Cho chị xem chi tiết các quảng cáo của bạn ý nào (Drill Down)
✌ Cho anh xem tình hình của tất cả các bạn cùng làm với bạn An (Drill Up)

Khái niệm liên quan: Tree

🌟 Slice và Dice: Cắt khối dữ liệu, lọc theo 1 giá trị của 1 chiều hoặc nhiều chiều.
✍️ Ví dụ:
✌ Cho mình xem tình hình của cơ sở A
✌ Tháng này doanh thu sản phẩm X bao nhiêu?

Khái niệm liên quan: filter trong excel, where trong Database

🌟 Pivot: Xoay dữ liệu theo các mặt để phân tích
✍️ Ví dụ:
✌ OK. Chị nhìn tổng hợp doanh thu theo Marketer rồi. Thế còn tổng hợp theo Sale thì sao?
✌ Thế cho chị xem tổng hợp theo sản phẩm nữa?

Các khái niệm liên quan: Transpose

Để hiểu hơn về khái niệm này bạn có thể tham gia thêm các phần thảo luận sau nhé
🎄 Câu hỏi thảo luận 1: Bạn đã thực hành tính năng PIVOT Table ở trong Excel.
Các hoạt động sau ứng với các khái niệm nào ở trên:
👉 Kéo 1 trường vào Column/Row
👉 Kéo 1 trường vào Filter
👉 Kéo 1 trường vào Value
👉 Kéo 1 trường từ Row sang Column
👉 Kéo 1 trường từ Row sang Fiter và ngược lại
👉 Tạo Slicer
👉 Tạo Timeline
👉 Gỡ 1 trường ra khỏi Row/Column
👉 Click đúp chuột vào 1 ô số trên bảng
👉 Chỉnh format định dạng từ Value sang %

🎄 Câu hỏi thảo luận 2: Phân tích một bảng lương trong hình xem đó là một khối OLAP Cube có mấy chiều và vẽ Data model cho nó

Mẫu bảng tính lương và một số lưu ý khi làm kế toán tiền lương

🍀 Tiền xử lý dữ liệu (ETL)

Trong tiền xử lý dữ liệu sẽ có 3 phần chính là Extract, Transform và Load. Hôm nay mình sẽ đi sâu vào phần Tranform với một số khái niệm.

🌟 Data Binding. Phân nhóm dữ liệu để có thêm các thông tin.
Bạn có thể xem ví dụ trong hình sau.

Ta có thể sử dụng các hàm trong Excel hoặc tính năng Add column trong Power Query cho công việc Data Binding

🌟 Data Integration với Append Queries
Tích hợp dữ liệu có một ví dụ hay áp dụng trong công việc như
✍️ Ví dụ:
✌ Gộp dữ liệu bảng lương hàng tháng lại để làm báo cáo năm
✌ Gộp dữ liệu các chi nhánh lại để làm báo cáo tổng hợp
✌ Gộp dữ liệu báo cáo nhân viên kinh doanh để làm báo cáo tổng hợp

Đó là việc tích hợp dữ liệu từ nhiều nguồn, file và ta sử dụng công cụ Append Queries trong Excel.

🌟 Data join với Merge Queries
Data join gần giống với vlookup dùng để tra cứu dữ liệu từ một bảng khác
✍️ Ví dụ:
✌ Lấy giá sản phẩm đưa vào bảng đơn hàng dựa trên tra cứu sản phẩm từ bảng giá
✌ Lấy thông tin các nhóm sản phẩm, nước sản xuất dựa trên tra cứu sản phẩm từ bảng thông tin sản phẩm

Trong Power Query bạn có thể sử dụng Merge Queries với các tính năng ưu việt hơn như tra cứu dựa giá trị của nhiều cột và trả giá trị nhiều cột trong bảng tra cứu

🌟 Data Rotation với Pivot và Unpivot
Việc xoay dữ liệu như phần Pivot ở trên cũng là một công việc thường được sử dụng.
Ta có hai khái niệm là pivot và unpivot để tác động lên hai khối dữ liệu này.
Với việc sử dụng Data Rotation giúp chúng ta sau đó thao tác với dữ liệu một cách dễ dàng hơn.
✍️ Ví dụ:
✌ Bản kế hoạch thì thời gian sắp xếp theo các cột còn dữ liệu thực tế thì thời gian lại là các dòng thì cần xoay dữ liệu để cùng chiều rồi phân tích.

Bạn có thể đánh giá trình độ phân tích dữ liệu tại đây để có thêm keyword cho lĩnh vực này.

Bạn cần tìm hiểu về khóa học Phân tích dữ liệu thì có thể đăng ký tại đây.

5 3 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận