Nếu bạn không biết (hoặc không chắc chắn) Data Model trong Power BI là gì, bài viết này là của Học Excel Online dành cho bạn.
Xem nhanh
Mình đã từng thấy rất nhiều người lúng túng và chưa biết “data model” là gì, và thực sự điều này hoàn toàn dễ hiểu thôi, data model hay tạm dịch ra tiếng việt là “mô hình dữ liệu” là một khái niệm xa lạ với hầu hết những bạn business, chưa tiếp xúc nhiều với các khái niệm trong ngành IT / công nghệ. Trong bài viết này, mình sẽ giải thích về data model một cách dễ hiểu cho các bạn.
Data model nói một cách ngắn gọn là một tập hợp:
Tất cả những thành phần trên có thể được gọi là “Mô hình dữ liệu trong Power BI” (Điều này cũng đúng cho Analysis Service Tabular, Power Pivot trong Excel, và nhiều công cụ BI khác)
Power BI là một công cụ báo cáo dựa trên mô hình dữ liệu, mặc dù không phải công cụ BI nào cũng dựa trên mô hình dữ liệu để làm việc. Một ví dụ cho công cụ không sử dụng mô hình dữ liệu để làm việc là SQL Server Reporting Services (SSRS). Đối với những công cụ BI dạng này, người sử dụng (chúng ta) cần viết các câu truy vấn để truy vấn dữ liệu tại nguồn dữ liệu (thường sử dụng ngôn ngữ SQL), sau đó kết quả của câu truy vấn sẽ được sử dụng ở trong báo cáo. Các công cụ này thường có giao diện giúp người dùng có thể “kéo thả” các thành phần để tạo ra báo cáo hoặc sử dụng một ngôn ngữ truy vấn dữ liệu như T-SQL để lấy dữ liệu cho báo cáo.
Một ví dụ nữa về công cụ BI không dựa trên mô hình dữ liệu mà có thể các bạn đã rất quen thuộc đó là Excel. Trong Excel, các bảng tính vừa là nơi lưu trữ dữ liệu, vừa là nơi nhập công thức tính toán business logic, vừa là nơi xây dựng các báo cáo.
Không có gì sai khi chúng ta sử dụng Excel hay SQL như một công cụ BI, chỉ là cách tiếp cận và giải quyết vấn đề khác nhau. Tới thời điểm hiện tại, có thể nói rằng vấn đề lớn nhất khi sử dụng các công cụ báo cáo – reporting tools không dựa trên mô hình dữ liệu là tốc độ tạo ra những báo cáo mới, bởi vì, thường thì mỗi khi cần báo cáo mới, chúng ta cần chuẩn bị lại từ đầu.
Một công cụ báo cáo như Power BI sẽ có những lợi ích là:
Một số bạn quen làm việc từ Excel, tự tin với khả năng Excel của mình và bắt đầu làm việc với Power BI: bạn có dữ liệu, có Power BI. Nhưng tới đây, có gì đó chưa ổn, mặc dù có dữ liệu, với dữ liệu đó bình thường trong Excel bạn đã có thể bắt đầu viết công thức, đưa vào Pivot Table và tạo ra các báo cáo biểu đồ thật nhanh chóng. Với Power BI, cách tiếp cận sẽ khác. Nếu bạn sử dụng cách tiếp cận từ Excel và đem qua áp dụng vào Power BI, chắc chắn sẽ có những khó khăn: công thức đưa ra kết quả không như mong muốn, chưa nhận ra được “Intelligence” từ dữ liệu, báo cáo bị chậm. Dù như thế nào, nhiều khả năng vấn đề của bạn nằm ở data model.
Cách đơn giản nhất để tạo ra Data Model trong Power BI và Power Pivot là load dữ liệu chưa xử lý từ nguồn, định nghĩa các mối quan hệ, và bắt đầu thiết kế báo cáo. Với các làm này, đôi khi bạn sẽ gặp phải vấn đề như có quá nhiều bảng không cần thiết, độ chi tiết/độ phân giải của dữ liệu khác nhau (different level of granularity).
Một data model tốt sẽ:
Trong Power BI Desktop, bạn có thể thấy chức năng “model view”.
Trong ảnh trên, chúng ta có thể thấy được:
Thứ mà bạn chưa nhìn thấy trong data model này là các Measures (Là các công thức tính toán các chỉ số từ dữ liệu)
Như đã nói tới ở phần trên, các measures cũng là một phần của data model. Measures được định nghĩa bởi các công thức DAX giúp chúng ta tính toán các chỉ số từ dữ liệu, hay nói chính xác hơn là từ Data Model. Hãy cùng xem một ví dụ như sau:
Trong bảng trên, cột được đánh dấu màu đỏ thể hiện tổng giá trị của một đơn hàng (mỗi dòng là một đơn hàng). Chúng ta có một vài nhận định như sau:
Power BI có thể tính toán những con số trên sử dụng DAX hoặc không sử dụng DAX, tuy nhiên bản thân Power BI sẽ không biết được ý nghĩa trong business của những con số trên. Chúng ta sẽ là người làm việc này, gán tên cho mỗi chỉ số được Power BI tính toán, định dạng kết quả trả về bởi Power BI. Điều này được tiến hành bằng cách sử dụng Measures và công thức DAX như sau:
Total Sales Value = SUM(Sales[ExtendedAmount]) format Currency, 0 decimals Total Line Items = COUNT(Sales[ExtendedAmount]) format whole number, comma separated Average Line Item Value = AVERAGE(Sales[ExtendedAmount]) format Currency, 2 decimals Maximum Line Item Value = MAX(Sales[ExtendedAmount]) format Currency, 2 decimals
Như vậy, qua bài viết này, các bạn đã có những khái niệm đầu tiên về Data Model trong Power BI, đây là một concept quan trọng trong việc ứng dụng Power BI, hi vọng các bạn sẽ dành nhiều thời gian cho việc xây dựng mô hình dữ liệu và có được những báo cáo nhanh, đẹp, hiệu quả. Đừng quên tham khảo khoá học Power BI – Business Intelligence trong tầm tay của Thanh