我想知道Tableau中IF
语句与IIF()
函数之间的区别是什么。然后我找到了这个页面,它解释了语法差异。
但有人(在研讨会上)也告诉我IIF()
表现更好。这是真的吗?
答案 0 :(得分:1)
声明 vs。功能
IF
和IIF
之间的关键区别在于前者是
声明
IF test THEN value END
IF test THEN value ELSE else END
后者是一个功能
IIF(test, then, else, [unknown])
cited link in the opening question中提到的另一个区别是,后者也支持。the documentation from Tableau 单独处理“未知”案件的概念 这是writetime()
IIF(测试,然后,否则,[未知])
。 。
布尔比较也可能产生UNKNOWN值(均为TRUE 通常由于测试中存在Null值而导致FALSE)。该 如果发生UNKNOWN结果,则返回IIF的最终参数 为了比较。如果遗漏了这个参数,则返回Null。
在IF
语句中,未知案例的处理被集中到ELSE
块中。来自同一份文件
来自上面引用的Tableau
IF THEN ELSE函数评估一系列测试条件和 返回第一个条件为true的值。如果没有条件,则返回ELSE值。
关于效果差异的声明
关于两种结构之间性能差异的说法, 我对索赔进行了调查:
所以我会将声明分类为未经证实。
答案 1 :(得分:0)
这是区别: IF(Condition,“ truevalue”,IIF(Condition,“ truevalue”,“ falsevalue”))-如果该语句看到null值,则将返回“ falsevalue”。
IIF(条件,“真值”,IIF(条件,“真值”,“假值”),“无值”)-此函数将看到空值并返回“无值”。