Table functions (FILTER, ALL, VALUES)
Table functions trả về một bảng (không phải một số) và là “nguyên liệu” để CALCULATE điều khiển filter context. Nắm chúng mở ra mọi tính toán nâng cao.
ALL — bỏ bộ lọc
Phần tiêu đề “ALL — bỏ bộ lọc”-- Mẫu số là tổng toàn bộ (bỏ lọc Product)% of Total =DIVIDE ( [Total Sales], CALCULATE ( [Total Sales], ALL ( Product ) ) )ALL(Table)bỏ mọi bộ lọc trên bảng → “nhìn thấy toàn bộ”.ALL(Table[Col])bỏ lọc trên một cột.ALLEXCEPT(Table, Table[Keep])bỏ tất cả trừ cột giữ lại.
VALUES & DISTINCT — danh sách giá trị
Phần tiêu đề “VALUES & DISTINCT — danh sách giá trị”-- Số khách hàng riêng biệt trong ngữ cảnh hiện tạiCustomer Count = COUNTROWS ( VALUES ( Customer[CustomerKey] ) )VALUES(col)trả về các giá trị riêng biệt của cột trong filter context hiện tại.- Hữu ích làm bảng để iterate (AVERAGEX theo khách…).
FILTER — lọc theo điều kiện
Phần tiêu đề “FILTER — lọc theo điều kiện”-- Doanh thu từ các đơn lớn (> 10 triệu)Big Order Sales =CALCULATE ( [Total Sales], FILTER ( Sales, Sales[Amount] > 10000000 ))FILTER(table, condition)trả về tập con thỏa điều kiện.- Mạnh nhưng tốn hơn bộ lọc cột đơn giản — chỉ dùng khi điều kiện phức tạp.
Bộ ba thường đi cùng nhau
Phần tiêu đề “Bộ ba thường đi cùng nhau”| Hàm | Trả về | Dùng để |
|---|---|---|
ALL | Bỏ lọc | Mẫu số tổng, ”% of total” |
VALUES | Giá trị riêng biệt | Đếm distinct, iterate |
FILTER | Tập con điều kiện | Lọc nâng cao trong CALCULATE |