Ở bài viết về các DAX Functions – Aggregation lần này chúng ta sẽ tìm hiểu hàm DAX GENERATEALL
Mô tả
Trả về một bảng có tích Descartes giữa mỗi hàng trong bảng 1 và bảng là kết quả của việc đánh giá bảng 2 trong ngữ cảnh của hàng hiện tại trong bảng 1.
Cú pháp
GENERATEALL (<table1>, <table2>)
Tham số
- table1: Bảng hoặc biểu thức DAX trả về một bảng.
- table2: Bảng hoặc biểu thức DAX trả về một bảng.
Kết quả trả về
Trả về một bảng có tích Descartes giữa mỗi hàng trong bảng 1 và bảng là kết quả của việc đánh giá bảng 2 trong ngữ cảnh của hàng hiện tại trong bảng 1.
Bàn luận
- Nếu việc đánh giá bảng2 cho hàng hiện tại trong bảng1 trả về một bảng trống thì hàng hiện tại từ bảng1 sẽ được đưa vào kết quả và các cột tương ứng với bảng2 sẽ có giá trị null cho hàng đó. Điều này khác với GENERATE () trong đó hàng hiện tại từ bảng1 sẽ không được đưa vào kết quả trong trường hợp như vậy.
- Tất cả các tên cột trong bảng 1 và bảng 2 phải khác nhau nếu không sẽ trả về lỗi.
Ví dụ
= GENERATEALL ( SUMMARIZE(Salesperson,Salesperson[Salesperson]), SUMMARIZE(SalesTarget,SalesTarget[SalesTarget], "MaxTarget",MAX(Sales Target[SalesTarget])) )
Nếu bạn là newbie có thể tham khảo bài viết này để tìm hiểu lộ trình học DA trong 3 tháng của SmartData.
Nếu bạn thấy bài viết hay và hữu ích, bạn có thể tham gia các kênh sau của SmartData để nhận được nhiều hơn nữa: