PowerBI中使用DAX移除列前缀并迁移至新表的方法
使用DAX移除PowerBI列中的指定前缀并迁移数据
需求示例
| 原列 | 新列 |
|---|---|
| Title: some title | some title |
| Title: sky | sky |
| Apple | Apple |
| Title: xxx Title | xxx Title |
解决方案
如果要新建一张表存储处理后的数据,用以下DAX公式:
新表 = SELECTCOLUMNS ( 源表, -- 替换为你的实际源表名称 "新列", -- 替换为你想要的新列名称 IF ( STARTSWITH ( 源表[原列], "Title: " ), -- 判断内容是否带指定前缀 REPLACE ( 源表[原列], 1, LEN ( "Title: " ), "" ), -- 移除前缀 源表[原列] -- 不带前缀则直接保留原内容 ) )
如果只是在现有表中添加处理后的计算列,用这个公式:
新列 = IF ( STARTSWITH ( 源表[原列], "Title: " ), REPLACE ( 源表[原列], 1, LEN ( "Title: " ), "" ), 源表[原列] )
公式说明
STARTSWITH:精准判断单元格内容是否以Title:开头(注意前缀末尾有空格)REPLACE:从第1个字符开始,替换掉与前缀长度一致的内容,实现移除前缀的效果- 也可以用
RIGHT函数替代REPLACE,效果完全相同:RIGHT(源表[原列], LEN(源表[原列]) - LEN("Title: "))
内容的提问来源于stack exchange,提问作者Teresa Sergiel
相关产品推荐
相关产品推荐

