[函数大全] IF

  [复制链接]
查看259350 | 回复184 | 2021-2-21 21:31:48 | 显示全部楼层 |阅读模式
本帖最后由 XF 于 2021-2-22 13:25 编辑

检查作为第一个参数的条件是否被满足, 条件为 TRUE 时返回一个值,条件为 FALSE 时返回另一个值。

语法
  1. IF ( <逻辑条件>, <结果 1>, [<结果 2>] )
复制代码

参数属性描述
逻辑条件可以返回 TRUE 或 FALSE 的任何值或表达式
结果 1逻辑条件为 True 时返回的值
结果 2可选逻辑条件为 False 时返回的值,如果省略则返回空值

返回值

标量 一个任意类型的值

备注

如果<结果 1>和<结果 2>的数据类型不同,IF 函数可以返回不同的数据类型(变体);但如果<结果 1>和<结果 2>都是数值类型,此函数会尝试返回单个数据类型。 在后一种情况下,IF 函数会隐式转换数据类型,以容纳这两个值。 例如,公式 IF(<condition>,TRUE(),0) 返回 TRUE 或 0,而公式 IF(<condition>,1.0,0) 则只返回十进制值,即使这里的<结果 2>是整数数据类型,也不例外。


使用 IF 可以生成多个代码执行分支,这可能会导致查询时性能下降。由于 IF 可以返回 BLANK 结果,在某些情况下,使用 DIVIDE 来获得相同的结果可以产生更快的查询计划:

  1. IF ( <LogicalTest>, <ResultIfTrue> )
  2. ---- 等价于 ----
  3. DIVIDE ( <ResultIfTrue>, <LogicalTest> )
复制代码

示例
  1. =IF([Calls]<200,"low",IF([Calls]<300,"medium","high"))  
  2. =IF([StateProvinceCode]= "CA" && ([MaritalStatus] = "M" || [NumberChildrenAtHome] >1),[City])
复制代码


扩展阅读:

理解 IF 和 SWITCH
IF 是最常见的逻辑函数,用于条件判断,它的语法和Excel相同。SWITCH是多层IF的简化形式,本质是IF嵌套,但是写法更优雅,本文将介绍两个函数在几个重要场景中的使用技巧


  • MSDN 文档:IF
  • DAX Guide:IF

回复

使用道具 举报

dgfjn | 2021-4-24 21:40:29 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
回复

使用道具 举报

ken2 | 2021-8-5 07:04:08 来自手机 | 显示全部楼层
支持支持再支持
回复

使用道具 举报

彬彬 | 2021-9-11 16:15:38 | 显示全部楼层
呵呵。。。.....
回复

使用道具 举报

heinsect | 2021-10-5 13:31:44 来自手机 | 显示全部楼层
高手云集 果断围观
回复

使用道具 举报

云帆济海 | 2021-11-1 15:37:52 来自手机 | 显示全部楼层
LZ敢整点更有创意的不?兄弟们等着围观捏~
回复

使用道具 举报

珉头 | 2021-11-2 21:31:17 | 显示全部楼层
这个不错,学习了
回复

使用道具 举报

ysg168 | 2021-11-10 06:42:58 | 显示全部楼层
支持一下云发教育!
回复

使用道具 举报

krkr111 | 2021-11-20 19:23:52 来自手机 | 显示全部楼层
路过的帮顶
回复

使用道具 举报

Laken | 2021-11-23 23:33:49 | 显示全部楼层
呵呵,明白了
回复

使用道具 举报

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

本版积分规则