Excel DAX - Chức năng lọc

DAX có sức mạnh filter functionskhác với các hàm Excel. Các hàm tra cứu hoạt động bằng cách sử dụng các bảng và các mối quan hệ, giống như một cơ sở dữ liệu. Các chức năng lọc cho phép bạn thao tác ngữ cảnh dữ liệu để tạo các phép tính động.

Note- Các hàm lọc DAX trả về bảng không thêm bảng vào Mô hình Dữ liệu. Bảng kết quả được sử dụng làm đối số trong một hàm DAX khác. Có nghĩa là, các hàm DAX như vậy được sử dụng như các hàm lồng nhau với các hàm DAX khác.

Trong phần tiếp theo, bạn sẽ tìm hiểu những chức năng của bộ lọc DAX mà bạn có thể sử dụng. Để biết thêm chi tiết về các hàm này, hãy tham khảo hướng dẫn - Các hàm DAX trong thư viện hướng dẫn này.

Chức năng bộ lọc DAX

Sau đây là các chức năng của Bộ lọc DAX -

Sr.No. Chức năng DAX & Chức năng này làm gì?
1

ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …)

Thêm kết hợp các mục từ nhiều cột vào một bảng nếu chúng chưa tồn tại. Việc xác định tổ hợp mục nào cần thêm dựa trên việc tham chiếu các cột nguồn chứa tất cả các giá trị có thể có cho các cột.

Để xác định sự kết hợp của các mục từ các cột khác nhau để đánh giá -

  • AutoExist được áp dụng cho các cột trong cùng một bảng.
  • CrossJoin được áp dụng trên các bảng khác nhau.
2

ALL ( {<table> | <column>, [<column>], [<column>], … })

Trả về tất cả các hàng trong bảng đã cho hoặc tất cả các giá trị trong các cột được chỉ định trong bảng, bỏ qua bất kỳ bộ lọc nào có thể đã được áp dụng.

Chức năng này hữu ích để xóa các bộ lọc và tạo các phép tính trên tất cả các hàng trong bảng.

3

ALLEXCEPT (<table>, <column>, [<column>], …)

Loại bỏ tất cả các bộ lọc ngữ cảnh trong bảng ngoại trừ các bộ lọc đã được áp dụng cho các cột được chỉ định làm đối số.

Đối với TẤT CẢ, bạn có thể sử dụng chức năng này khi muốn loại bỏ các bộ lọc trên nhiều, nhưng không phải tất cả, cột trong bảng.

4

ALLNOBLANKROW (<table>|<column>)

Từ bảng cha của một mối quan hệ, trả về -

  • tất cả các hàng trừ các hàng trống, hoặc
  • tất cả các giá trị riêng biệt của một cột trừ các hàng trống

Hàm bỏ qua bất kỳ bộ lọc ngữ cảnh nào có thể tồn tại.

5

ALLSELECTED ( [<tableName>|<columnName>] )

Xóa bộ lọc ngữ cảnh khỏi các cột và hàng trong truy vấn hiện tại, trong khi vẫn giữ lại tất cả các bộ lọc ngữ cảnh hoặc bộ lọc rõ ràng khác.

6

CALCULATE (<expression>, [<filter1>, <filter2> …)]

Đánh giá một biểu thức trong ngữ cảnh được sửa đổi bởi các bộ lọc được chỉ định.

Trả về giá trị là kết quả của biểu thức.

7

CALCULATETABLE (<expression>, <filter1>, <filter2>, …)

Đánh giá biểu thức bảng trong ngữ cảnh được sửa đổi bởi các bộ lọc nhất định.

Trả về một bảng giá trị.

số 8

CROSSFILTER (<columnName1>, <columnName2>, <direction>)

Chỉ định hướng lọc chéo được sử dụng trong phép tính cho mối quan hệ tồn tại giữa hai cột. Không trả lại bất kỳ giá trị nào.

9

DISTINCT (<column>)

Trả về bảng một cột chứa các giá trị khác biệt với cột được chỉ định. Nói cách khác, các giá trị trùng lặp bị loại bỏ và chỉ các giá trị duy nhất được trả về.

Cột kết quả được sử dụng làm đối số trong một hàm DAX khác.

10

EARLIER (<column>, <number>)

Trả về giá trị hiện tại của cột được chỉ định trong một thẻ đánh giá bên ngoài của cột được đề cập được chỉ định bởi số.

11

EARLIEST (<column>)

Trả về giá trị hiện tại của cột được chỉ định trong một đường đánh giá bên ngoài của cột được chỉ định.

12

FILTER (<table>, <filter>)

Trả về một bảng chỉ chứa các hàng đã lọc.

FILTER chỉ được sử dụng như một hàm được nhúng trong các hàm khác yêu cầu bảng làm đối số.

13

FILTERS (<columnName>)

Trả về các giá trị được áp dụng trực tiếp dưới dạng bộ lọc cho columnName.

FILTERS chỉ được sử dụng như một hàm được nhúng trong các hàm khác yêu cầu bảng làm đối số.

14

HASONEFILTER (<columnName>)

Trả về TRUE khi số lượng giá trị được lọc trực tiếp trên columnName là một. Nếu không, trả về FALSE.

15

HASONEVALUE (<columnName>)

Trả về TRUE khi ngữ cảnh cho columnName chỉ được lọc xuống một giá trị riêng biệt. Nếu không, trả về FALSE.

16

ISCROSSFILTERED (<columnName>)

Trả về TRUE khi columnName hoặc một cột khác trong cùng một bảng hoặc bảng có liên quan đang được lọc.

17

ISFILTERED (<columnName>)

Trả về TRUE khi columnName đang được lọc trực tiếp. Nếu không có bộ lọc trên cột hoặc nếu quá trình lọc xảy ra bởi vì một cột khác trong cùng một bảng hoặc trong một bảng có liên quan đang được lọc, thì hàm trả về FALSE.

18

KEEPFILTERS (<expression>)

Sửa đổi cách bộ lọc được áp dụng trong khi đánh giá một hàm CALCULATE hoặc CALCULATETABLE.

19

RELATED (<column>)

Trả về một giá trị có liên quan từ một bảng khác.

20

RELATEDTABLE (<tableName>)

Đánh giá biểu thức bảng trong ngữ cảnh được sửa đổi bởi các bộ lọc nhất định.

21

SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>])

Trả về một bảng biểu thị một bán phần bên trái của hai bảng được cung cấp dưới dạng đối số.

Bán liên kết được thực hiện bằng cách sử dụng các cột chung, được xác định bởi tên cột chung và kiểu dữ liệu chung.

Các cột đang được nối trên được thay thế bằng một cột trong bảng trả về có kiểu số nguyên và chứa chỉ mục.

Chỉ mục là một tham chiếu vào bảng tham gia phù hợp với một thứ tự sắp xếp cụ thể.

22

USERELATIONSHIP ( <columnName1>,<columnName2>)

Chỉ định mối quan hệ được sử dụng trong một phép tính cụ thể là mối quan hệ tồn tại giữa columnName1 và columnName2.

23

VALUES (<TableNameOrColumnName>)

Trả về bảng một cột chứa các giá trị khác biệt với bảng hoặc cột được chỉ định.

Nói cách khác, các giá trị trùng lặp bị loại bỏ và chỉ các giá trị duy nhất được trả về.