DAX 筛选器 - ADDMISSINGITEMS 函数

说明

如果多个列中的项目组合尚不存在,则将其添加到表中。要添加哪些项目组合的确定基于引用包含列的所有可能值的源列。

DAX ADDMISSINGITEMS 函数是 Excel 2016 中的新增函数。

语法

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

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

参数

Sr.No. 参数与说明
1

showAllColumn

返回没有用于计算字段的数据项的列。

2

table

包含用于计算字段的所有有数据(非空)项的表。

3

groupingColumn

在提供的表参数中用于分组的列。

4

isSubtotal_columnName

提供的表参数中的布尔列,其中包含相应 groupingColumn 的 ISSUBTOTAL 值列。

5

filterTable

表示过滤器的表格,包含在确定是否添加没有数据的项目的特定组合的逻辑中。用于避免 ADDMISSINGITEMS 添加由于被过滤器删除而不存在的项目组合。

备注

确定要评估的不同列中的项目组合 −

  • AutoExist 适用于同一张表中的列。
  • CrossJoin 适用于不同的表。

带有 ROLLUPGROUP 的 ADDMISSINGITEMS

ROLLUPGROUP 在 ROLLUPISSUBTOTAL 函数内使用,以反映提供的表参数中存在的 ROLLUPGROUP。

限制

  • 如果使用 ROLLUPISSUBTOTAL 定义提供的表参数或通过其他方式添加等效行和 ISSUBTOTAL 列,则 ROLLUPISSUBTOTAL 必须是与 ADDMISSINGITEMS 中的相同参数一起使用。如果 ROLLUPGROUP 与 ROLLUPISSUBTOTAL 一起使用来定义提供的表参数,则同样如此。

  • 如果使用 ROLLUPISSUBTOTAL 来定义提供的表参数,则 ADDMISSINGITEMS 函数要求提供的表参数中存在与每个分组列或 ROLLUPGROUP 对应的 ISSUBTOTAL 列。此外,必须在 ADDMISSINGITEMS 中的 ROLLUPISSUBTOTAL 函数中提供 ISSUBTOTAL 列的名称,并且它们必须与提供的表参数中的布尔列名称匹配。这使得 ADDMISSINGITEMS 函数能够识别由于某行是其他 BLANK 值的小计行而产生的 BLANK 值。

  • 如果 ROLLUPGROUP 与 ROLLUPISSUBTOTAL 一起使用来定义提供的表参数,则每个 ROLLUPGROUP 必须提供一个 ISSUBTOTAL 列名,并且它必须与提供的表参数中相应的 ISSUBTOTAL 列名匹配。

ADDMISSINGITEMS 函数将为其添加的空白行的 IsSubtotal 列返回 BLANK 值。

示例

= ADDMISSINGITEMS (Products, FILTER (Products,Products[Product]="Air Purifier")) 

dax_functions_filter.html