Power BI:如何使用DAX按关键词拆分表格中的文本值
DAX提取含指定关键词的语句及后续内容
完全可以按照你的思路实现,以下是具体的DAX表达式及说明(假设目标列名为[TextColumn],关键词为error):
ExtractAfterKeyword = VAR SplitSentences = PATHSPLIT(SUBSTITUTE([TextColumn], ". ", "|"), "|") VAR FirstKeywordIndex = MINX( FILTER( GENERATESERIES(1, COUNTROWS(SplitSentences)), SEARCH("error", PATHITEM(SplitSentences, [Value]), 1, 0) > 0 ), [Value] ) VAR ExtractedContent = IF( NOT ISBLANK(FirstKeywordIndex), CONCATENATEX( FILTER(GENERATESERIES(FirstKeywordIndex, COUNTROWS(SplitSentences)), [Value] <= COUNTROWS(SplitSentences)), PATHITEM(SplitSentences, [Value]), ". " ) ) RETURN ExtractedContent
关键步骤说明:
- 拆分语句:用
SUBSTITUTE把原文本中的". "替换为|,再通过PATHSPLIT将文本拆分为单个语句的列表(SplitSentences)。 - 定位关键词位置:通过
GENERATESERIES生成拆分后每个语句的索引,用SEARCH检查每个语句是否包含关键词,最后取第一个匹配的索引(FirstKeywordIndex)。如果需要区分大小写,把SEARCH换成FIND即可。 - 拼接目标内容:如果找到关键词索引,用
CONCATENATEX从该索引开始,把后续所有语句用". "连接起来;未找到则返回空值。
如果原文本中的句末分隔符不统一(比如有的是"."不带空格),可以先统一格式,比如在SUBSTITUTE前加一步:SUBSTITUTE([TextColumn], ".", ". "),确保所有句末都转为". "再处理。
内容的提问来源于stack exchange,提问作者yunlee
相关产品推荐
相关产品推荐

