Except
遍历第一个集合,如果成员或者元组不存在于第二个集合,加入结果集,默认不保留集合中的重复项,可以选择加上ALL参数保留重复项。
语法
EXCEPT( set , set [, [ALL] ] )
参数
set | 返回集的有效多维表达式 (MDX)。 |
ALL | (可选)如果写了参数,则保留重复项。 |
示例一
select {Except({{[科目].&[50187].Children},{[科目].&[50188]}},{[科目].&[50189]})} on rows, {[组织].&[50582]} on columns from [模型一]
where ([场景].&[50685],[产品].&[50688],[版本].&[50672],[期间].&[2023年7月])
运行结果:
产品: 不分
场景: 累计预算
期间: 2023年7月
版本: 年初编报01版本
科目 | 北京总部本部 |
工资 | -10000.00 |
社保费 | 5800.00 |
住房公积金 | 3500.00 |
奖金 | 240.00 |
[科目]维度key为[50187]的成员的子项一共有5个,key分别为[50188],[50189],[50190],[50191],[50192] 结果集中去除了key为[50189]的成员,key为[50188]的重复项只保留了一个。
示例二
select {Except({{[科目].&[50187].Children},{[科目].&[50188]}},{[科目].&[50189]},all)} on rows, {[组织].&[50582]} on columns from [模型一]
where ([场景].&[50685],[产品].&[50688],[版本].&[50672],[期间].&[2023年7月])
运行结果:
产品: 不分
场景: 累计预算
期间: 2023年7月
版本: 年初编报01版本
科目 | 北京总部本部 |
工资 | -10000.00 |
福利费 | 4200.00 |
社保费 | 5800.00 |
住房公积金 | 3500.00 |
奖金 | 240.00 |
和示例一的结果相比,最后一行多了个重复项【工资】。