PowerPivot:如何修改DAX代码提取不同分隔符后的文本
解决多分隔符的DAX文本提取问题
你可以通过嵌套调用SUBSTITUTE函数,将三种不同的分隔符统一转换为同一个标记,再沿用原代码的逻辑提取内容。具体修改如下:
=TRIM(IF([Product]="","", VAR String = [Product] VAR Items = SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(String, "–", "-"), "--", "-"), "-", "|") RETURN PATHITEM(Items, 2)))
修改逻辑说明:
- 第一步
SUBSTITUTE(String, "–", "-"):将长破折号–替换为短破折号- - 第二步
SUBSTITUTE(..., "--", "-"):将连续两个短破折号--替换为单个短破折号- - 第三步
SUBSTITUTE(..., "-", "|"):将所有统一后的短破折号替换为原代码使用的|分隔符 - 后续的
PATHITEM和TRIM逻辑保持不变,即可正常提取第二种分隔符后的内容
之所以不能用AND,是因为SUBSTITUTE一次只能处理一组替换关系,嵌套调用才能依次完成多分隔符的统一转换。
内容的提问来源于stack exchange,提问作者ajr45
相关产品推荐
相关产品推荐

