[已解决] 请大佬帮我看看着段代码怎么改

  [复制链接]
查看143898 | 回复137 | 2020-11-5 23:29:14 | 显示全部楼层 |阅读模式
自学了几天 尝试自己写了一段 请大佬们指点指点

=Table.AddColumn(更改的类型,"部门2",(x)=>List.TransformMany(x[部门],(y)=>{"北京","上海","广东","深圳",{1..9}},(x,y)=>Table.ReplaceValue(x,y,"")))

报错无法将值"xxx"转换为类型。

这里想问几个问题,
1.PQ的报错机制看不懂,网上搜也没搜到相关解决办法,我大致理解是因为Table.和List.不是同一种类型,所以无法放在一起使用,不知道是不是这样,解决办法是什么?
2.我的目的是想将部门中名字包含"北京","上海","广东","深圳"的内容删除,替换成"",不知道我上面的写法对不对?烦请大佬帮我改正.
3.如果[部门]中同时有其他情况需要处理,是要分两步写吗?还是也可以写在一起?例如有例外情况不需删除呢?比如XX01不做处理,但其它XX02.XXX03都要把数字删除.这种情况又该怎么写?

以上.请各位大佬帮忙解答,国内PQ学习环境不好,自学很困难.大佬帮帮忙
回复

使用道具 举报

fulu | 2020-11-5 23:38:14 | 显示全部楼层
PowerQuery参考解法
10626102303071.png
10626102303072.zip (15.17 KB, 下载次数: 0)
回复

使用道具 举报

jieyang88 | 2020-11-5 23:42:15 | 显示全部楼层
PowerQuery参考解法


感谢大佬,我还没看到Accumulate那里,所以还使用TransformMany.
回复

使用道具 举报

ohmygod_cc | 2020-11-5 23:46:15 | 显示全部楼层
PowerQuery参考解法


大佬,如果还有涉及通配符问题呢?如XX分公司,XX分组,要改成XX分部,但是分*的位置、内容和字数都不确定,又该怎么解决呢?如果套用在上面那个文件中,这么复杂的语句又是如何嵌套?
回复

使用道具 举报

无极创意 | 2020-11-5 23:51:15 | 显示全部楼层
大佬,如果还有涉及通配符问题呢?如XX分公司,XX分组,要改成XX分部,但是分*的位置、内容和字数都不确 ...


太复杂的文本处理建议用正则吧
回复

使用道具 举报

天天压马路 | 2020-11-5 23:57:15 | 显示全部楼层
感谢大佬,我还没看到Accumulate那里,所以还使用TransformMany.


在看啥子M语言的书,兄弟 推荐下呢
回复

使用道具 举报

redwine0422 | 2020-11-6 00:00:16 | 显示全部楼层
在看啥子M语言的书,兄弟 推荐下呢


我都是在网上看的资料 书也买了两本 但是感觉没什么用
我感觉PQ就像VBA,宏可以录制小白可以很简单的就使用起来,但是要深入应用得学VBA.
PQ也是一样,界面上的内容都可以自动帮你写好代码,小白也可以使用.买的书里讲的都是非常非常基础的内容,M函数只讲了一点点,没什么太大用处.所以还是做题自己理解吧
回复

使用道具 举报

hijackhan | 2020-11-6 00:07:16 | 显示全部楼层
太复杂的文本处理建议用正则吧


我主要是想知道PQ如何处理通配符需要,vba Excel都是一个*就可以了 PQ不支持* 所以想看看函数和语法是什么样
回复

使用道具 举报

zorooo | 2020-11-6 00:09:16 | 显示全部楼层
PowerQuery参考解法


大佬,看了你的语句,发现你理解错了,XX指的是变量,可能是任何字,不是固定的XX02,所以句子里的{"XX02","XXX03"}就不符合要求了.
另外能否补充提问个问题,能否把例外(数量不定)写成一个List,然后List内的内容都做例外处理,不在List内的都把数字和省份删除
回复

使用道具 举报

hongfeng34 | 2021-5-21 13:37:41 | 显示全部楼层
大人,此事必有蹊跷!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则