上次修改日期: 11 Mar 2024
环境
- Tableau Desktop
答案
以下说明介绍如何从长字符串中提取子字符串,可以在附带的工作簿中查看。- 选择“分析”>“创建计算字段”。
- 在打开的“计算字段”对话框中:
- 命名此计算字段。在示例工作簿中,该计算字段名为“Substring”(子字符串)。
- 在公式字段中,创建类似于如下的计算字段:
IF CONTAINS([<Dimension>], '<Identifying Character 1>') THEN MID( [<Dimension>], FIND([<Dimension>],'<Identifying Character 1>') + 1, FIND([<Dimension>],'<Identifying Character 2>') - (FIND([<Dimension>],'<Identifying Character 1>') +1) ) END
- 单击“确定”。
- 将“Substring”(子字符串)拖到“行”功能区。
其他信息
- 此计算不包括最终子字符串中的标识字符。若要包括标识字符,请在上面的计算中移除两个位置中的“+1”。
- 使用 CONTAINS([<Dimension>], '<Identifying Character 1>') 条件的 IF 语句筛选出不包含第一个标识字符的任何字符串。这是必要的,因为如果找不到字符,FIND() 将返回 0,这仍然是 MID() 的有效起始位置。
- “Identifying Character 1”将位于所需子字符串的开头。
- “Identifying Character 2”将位于所需子字符串的结尾。
- 当尝试查找同一字符的两个实例之间的子字符串时(例如,字符串“the *dog* is brown”中的“dog”),请对第二个实例使用 FINDNTH() 而不是 FIND()。这可能类似于:
-
MID( [<Dimension>], FIND([<Dimension>],'<Identifying Character>') + 1, FINDNTH([<Dimension>],'<Identifying Character>', 2) - (FIND([<Dimension>],'<Identifying Character>') +1) )
-
感谢您提供该文章是否有效的反馈。
打开新案例
继续搜索
知识库
社区
产品帮助
培训和教程