[知识体系] 理解 ADDMISSINGITEMS

  [复制链接]
查看255503 | 回复183 | 2021-2-21 18:51:44 | 显示全部楼层 |阅读模式
ADDMISSINGITEMS 是软件在自动生成查询时经常使用的函数,某些图表会在运行时调用这个函数。函数的作用是添加由于新列的表达式返回空值而被 SUMMARIZECOLUMNS 隐藏的行。

示例用法

例如,观察下面这个 SUMMARIZECOLUMNS 查询的结果:
  1. EVALUATE
  2. SUMMARIZECOLUMNS (
  3.     'Date'[Calendar Year],
  4.     "Quantity", SUM ( Sales[Quantity] )
  5. )
复制代码




日期表包括从 2005 年到 2011 年的所有年份,但 SUMMARIZECOLUMNS 仅显示数量列非空的年份。通过在 ADDMISSINGITEMS 中调用需要包含“空”成员的列,比如将年份作为参数,下一个查询在返回结果中包含了没有数据的年份:
  1. EVALUATE
  2. ADDMISSINGITEMS (
  3.     'Date'[Calendar Year],
  4.     SUMMARIZECOLUMNS (
  5.         'Date'[Calendar Year],
  6.         "Quantity", SUM ( Sales[Quantity] )
  7.     ),
  8.     'Date'[Calendar Year]
  9. )
复制代码




聚合两列或更多列时,可以根据需要定义希望包含“缺失”项的单个列。例如,观察以下查询,该查询按库存类型和顾客性别分组,返回单价大于 3000 的产品的销售数量:
  1. EVALUATE
  2. SUMMARIZECOLUMNS (
  3.     Product[Stock Type],
  4.     Customer[Gender],
  5.     CALCULATETABLE (
  6.         Sales,
  7.         Product[Unit Price] > 3000
  8.     ),
  9.     "Quantity", SUM ( Sales[Quantity] )
  10. )
复制代码




如你所见,结果只有一种库存类型 Mid,如果你只把 ADDMISSINGITEMS 应用到库存类型,结果会新增两行,每行对应一个缺失的库存类型(Low and High):
  1. EVALUATE
  2. ADDMISSINGITEMS (
  3.     Product[Stock Type],
  4.     SUMMARIZECOLUMNS (
  5.         Product[Stock Type],
  6.         Customer[Gender],
  7.         CALCULATETABLE ( Sales, Product[Unit Price] > 3000 ),
  8.         "Quantity", SUM ( Sales[Quantity] )
  9.     ),
  10.     Product[Stock Type]
  11. )
复制代码




当然,你还可以在此基础上显示性别列的缺失项,如下面的示例所示:
  1. EVALUATE
  2. ADDMISSINGITEMS (
  3.     Product[Stock Type],
  4.     Customer[Gender],
  5.     SUMMARIZECOLUMNS (
  6.         Product[Stock Type],
  7.         Customer[Gender],
  8.         CALCULATETABLE ( Sales, Product[Unit        Price] > 3000 ),
  9.         "Quantity", SUM ( Sales[Quantity] )
  10.     ),
  11.     Product[Stock Type],
  12.     Customer[Gender]
  13. )
复制代码

回复

使用道具 举报

珠海小西 | 2021-4-24 13:04:55 | 显示全部楼层
老大,这个说的很好,这个真不错!
回复

使用道具 举报

sldj | 2021-5-29 13:22:12 | 显示全部楼层
嘘,低调。
回复

使用道具 举报

win | 2021-7-28 07:41:48 | 显示全部楼层
越办越好,经常过来学习视频~~~~~~~~~
回复

使用道具 举报

9.8 | 2021-8-26 09:38:32 | 显示全部楼层
我也顶起出售广告位
回复

使用道具 举报

兵马俑 | 2021-10-18 18:59:27 来自手机 | 显示全部楼层
我只是路过,不发表意见
回复

使用道具 举报

赤豆糊 | 2021-10-22 23:36:11 | 显示全部楼层
支持,一直很喜欢老师的课程
回复

使用道具 举报

清茶与咖啡 | 2021-10-29 08:43:46 | 显示全部楼层
占坑编辑ing
回复

使用道具 举报

dickson | 2021-11-8 15:41:48 | 显示全部楼层
广告位,,坐下看看
回复

使用道具 举报

carsoom | 2021-11-28 20:32:26 来自手机 | 显示全部楼层
有空一起交流一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则