Một trong các tính năng mạnh mẽ nhất trong Power Pivot là khả năng tạo mối quan hệ giữa các bảng rồi sử dụng các bảng liên quan để tra cứu hoặc lọc dữ liệu liên quan. Bạn truy xuất các giá trị liên quan từ các bảng bằng cách dùng ngôn ngữ công thức được cung cấp cùng với Power Pivot, Biểu thức Phân tích Dữ liệu (DAX). DAX sử dụng mô hình quan hệ và do đó có thể truy xuất dễ dàng và chính xác các giá trị liên quan hoặc tương ứng trong một bảng hoặc cột khác. Nếu bạn đã quen với hàm VLOOKUP trong Excel, chức năng này trong Power Pivot tương tự như nhau, nhưng dễ thực hiện hơn nhiều.
Bạn có thể tạo công thức thực hiện tra cứu như một phần của cột được tính toán hoặc như một phần của số đo để sử dụng trong PivotTable hoặc PivotChart. Để biết thêm thông tin, hãy xem các chủ đề sau:
Trường được Tính toán trong PowerPivot
Cột được Tính trong Power Pivot
Phần này mô tả các hàm DAX được cung cấp cho tra cứu cùng với một số ví dụ về cách sử dụng hàm.
Lưu ý
Tùy theo loại thao tác tra cứu hoặc công thức tra cứu bạn muốn sử dụng, trước tiên bạn có thể cần tạo mối quan hệ giữa các bảng.
Tìm hiểu về các hàm tra cứu
Khả năng tra cứu dữ liệu khớp hoặc dữ liệu liên quan từ một bảng khác đặc biệt hữu ích trong các trường hợp bảng hiện tại chỉ có một mã định danh nào đó, nhưng dữ liệu bạn cần (chẳng hạn như giá sản phẩm, tên hoặc các giá trị chi tiết khác) được lưu trữ trong một bảng có liên quan. Nó cũng hữu ích khi có nhiều hàng trong một bảng khác liên quan đến hàng hiện tại hoặc giá trị hiện tại. Ví dụ: bạn có thể dễ dàng truy xuất tất cả các giao dịch bán hàng gắn với một khu vực, cửa hàng hoặc nhân viên bán hàng cụ thể.
Trái ngược với các hàm tra cứu Excel như VLOOKUP, vốn dựa trên mảng hoặc LOOKUP, mà nhận giá trị đầu tiên trong nhiều giá trị khớp, DAX theo dõi các mối quan hệ hiện có giữa các bảng được nối bằng khóa để có được một giá trị liên quan duy nhất khớp chính xác. DAX cũng có thể truy xuất bảng các bản ghi liên quan đến bản ghi hiện tại.
Lưu ý
Nếu bạn đã quen thuộc với cơ sở dữ liệu quan hệ, bạn có thể nghĩ tra cứu trong Power Pivot tương tự như câu lệnh select con lồng trong Transact-SQL.
Truy xuất một giá trị liên quan đơn lẻ
Hàm RELATED trả về một giá trị duy nhất từ một bảng khác có liên quan đến giá trị hiện tại trong bảng hiện tại. Bạn chỉ định cột chứa dữ liệu mà bạn muốn, rồi hàm sẽ truy nhập theo các mối quan hệ hiện có giữa các bảng để lấy giá trị từ cột được chỉ định trong bảng có liên quan. Trong một số trường hợp, hàm phải đi theo một chuỗi các mối quan hệ để truy xuất dữ liệu.
Ví dụ: giả sử bạn có một danh sách các lô hàng của ngày hôm nay trong Excel. Tuy nhiên, danh sách chỉ chứa số ID nhân viên, số ID đơn hàng và số ID công ty vận tải nên khiến báo cáo khó đọc. Để có thêm thông tin bạn muốn, bạn có thể chuyển đổi danh sách đó thành một bảng được liên kết Power Pivot, rồi tạo mối quan hệ với các bảng Nhân viên và Người bán lại, khớp ID_Nhân_viên với trường EmployeeKey và ID_Reseller với trường ResellerKey.
Để hiển thị thông tin tra cứu trong bảng đã nối kết của bạn, bạn thêm hai cột được tính mới bằng các công thức sau:
= RELATED('Employees'[EmployeeName])
= RELATED('Resellers'[CompanyName])
Các lô hàng của hôm nay trước khi tra cứu
| OrderID | ID Nhân viên | ID Đại lý |
|---|---|---|
| 100314 | 230 | 445 |
| 100315 | 15 | 445 |
| 100316 | 76 | 108 |
Bảng nhân viên
| ID Nhân viên | Nhân viên | Nhà bán lại |
|---|---|---|
| 230 | Kuppa Vamsi | Hệ thống chu kỳ mô-đun |
| 15 | Pilar Ackeman | Hệ thống chu kỳ mô-đun |
| 76 | Kim Ralls | Xe đạp được Liên kết |
Các lô hàng của hôm nay với tra cứu
| OrderID | ID Nhân viên | ID Đại lý | Nhân viên | Nhà bán lại |
|---|---|---|---|---|
| 100314 | 230 | 445 | Kuppa Vamsi | Hệ thống chu kỳ mô-đun |
| 100315 | 15 | 445 | Pilar Ackeman | Hệ thống chu kỳ mô-đun |
| 100316 | 76 | 108 | Kim Ralls | Xe đạp được Liên kết |
Hàm sử dụng các mối quan hệ giữa bảng được liên kết và bảng Nhân viên và Người bán lại để lấy tên chính xác cho từng hàng trong báo cáo. Bạn cũng có thể dùng các giá trị liên quan để tính toán. Để biết thêm thông tin và các ví dụ, hãy xem hàm RELATED.
Truy xuất danh sách các giá trị liên quan
Hàm RELATEDTABLE tuân theo một mối quan hệ hiện có và trả về một bảng có chứa tất cả các hàng khớp từ bảng đã xác định. Ví dụ: giả sử bạn muốn tìm hiểu số lượng đơn hàng mà mỗi nhà bán lại đã đặt trong năm nay. Bạn có thể tạo một cột được tính mới trong bảng Người bán lại bao gồm công thức sau đây, công thức này sẽ tìm kiếm bản ghi cho mỗi người bán lại trong bảng ResellerSales_USD và đếm số đơn hàng riêng lẻ do mỗi người bán lại đặt.
=COUNTROWS(RELATEDTABLE(ResellerSales_USD))
Trong công thức này, trước tiên hàm RELATEDTABLE nhận giá trị của ResellerKey cho mỗi nhà bán lại trong bảng hiện tại. (Bạn không cần phải chỉ định cột ID ở bất kỳ chỗ nào trong công thức, vì Power Pivot sử dụng mối quan hệ hiện có giữa các bảng.) Sau đó, hàm RELATEDTABLE sẽ lấy tất cả các hàng từ bảng ResellerSales_USD có liên quan đến mỗi nhà bán lại và đếm các hàng. Nếu không có mối quan hệ (trực tiếp hoặc gián tiếp) giữa hai bảng, bạn sẽ nhận được tất cả các hàng từ bảng ResellerSales_USD.
Đối với người bán lại Hệ thống Vòng tròn Mô-đun trong cơ sở dữ liệu mẫu của chúng tôi, có bốn đơn hàng trong bảng bán hàng, do đó hàm trả về 4. Đối với Xe đạp Liên kết, nhà bán lại không có doanh số bán hàng, vì vậy hàm trả về giá trị trống.
| Nhà bán lại | Các bản ghi trong bảng doanh số của nhà bán lẻ này |
|---|---|
| Hệ thống chu kỳ mô-đun | ID Đại lý bán lại |
| 445 | |
| 445 | |
| 445 | |
| 445 | |
| ID Đại lý bán lại | |
| Xe đạp được Liên kết |
Lưu ý
Vì hàm RELATEDTABLE trả về một bảng chứ không trả về một giá trị duy nhất, cho nên nó phải được dùng làm đối số cho một hàm thực hiện các thao tác trên bảng. Để biết thêm thông tin, hãy xem Hàm RELATEDTABLE.