Sử dụng composite models trong Power BI Desktop (Phần 1)

Trước đây, khi làm việc với Power BI Desktop, bạn sử dụng DirectQuery trong report (báo cáo), không có kết nối dữ liệu nào khác dù là DirectQuery hay import (nhập) được cho phép trong báo cáo đó. Giờ đây, với composite models (mô hình tổng hợp) hạn chế đó đã được loại bỏ.

Báo cáo có thể bao gồm các kết nối dữ liệu liền mạch từ nhiều DirectQuery hoặc kết nối dữ liệu nhập, trong bất kỳ kết hợp nào bạn chọn.

Khả năng của composite models trong Power BI Desktop bao gồm 3 tính năng liên quan:

  • Composite models: Cho phép một báo cáo có nhiều kết nối nguồn dữ liệu, bao gồm các kết nối DirectQuery hoặc nhập, trong bất kỳ kết hợp nào.
  • Mối quan hệ Many-to-many: Với composite models, bạn có thể thiết lập mối quan hệ many-to-many giữa các bảng. Cách tiếp cận này loại bỏ các yêu cầu đối với các giá trị duy nhất trong bảng. Nó cũng loại bỏ các cách giải quyết trước đó, ví dụ như chỉ giới thiệu bảng mới để thiết lập mối quan hệ.
  • Storage mode (chế độ lưu trữ): Bây giờ, bạn có thể chỉnh định trực quan nào truy vấn nguồn dữ liệu back-end. Trực quan không yêu cầu truy vấn được nhập ngay cả khi chúng dựa trên DirectQuery. Tính năng này giúp cải thiện hiệu suất và giảm tải back-end.
1. Sử dụng composite models

Với composite models, bạn có thể kết nối đến nhiều loại nguồn dữ liệu khác nhau trong Power BI Desktop hoặc Power BI service. Bạn có thể tạo các kết nối dữ liệu đó theo nhiều cách:

  • Nhúng dữ liệu vào Power BI là cách phổ biến nhất.
  • Kết nối trực tiếp đến dữ liệu trong kho lưu trữ nguồn ban đầu của nó bằng cách sử dụng DirectQuery.

Khi bạn sử dụng DirectQuery, composite models cho phép tạo một Power BI model như là một tệp Power BI Desktop (.pbix), thực hiện một hoặc cả hai hành động sau:

  • Kết hợp dữ liệu từ một hoặc nhiều nguồn DirectQuery.
  • Kết hợp dữ liệu từ các nguồn DirectQuery và nhúng dữ liệu.

Ví dụ, bằng cách sử dụng composite models, bạn có thể xây dựng một model kết hợp các loại dữ liệu sau:

  • Dữ liệu bán hàng từ kho dữ liệu doanh nghiệp (warehouse).
  • Dữ liệu mục tiêu bán hàng từ một cơ sở dữ liệu SQL Server.
  • Dữ liệu được nhập từ một spreadsheet.

Một model kết hợp dữ liệu từ nhiều hơn một nguồn DirectQuery hoặc kết hợp DirectQuery với nhập dữ liệu được gọi là một composite model.

Bạn có thể tạo ra các mối quan hệ giữa các bảng như thường lệ, ngay cả khi các bảng đó đến từ các nguồn khác nhau. Bất kỳ mối quan hệ nào có cross-source được tạo với cardinality many-to-many, bất kể cardinality. Bạn có thể tùy ý thay đổi chúng thành one-to-many, many-to-one hoặc one-to-one. Dù bạn đặt cardinality nào, các mối quan hệ cross-source nhiều nguồn có hành vi khác nhau. Bạn không thể dùng hàm DAX (Data Analysis Expressions để truy xuất giá trị ở một phía từ nhiều phía. Bạn cũng có thể thay tác động của hiệu suất so với nhiều mối quan hệ trong cùng một nguồn.

Lưu ý: Trong ngữ cảnh của composite models, tất cả các bảng được nhập thực sự là một nguồn duy nhất, bất kể nguồn dữ liệu cơ bảng thực tế là gì.

2. Ví dụ về một composte model

Xét một báo cáo kết nối đến một kho dữ liệu công ty trong SQL Server sử dụng DirectQuery. Trong trường hợp này, kho chứa dữ liệu doanh số theo quốc gia, quý và sản phẩm xe đạp (Sales by Country, Quarter và Bike product) như ảnh dưới đây:

Tại thời điểm này, bạn có thể tạo các trực quan đơn giản bằng cách dùng các trường từ nguồn này. Hình ảnh dưới đây biểu diễn tổng doanh số theo ProductName cho một quý được chọn.

Trường hợp dữ liệu về người quản lý sản phẩm được chỉ định cho từng sản phẩm nằm trong một spreadsheet Office Excel, bạn có thể không thêm được dữ liệu cục bộ vào kho dữ liệu công ty khi cần xem số tiền bán hàng theo quản lý sản phẩm (Sales Amount by Product Manager).

Bạn có thể nhập dữ liệu bán hàng từ kho thay vì dùng DirectQuery. Dữ liệu đó có thể kết hợp với dữ liệu nhập từ spreadsheet nhưng cách này sẽ tồn tại nhiều khuyết điểm như:

  • Một số kết hợp của các quy tắc bảo mật được thực thi trong nguồn dữ liệu cơ bản.
  • Nhu cầu xem dữ liệu mới nhất.
  • Quy mô tuyệt đối của dữ liệu.

Các composite model cho phép kết nối với kho dữ liệu bằng DirectQuery và dùng Get data cho các nguồn bổ sung. Trong ví dụ này, đầu tiên chúng ta thiết lập kết nối DirectQuery với kho dữ liệu của công ty. Chúng ta dùng Get data, chọn Excel và chọn spreadsheet chứa dữ liệu cục bộ. Cuối cùng, nhập spreadsheet chứa tên sản phẩm (Product Names), quản lý bán hàng (Sales Managers) và mức độ ưu tiên (Priority).

Trong danh sách Field, bạn có thể xem 2 bảng: bảng Bike gốc từ SQL Server và một bảng ProductManagers mới. Bảng mới chứa dữ liệu được nhúng từ Excel.

Tương tự, trong view Relationships trong Power BI Desktop, bây giờ, chúng ta thay một bảng nữa là ProductManagers.

Bây giờ, chúng ta cần liên hệ các bảng này với những bảng khác trong model. Như mọi khi, chúng ta tạo ra một mối quan hệ giữa bảng Bike từ SQL Server và bảng ProductManagers đã nhập. Đó là, mối quan hệ giữa Bike[ProductName] và ProductManagers[ProductName]. Tất cả mối quan hệ mặc định là many-to-many.

Bây giờ, chúng ta thiết lập mối quan hệ này, nó được hiển thị trong view Relationship trong Power BI Desktop.

Tiếp theo, chúng ta có thể tạo các trực quan bằng cách dùng các trường trong danh sách Fields. Cách tiếp cận này kết hợp liền mạch dữ liệu từ nhiều nguồn, ví dụ, tổng SaleAmount cho mỗi ProductManager như ảnh sau:

Ví dụ dưới đây biểu diễn một trường hợp phổ biến của một bảng dimension, như là Product hoặc Customer, được mở rộng với một số dữ liệu bổ sung được nhập từ nơi khác.

Cũng có thể có các bảng dùng DirectQuery để kết nối với nhiều nguồn khác nhau. Hình dung mục tiêu bán hàng (Sales Targets) theo quốc gia (Country) và thời kỳ (Period) được lưu trữ trong cơ sở dữ liệu phòng ban riêng biệt. Thông thường, bạn dùng Get data để kết nối dữ liệu như sau:

Chúng ta có thể tạo mối quan hệ giữa bảng mới với bảng khác trong model và sau đó tạo trực quan kết hợp dữ liệu bảng. Cùng xem lại một lần nữa view Relationships nơi chúng ta thiết lập các mối quan hệ.

Ảnh tiếp theo dựa trên dữ liệu mới và các mối quan hệ chúng ta đã tạo. Trực quan ở góc dưới bên trái biểu diễn tổng Sales Amount so với Target và phép tính phương sai cho thấy sự khác biệt. Dữ liệu Sale Amount và Target hai cơ sở dữ liệu SQL Server khác nhau.

Phần đầu tiên của bài viết đến đây là đã kết thúc, mong rằng qua những thông tin và ví dụ trên, bạn đọc đã hiểu được lý do sử dụng composite models trong Power BI Desktop. Đừng quên đón đọc phần tiếp theo tại website bacs.vn và tham gia khóa học Power BI tại BAC để trang bị cho mình những kiến thức nền tảng về dữ liệu.

Đọc tiếp phần 2 tại đây nhé: Sử dụng composite models trong Power BI Desktop (Phần 2)

Nguồn tham khảo:
https://docs.microsoft.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.

Tham khảo chương trình đào tạo: 

 

Previous Post
Next Post
Exit mobile version