Bỏ qua để đến Nội dung

4 thao tác OLAP cơ bản — nhìn dữ liệu công ty từ nhiều góc mà không cần viết SQL mới mỗi lần

Mỗi lần chủ công ty muốn hỏi một câu mới về số liệu — "quý này khách hàng X giao trễ bao nhiêu đơn?", "kho nào đang gây chậm trễ nhiều nhất?" — lại phải nhờ ai đó mở database, viết một câu truy vấn SQL mới, rồi chờ một hai ngày mới có câu trả lời. Tuần sau hỏi câu khác, cả quy trình lặp lại từ đầu. Điều đáng nói là dữ liệu bên dưới gần như không đổi giữa các câu hỏi này — chỉ có góc nhìn là thay đổi. Nếu mỗi góc nhìn mới lại cần một câu SQL mới, báo cáo không còn là công cụ chủ công ty có thể tự dùng, mà biến thành một hàng đợi yêu cầu nằm trên bàn người khác.

Khối dữ liệu đứng sau các câu hỏi

Lý do việc này có thể trở nên dễ dàng hơn không nằm ở một câu truy vấn thông minh hơn, mà ở cách mô hình hóa dữ liệu ngay từ đầu. Trong data warehouse, dữ liệu phân tích được tổ chức thành một siêu khối (hypercube) — khối dữ liệu nhiều chiều. Thay vì các dòng trong một bảng phẳng, người ta định nghĩa các chiều (dimension) — thời gian, sản phẩm, khách hàng, kho hàng — và một chỉ số (measure) nằm bên trong khối tại giao điểm của các chiều đó, ví dụ giá trị đơn hàng hoặc thời gian giao hàng. Một con số "giao trễ" chẳng hạn, tồn tại đồng thời theo tháng, theo khách hàng, theo sản phẩm và theo kho — tất cả cùng lúc, trong cùng một khối.

Bốn cách nhìn cùng một khối dữ liệu

Một khi dữ liệu đã ở dạng khối, bốn thao tác chuẩn cho phép bất kỳ ai khai thác nó mà không cần viết truy vấn mới cho mỗi câu hỏi mới:

  • Slicing (cắt lát) — cố định một chiều ở một giá trị duy nhất, ví dụ "chỉ quý này," để xem một lát cắt 2D phẳng của khối.
  • Dicing (cắt khối) — lọc theo nhiều chiều cùng lúc, ví dụ "quý này VÀ khách hàng này VÀ kho này," để tách ra một khối con nhỏ hơn.
  • Drill-down (khoan sâu) — đi từ mức tổng hợp xuống mức chi tiết hơn, ví dụ từ tổng năm xuống tổng tháng, hoặc từ một nhóm khách hàng xuống một khách hàng cụ thể.
  • Roll-up (cuộn lên) — ngược lại: tổng hợp từ chi tiết lên mức tóm tắt, ví dụ từ từng đơn hàng riêng lẻ lên tổng theo tháng.

Không thao tác nào trong bốn thao tác này đòi hỏi động lại vào database. Đó chỉ là những góc nhìn khác nhau trên cùng một khối, được chọn bằng cách click chuột, không phải bằng cách viết SQL.

Thử trực tiếp: xoay khối dữ liệu

Bốn thao tác ở trên dễ cảm nhận hơn là đọc. Bên dưới là chính khối dữ liệu đó dưới dạng mô hình 3D thật — kéo để xoay, rồi bấm 1 trong 4 thao tác để xem chính xác những ô nào của khối được chọn.

Tương tác: kéo để xoay khối, rồi bấm 1 thao tác

Kéo để xoay khối. Bấm 1 thao tác để xem áp dụng lên khối.

Xem với số liệu ví dụ

Khối bên dưới vẫn dùng 3 chiều như trên — quý, khách hàng, kho — nhưng lần này mỗi ô có sẵn 1 con số đơn giao trễ thật. Bấm 1 thao tác và xem con số cập nhật ngay lập tức — đúng như cách 1 công cụ OLAP thật trả lời câu hỏi tức thì thay vì chờ 1 báo cáo mới.

Dữ liệu ví dụ — không phải số liệu khách hàng thật

Vẫn là khối đó, giờ mỗi ô có 1 con số

Kéo để xoay khối. Bấm 1 thao tác để xem con số thay đổi — vẫn 4 thao tác đó, giờ ra số thật.

Cái mà cách làm này thay thế

Đây chính xác là những gì các công cụ BI/OLAP cung cấp dưới dạng tính năng "click để khám phá" khi dữ liệu được xây trên một data warehouse đúng chuẩn với mô hình lược đồ hình sao (star schema): các nút slice, dice, drill-down, roll-up — thay vì một phiếu yêu cầu báo cáo mới mỗi khi có ai đó nảy ra một câu hỏi mới.

Với một công ty, ý nghĩa thực tế rất cụ thể: một khi dữ liệu giao hàng, đơn hàng và sản xuất được mô hình hóa thành một khối đúng nghĩa trên nền lược đồ hình sao, chủ công ty có thể slice theo khách hàng, dice theo kho và theo tháng, rồi drill từ "tổng số đơn giao trễ" xuống thẳng đơn hàng cụ thể gây ra vấn đề — mà không cần nhờ ai viết báo cáo mới mỗi lần. Khoản đầu tư không nằm ở một câu truy vấn hoa mỹ hơn, mà nằm ở việc mô hình hóa dữ liệu thành khối một lần duy nhất, để mọi câu hỏi sau này chỉ còn là một góc nhìn khác trên cùng khối đó.

Nguyễn Hải Minh

Nguyễn Hải Minh

Tôi làm việc trong ngành CNTT tại Đức — trực tiếp viết phần mềm và xử lý dữ liệu hệ thống ERP (như INFOR) cho các nhà máy sản xuất của Đức. Về học vấn, tôi có bằng Cử nhân Kỹ thuật CNTT và bằng Kỹ thuật viên Điện tử Thông tin cấp nhà nước tại Đức. Tất cả những nền tảng đó giúp tôi rèn luyện một tư duy hệ thống vững vàng để làm tự động hóa và tối ưu vận hành chuẩn chỉ.

Tìm hiểu thêm về tác giả →
EPK — mô hình hoá quy trình trước khi tự động hoá (ví dụ thật: XOR/UND tính thời gian giao hàng)
ContactLiên hệ
Send a messageGửi tin nhắn