搜索特定单词并将其提取到 Power BI DAX 中的新列中
Search for specific word and extract it into new colomn in Power BI DAX
Atm 我的数据就像下面的句子列表:
FPTS 是我们的(案例 ID)
列
- FPTS-0009:软件更新需要帮助
- 帮助和客户做前端 FPTS-0012
- 这次客户FPTS-0020需要刷新数据
我想找到单词 "FPTS" 并提取它的 ID 并将其放在新的列中。如您所见,我需要提取的词始终没有相同的位置!有时它会改变我尝试做的是从上面提取 FPTS-xxxx ,这将是:
- FPTS-0009
- FPTS-0012
- FPTS-0029
对找到解决方案有很大帮助!
如果字符串始终为 FPTS-####,您可以执行以下操作:
Found_Text = iferror(MID('table'[column], find("FPTS", '8HP_Tatoo_Today_Link'[TEXT_1]), 9), "")
这使用 FIND
函数,它将 return 在句子中找到 "FPTS" 的位置。然后它在 MID
函数中使用它,该函数 return 是具有起始位置和长度的字符串。 find
用于定义起始索引,长度为9。
它被包裹在 IFERROR
中,因为如果 FIND
return 什么都没有(字符串不包含 "FPTS")它会抛出错误。
Atm 我的数据就像下面的句子列表:
FPTS 是我们的(案例 ID)
列
- FPTS-0009:软件更新需要帮助
- 帮助和客户做前端 FPTS-0012
- 这次客户FPTS-0020需要刷新数据
我想找到单词 "FPTS" 并提取它的 ID 并将其放在新的列中。如您所见,我需要提取的词始终没有相同的位置!有时它会改变我尝试做的是从上面提取 FPTS-xxxx ,这将是:
- FPTS-0009
- FPTS-0012
- FPTS-0029
对找到解决方案有很大帮助!
如果字符串始终为 FPTS-####,您可以执行以下操作:
Found_Text = iferror(MID('table'[column], find("FPTS", '8HP_Tatoo_Today_Link'[TEXT_1]), 9), "")
这使用 FIND
函数,它将 return 在句子中找到 "FPTS" 的位置。然后它在 MID
函数中使用它,该函数 return 是具有起始位置和长度的字符串。 find
用于定义起始索引,长度为9。
它被包裹在 IFERROR
中,因为如果 FIND
return 什么都没有(字符串不包含 "FPTS")它会抛出错误。