Power BI service deployment pipelines:Deployment rules



https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/create-rules?tabs=new

https://learn.microsoft.com/en-us/training/modules/design-power-bi-application-lifecycle-management-strategy/4-design-deployment-strategy


Giả sử bạn có Azure SQL Database chứa bảng SalesData với 1 triệu bản ghi. Nếu bạn refresh semantic model trong Development/Test với toàn bộ bảng SalesData, thì truy vấn SQL sẽ lấy đủ 1 triệu bản ghi, gây lãng phí.

Thay vào đó:

  1. Tạo cơ sở dữ liệu mẫu:
    • Tạo một phiên bản khác của SalesData, ví dụ: SalesData_Sample, chỉ chứa 10.000 bản ghi (1% dữ liệu).
    • Cơ sở dữ liệu này được dùng cho môi trường Development/Test.
  2. Sử dụng subset của dữ liệu:
    • Nếu bạn không muốn tạo cơ sở dữ liệu riêng, bạn có thể tạo view trong cùng Azure SQL Database để chỉ trả về một phần dữ liệu:



CREATE VIEW SalesData_Sample AS

SELECT TOP 10000 * FROM SalesData;

    • Kết nối semantic model đến view này thay vì toàn bộ bảng.

Áp dụng vào Deployment Pipeline

  1. Parameterize Connection String:
    • Trong semantic model, bạn định nghĩa một tham số (parameter) cho connection string, chẳng hạn:
      • ProdConnectionString: Kết nối đến database đầy đủ.
      • DevTestConnectionString: Kết nối đến cơ sở dữ liệu mẫu hoặc view.
  2. Cấu hình Rules trong Deployment Pipeline:
    • Khi triển khai model qua các môi trường:
      • Development/Test: Đặt tham số DevTestConnectionString để chỉ kết nối đến SalesData_Sample.
      • Production: Giữ nguyên tham số ProdConnectionString để kết nối đến SalesData.

Kết quả đạt được

  • Development/Test: Khi refresh model, chỉ cần nạp một phần dữ liệu (nhanh hơn, tiết kiệm hơn).
  • Production: Nạp toàn bộ dữ liệu như bình thường, đảm bảo tính chính xác cho người dùng cuối.

Nhận xét