案例陈述的画面问题
Tableau issue with case statment
我想说如果年份是 2021 月份是 1 那么 INT [api_contacts_handled] 应该是 320 等等。 [Y] 和 [M] 是 smallint。
如果 [Y] = 2021 那么
CASE [M]
WHEN 1 THEN [api_contacts_handled] = 320
WHEN 2 THEN [api_contacts_handled] = 420
WHEN 3 THEN [api_contacts_handled] = 520
WHEN 4 THEN [api_contacts_handled] = 620
WHEN 5 THEN [api_contacts_handled] = 820
WHEN 6 THEN [api_contacts_handled] = 920
ELSE [api_contacts_handled]
END
其他
[api_contacts_handled]
结束
错误 - 预期类型布尔字体整数,CASE 表达式的结果类型应匹配。
任何帮助都会很棒。
谢谢
约翰
您可能没有理解 case 的工作原理。
如果逻辑是您编写的逻辑,您应该创建一个名为 api_contacts_handled_calculated 的计算字段,公式如下:
IF [Y] = 2021 THEN
CASE [M]
WHEN 1 THEN 320
WHEN 2 THEN 420
WHEN 3 THEN 520
WHEN 4 THEN 620
WHEN 5 THEN 820
WHEN 6 THEN 920
ELSE [api_contacts_handled]
END
ELSE [api_contacts_handled]
END
您不能像这样“覆盖”您的值:
THEN [api_contacts_handled] = 320
此外,在“then”之后,Tableau 识别出一个布尔语句,根据值检查列,这会导致您的错误。
因此,使用这个新的计算字段,您将测试所有条件并根据它们分配一个值,同时处理其他部分。
我想说如果年份是 2021 月份是 1 那么 INT [api_contacts_handled] 应该是 320 等等。 [Y] 和 [M] 是 smallint。
如果 [Y] = 2021 那么
CASE [M]
WHEN 1 THEN [api_contacts_handled] = 320
WHEN 2 THEN [api_contacts_handled] = 420
WHEN 3 THEN [api_contacts_handled] = 520
WHEN 4 THEN [api_contacts_handled] = 620
WHEN 5 THEN [api_contacts_handled] = 820
WHEN 6 THEN [api_contacts_handled] = 920
ELSE [api_contacts_handled]
END
其他 [api_contacts_handled] 结束
错误 - 预期类型布尔字体整数,CASE 表达式的结果类型应匹配。
任何帮助都会很棒。
谢谢 约翰
您可能没有理解 case 的工作原理。
如果逻辑是您编写的逻辑,您应该创建一个名为 api_contacts_handled_calculated 的计算字段,公式如下:
IF [Y] = 2021 THEN
CASE [M]
WHEN 1 THEN 320
WHEN 2 THEN 420
WHEN 3 THEN 520
WHEN 4 THEN 620
WHEN 5 THEN 820
WHEN 6 THEN 920
ELSE [api_contacts_handled]
END
ELSE [api_contacts_handled]
END
您不能像这样“覆盖”您的值:
THEN [api_contacts_handled] = 320
此外,在“then”之后,Tableau 识别出一个布尔语句,根据值检查列,这会导致您的错误。
因此,使用这个新的计算字段,您将测试所有条件并根据它们分配一个值,同时处理其他部分。