Returns the rows of left-side table which do not appear in right-side table.
The Left-side table expression to be used for Except.
The Right-side table expression to be used for Except.
A table that contains the rows of the LeftTable minus all the rows of the RightTable.
If a row appears at all in both tables, it and its duplicates are not present in the result set. If a row appears in only LeftTable, it and its duplicates will appear in the result set.
The column names will match the column names in LeftTable.
The returned table has lineage based on the columns in LeftTable, regardless of the lineage of the columns in the second table. For example, if the first column of first table_expression has lineage to the base column C1 in the model, the Except will reduce the rows based on the availability of values in the first column of second table_expression and keep the lineage on base column C1 intact.
The two tables must have the same number of columns.
Columns are compared based on positioning, and data comparison with no type coercion.
The set of rows returned depends on the order of the two expressions.
The returned table does not include columns from tables related to LeftTable. Therefore, when LeftTable corresponds to a base table, once applied to the filter context it does not involve the expanded table and it only filters columns of he base table.
The returned table is never an expanded table when applied to the filter context, it only includes the base table.
Learn more about EXCEPT in the following articles:
Other related functions are:
Contributors: Alberto Ferrari, Marco Russo
MSDN documentation: https://docs.microsoft.com/en-us/dax/except-function-dax