【问题标题】:Expected 'End' to match 'if' at character 0?预期“结束”在字符 0 处匹配“如果”?
【发布时间】:2022-02-15 14:06:04
【问题描述】:
IF AVG([Covid Death Rate Cleaned]) >= 275 THEN "Extremely high COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) >= 226.3 THEN "High COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) <= 200 THEN "Low COVID death rate"
ELSE AVG([Covid Death Rate Cleaned]) <= 175 THEN "Extremely low COVID death rate"
END
此代码给出错误。不知道出了什么问题。它给了我错误“预期'结束'以匹配字符 0 处的'if'”。顺便说一句,这是在 Tableau 中,我正在尝试为数据制作 KPI。
【问题讨论】:
标签:
data-visualization
tableau-api
calculated-field
【解决方案1】:
您的 ELSE 应该是 ELSEIF。或者您应该删除 AVG([Covid Death Rate Cleaned]) <= 175 THEN,这仅对 ELSEIF 有意义,而不是 ELSE。
【解决方案2】:
ELSE 应满足所有剩余的未满足条件,因此不应像 ELSEIF 那样仅限于特定条件。
因此,如果您想使用 ELSE,要消除错误,您的代码应如下所示:
IF AVG([Covid Death Rate Cleaned]) >= 275 THEN "Extremely high COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) >= 226.3 THEN "High COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) <= 200 THEN "Low COVID death rate"
**ELSE** "Extremely low COVID death rate"
END
##OR 否则,如果您必须指定条件,则可以使用 ELSEIF:
IF AVG([Covid Death Rate Cleaned]) >= 275 THEN "Extremely high COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) >= 226.3 THEN "High COVID death rate"
ELSEIF AVG([Covid Death Rate Cleaned]) <= 200 THEN "Low COVID death rate"
**ELSEIF** AVG([Covid Death Rate Cleaned]) <= 175 THEN "Extremely low COVID death rate"
END