Power BI Day 21: Tìm hiểu về các relationship trong Data Model và các hàm DAX liên quan

Ngày đăng: 14/02/2022

Data Model thể hiện mối quan hệ giữa các thực thể.

Mối quan hệ giữa các bảng (thực thể) đó là cần thiết để tính toán chính xác kết quả và hiển thị thông tin chính xác trong báo cáo của bạn.

Trong thực tế tồn tại nhiều mối quan hệ từ đơn giản đến phức tạp!

  • Quan hệ 1-1: như 1 khách hàng chỉ có 1 chứng minh thư

Mô tả mối quan hệ trong đó chỉ có một trường hợp của một giá trị là chung giữa hai bảng.

Yêu cầu giá trị duy nhất trong cả hai bảng.

  • Quan hệ 1-n: như 1 khách hàng có nhiều hoá đơn

Mô tả mối quan hệ trong đó có nhiều trường hợp của giá trị trong một cột chỉ liên quan đến một trường hợp tương ứng duy nhất trong cột khác.

Mô tả hướng giữa bảng dữ kiện và bảng thứ nguyên.

  • Quan hệ n-n: như nhiều lần bán hàng có thể có nhiều đơn hàng

Mô tả mối quan hệ có nhiều giá trị chung giữa hai bảng.

Không yêu cầu các giá trị duy nhất trong một trong hai bảng trong một mối quan hệ.

Đồng thời, chúng ta cũng cần xác định được chiều của dữ liệu:

  • Một chiều: Chỉ một bảng trong mối quan hệ có thể được sử dụng để lọc dữ liệu. Ví dụ: Bảng 1 có thể được lọc theo Bảng 2, nhưng Bảng 2 không thể được lọc theo Bảng 1.
  • Hai chiều: Một bảng trong mối quan hệ có thể được sử dụng để lọc bảng còn lại. Ví dụ, một bảng dim có thể được lọc qua bảng fact và bảng fact có thể được lọc qua bảng dim.

Có một số hàm DAX có liên quan đến các mối quan hệ của mô hình. Mỗi chức năng được mô tả ngắn gọn trong danh sách có dấu đầu dòng sau:

  • RELATED:: Trích xuất giá trị
  • RELATEDTABLE: Truy xuất một bảng các hàng từ phía “nhiều”.
  • USERELATIONSHIP: Buộc sử dụng mối quan hệ mô hình đang không hoạt động.
  • CROSSFILTER:: Sửa đổi hướng bộ lọc chéo mối quan hệ (thành một hoặc cả hai) hoặc vô hiệu hóa bộ lọc (không có).
  • COMBINEVALUES: Nối hai hoặc nhiều chuỗi văn bản thành một chuỗi văn bản.
  • TREATAS: Áp dụng kết quả của một biểu thức bảng dưới dạng bộ lọc cho các cột từ một bảng không liên quan.

Ví dụ: Sử dụng hàm USERELATIONSHIP

Giả sử sếp bạn cần tính Tổng doanh số bán hàng qua Internet theo Shipping Date thay vì Order Date.

Hãy nhập công thức đơn giản sau:

= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))

Hàm USERELATIONSHIP thực hiện tạo mối quan hệ giữa cột [ShippingDate] trong bảng InternetSales và[Date] trong bảng DateTime

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *