ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 17442|回复: 16

[求助] Power Query如何使用相对路径

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-12-19 22:11 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
各位老司机,我们在用power query做数据整理的时候,比如整理一个文件夹下所有得文件,这个时候,power query都是用得绝对路径,可是当我们移动了这个文件和它相对应的子文件夹和文件到其他路径下的时候,就需要更改路径,可否又办法能够指定相对路径或者动态路径?我想把这个黄颜色部分的路径可以用相对路径下面这个帖子看不懂,

https://pqfans.com/944.html/comment-page-1


路径表做好后,将其导入PQ,创建一个新的查询为"路径表",当然名字你可以随便起,那么其他表的路径只需要深化出"路径表"中对应的路径,即为相对路径。比如常规导入excel文件生成的公式为= Excel.Workbook(File.Contents("C:\Users\Admin\Desktop\表3.xlsx"), null, true)
那么我们只需要把绝对路径替换为"路径表"中对应的相对路径即可,"表3"的路径在"路径表"中[路径]字段下的第3行,也就是路径表[路径]{2},替换得到= Excel.Workbook(File.Contents(路径表[路径]{2}), null, true)

谢谢了



Capture.PNG

TA的精华主题

TA的得分主题

发表于 2018-12-20 09:23 | 显示全部楼层
这有啥看不懂的。就是借用了excel函数cell生成相对路径。power query需要通过表的方式才能引入函数计算出来的路径结果。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-20 10:17 | 显示全部楼层
LittleBird2006 发表于 2018-12-20 09:23
这有啥看不懂的。就是借用了excel函数cell生成相对路径。power query需要通过表的方式才能引入函数计算出来 ...

power query需要通过表的方式才能引入函数计算出来的路径结果
这一步咋操作啊?

TA的精华主题

TA的得分主题

发表于 2018-12-20 11:34 | 显示全部楼层
hanscao@139.com 发表于 2018-12-20 10:17
power query需要通过表的方式才能引入函数计算出来的路径结果
这一步咋操作啊?

https://blog.csdn.net/qq_24499417/article/details/84674231
路径变成表格,然后加载到表格里面,然后深化就可以得到路径的文本。我这里有一个小栗子展示,你可以理解下。

TA的精华主题

TA的得分主题

发表于 2018-12-20 11:50 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
期待高手解答,这个问题也困扰我很长时间了,还专门买了本书看,也研究了很多网上资料最后还是失败了。。。。。。

TA的精华主题

TA的得分主题

发表于 2018-12-20 23:06 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-21 10:11 | 显示全部楼层
fxl447098457 发表于 2018-12-20 11:34
https://blog.csdn.net/qq_24499417/article/details/84674231
路径变成表格,然后加载到表格里面,然后 ...

非常感谢,读了几遍后,开始有眉目了。:)

TA的精华主题

TA的得分主题

发表于 2019-1-18 11:49 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
fxl447098457 发表于 2018-12-20 11:34
https://blog.csdn.net/qq_24499417/article/details/84674231
路径变成表格,然后加载到表格里面,然后 ...

请问,我在M函数中经常看到有“#”出现,我也不知道这个是什么意思,请问你能给解释一下#的用法吗?谢谢

TA的精华主题

TA的得分主题

发表于 2019-1-18 12:05 | 显示全部楼层
bacon007 发表于 2019-1-18 11:49
请问,我在M函数中经常看到有“#”出现,我也不知道这个是什么意思,请问你能给解释一下#的用法吗?谢谢

#是占位符,起到修饰转义的作用。能使字符串实例化。比如在字符串面前#“table_1”用于表示变量了。用“#(cr)”,"#(lf)"起到换行效果。而不是我们看到的一个简单的字符串字面量。

TA的精华主题

TA的得分主题

发表于 2019-1-21 15:06 | 显示全部楼层
fxl447098457 发表于 2019-1-18 12:05
#是占位符,起到修饰转义的作用。能使字符串实例化。比如在字符串面前#“table_1”用于表示变量了。用“# ...

这是用Power Query向导弄的一段代码。我点“高级编辑器”后形成的M代码

let
   Spath= Excel.CurrentWorkbook(){[Name="表1"]}[Content]{0}[路径],
    源 = Folder.Files(Spath),
    删除的列 = Table.RemoveColumns(源,{"Name", "Extension", "Date accessed", "Date modified", "Date created", "Folder Path"}),
    已添加自定义 = Table.AddColumn(删除的列, "Custom", each Excel.Workbook([Content])),
    #"展开的“Custom”" = Table.ExpandTableColumn(已添加自定义, "Custom", {"Name", "Data", "Item", "Kind", "Hidden"}, {"Custom.Name", "Custom.Data", "Custom.Item", "Custom.Kind", "Custom.Hidden"}),
    筛选的行 = Table.SelectRows(#"展开的“Custom”", each ([Custom.Name] = "专项个税扣除")),
    删除的其他列 = Table.SelectColumns(筛选的行,{"Custom.Data"}),
    #"展开的“Custom.Data”" = Table.ExpandTableColumn(删除的其他列, "Custom.Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10"}, {"Custom.Data.Column1", "Custom.Data.Column2", "Custom.Data.Column3", "Custom.Data.Column4", "Custom.Data.Column5", "Custom.Data.Column6", "Custom.Data.Column7", "Custom.Data.Column8", "Custom.Data.Column9", "Custom.Data.Column10"}),
    提升的标题 = Table.PromoteHeaders(#"展开的“Custom.Data”"),
    筛选的行1 = Table.SelectRows(提升的标题, each ([纳税人姓名] <> "纳税人姓名"))
in
    筛选的行1


在这里面就会出现 #"展开的“Custom”"和#"展开的“Custom.Data”" ,我就是看不懂这个加#有什么意义,或者区别。
请指教,谢谢!

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-27 05:04 , Processed in 0.045196 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表