ISONORAFTER 是布尔函数,它模拟 Start At 子句的行为,先对所有用于比较的列按声明的规则依次排序,之后对第一个满足所有条件参数的行及其之后的所有行返回 True。
语法
ISONORAFTER ( <值 1>, <值 2>, [<排序>], [<值 1>,<值 2>,<排序>] ... )
参数 | 属性 | 描述 |
---|---|---|
值 1 | 可重复 | 与第二参数进行比较的表达式 |
值 2 | 可重复 | 与第一参数进行比较的表达式 |
排序 | 可选 可重复 |
指定的排序. 0/FALSE/DESC – 降序; 1/TRUE/ASC – 升序. |
返回值
标量
一个布尔值
当在值 1 中作为参数传递的值集「大于或等于」在值 2 中作为参数传递的值集时,返回 TRUE。
备注
- ISONORAFTER 接受可变数量的三元参数组,组中的前两个值是要比较的表达式,第三个参数表示排序顺序。排序可以是升序(默认)或降序。第一参数与第二参数根据排序顺序进行比较。升序时执行的比较是第一参数大于或等于第二参数。降序则是第一参数小于或等于第二参数。此函数通常用于迭代函数的筛选条件中。
- ISONORAFTER 和 ISAFTER 在官方文档中的介绍比较简单,实际上这两个函数都是先排序后计算。需要注意的是,参数组书写的先后顺序会影响排序结果和最终的结果。
- Order 参数有两个作用:用于指定列的排序规则,确定前两个参数的比较规则。
- ISAFTER 的计值过程与 ISONORAFTER 类似,区别在于它的判断中不包含等于,只考虑大于或小于。在这两个函数的比较中,Blank()和空字符串被认为是不同的值,以升序为例,空字符串排在 Blank()后面。
详细说明和案例请参考扩展阅读:
- MSDN 文档:ISONORAFTER
- DAX Guide:ISONORAFTER
说点什么