Tableau 中的子字符串函数有问题
Having issues with a substring function in Tableau
我正在尝试根据重复字符集的位置将字符串分解为子字符串。
源字符串[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 函数(期待 FIND Nth!
提前致谢。
关键是 find() 将第二个可选参数作为起始位置。
所以在 Tableau 8.2 中,我会编写一个简单的计算来找到第一个分隔符的位置。然后在最终计算字段中引用该计算字段两次,以生成第一个子字符串的长度和第二个子字符串的起点。
在 Tableau 9 之前分离子字符串很痛苦。提取列表中的第一个还不错,获取第二个就很笨拙,之后就变得非常难看。
最好的方法是升级到版本 9 或进行一些预处理以提取子字符串。
我正在尝试根据重复字符集的位置将字符串分解为子字符串。
源字符串[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 函数(期待 FIND Nth!
提前致谢。
关键是 find() 将第二个可选参数作为起始位置。
所以在 Tableau 8.2 中,我会编写一个简单的计算来找到第一个分隔符的位置。然后在最终计算字段中引用该计算字段两次,以生成第一个子字符串的长度和第二个子字符串的起点。
在 Tableau 9 之前分离子字符串很痛苦。提取列表中的第一个还不错,获取第二个就很笨拙,之后就变得非常难看。
最好的方法是升级到版本 9 或进行一些预处理以提取子字符串。