[已解决] 从txt导入的数据库文档如何通过PQ拆分到不同列

  [复制链接]
hechun | 2020-9-16 05:50:40 | 显示全部楼层
方法很多,不唯一。  除最后2步需简单修改公式,其他点点菜单就行了。

let


万分感谢您给我的M语句解决方案!作为一个初学者,我正在逐步理解每一句的含义和架构。您的语句是莫大的指引明灯。

小弟编程语句不大懂,所以看着有些费劲。但是7楼@libo5563 贴出的GIF操作方式我看懂了。也能够操作成功。我看了用他教我的在Power Query界面下用菜单来制作的方式,添加了从1到9循环的辅助列,然后利用辅助列透视到不同列。这个操作思路对新手理解起来比较简单。
回复

使用道具 举报

idol77 | 2020-9-16 05:54:40 | 显示全部楼层
大神,我用了您这个代码黏贴进去后,发现是最最简洁高效的!

我在逐句理解您的语句!
回复

使用道具 举报

mende | 2020-9-16 05:58:40 | 显示全部楼层
let
Source = Csv.Document(File.Contents("txt文件存放路径"),[Delimiter="|"]),
  Custom1 = Table.TransformColumns(Table.Combine(List.Transform(Table.Split(Source,9),Table.Transpose)),{},each List.Last(Text.Split(_,":"))),

  Custom2 = Table.FromColumns(Table.ToColumns(Custom1),{"Name","Address","Tel No/s","Email Address","Website","Official Representative","Status","License Validty","x"}),
  Custom3 = Table.RemoveColumns(Custom2,"x")
in
  Custom3

大神,能帮我理解一下Source和Custom1两段的意思么?
回复

使用道具 举报

terry | 2020-9-16 06:04:41 | 显示全部楼层
let
  Source = Csv.Document(File.Contents("txt文件存放路径"),[Delimiter="|"]),
  Custom1 = T ...


第一步,用一个文本中不存在的字符来分列,说白了,就是不用分列
第二步,先用Table.Split按每9行分拆,然后再把分拆后的每个表转置,再合并,再用冒号分列,取分列后最后一个值。
回复

使用道具 举报

炎婴 | 2021-5-18 08:54:20 | 显示全部楼层
啥玩应呀
回复

使用道具 举报

9.8 | 2021-6-18 10:27:51 | 显示全部楼层
我只是路过,不发表意见
回复

使用道具 举报

默契堂主 | 2021-7-4 07:24:48 来自手机 | 显示全部楼层
呵呵。。。.....
回复

使用道具 举报

tiantian | 2021-9-10 22:07:15 | 显示全部楼层
支持楼主,用户楼主,楼主英明呀!!!
回复

使用道具 举报

mc198022 | 2021-9-12 06:14:59 来自手机 | 显示全部楼层
老大,这个说的很好,这个真不错!
回复

使用道具 举报

无名小兵 | 2021-9-17 08:27:09 | 显示全部楼层
老大,这个说的很好,这个真不错!
回复

使用道具 举报

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

本版积分规则