Tableau api 表中的子字符串函数有问题

Tableau api 表中的子字符串函数有问题,tableau-api,Tableau Api,我试图根据一组重复字符的位置将一个字符串拆分为子字符串 源字符串[UPDATES]如下所示,重复部分之间的字符数变化很大 "04/24/15 15:12:54 (PZPJ3F): Task update. 04/24/15 15:12:54 (PZPJ3F): Task update. 04/22/15 15:17:13 (SZGQ3T): updated due date prior to global problem 04/22/15 12:28:09 (PZPJ3F): Tas

我试图根据一组重复字符的位置将一个字符串拆分为子字符串

源字符串
[UPDATES]
如下所示,重复部分之间的字符数变化很大

"04/24/15 15:12:54 (PZPJ3F): Task update.       04/24/15 15:12:54 (PZPJ3F): Task update. 04/22/15 15:17:13 (SZGQ3T): updated due date prior to global problem 04/22/15 12:28:09 (PZPJ3F): Task updates."
我试图将它们分解为单独的子字符串,以便可以将它们并排显示为单独的列,如下所示

Column1 = |04/24/15 15:12:54 (PZPJ3F): Task update.
Column2 = |04/24/15 15:12:54 (PZPJ3F): Task update.
Column3 = |04/22/15 15:17:13 (SZGQ3T): updated due date prior to global problem|
我得到了第一份工作

LEFT([UPDATES],FIND([UPDATES],"): ",28)-27)
但我试图使用FIND来定位下一个“):”事件,并使用它来开始MID,但没有起作用,特别是在我试图使用FIND函数来结束它们时

IF [Mark1]>0 THEN MID([UPDATES],[Mark1]-25,[Mark2])
ELSE ""
END
Mark1在哪里

FLOAT(FIND([UPDATES],"): ",(FIND([UPDATES],"): ")+1)))
而Mark2是

FLOAT(FIND([UPDATES],") ",[Mark1]+1))
在我尝试的最后,我真的掉进了兔子洞

我使用的是Tableau 8.2,所以Tableau 9函数不是一个选项(期待找到第n个

提前感谢。

关键是find()将第二个可选参数作为起始位置

所以在Tableau 8.2中,我将编写一个简单的计算来找到第一个分隔符的位置,然后在最终的计算字段中引用该计算字段两次,以得到第一个子字符串的长度和第二个子字符串的起点

在Tableau 9之前,分离子字符串是一件痛苦的事情。提取列表中的第一个并不坏,获取第二个很笨拙,之后会变得很难看


最好的方法是升级到版本9或进行一些预处理以拉出子字符串。

请检查这是否有帮助。如果有帮助,请关闭您的问题。如果没有,请澄清问题所在。