如何从文件夹导入时保存path条件?
我从子文件夹中导入许多文本文件,一切工作正常。 我的文件夹在不同的时期在许多文件夹中都有相同的文本文件,例如:
AllData\201501\Revenues.txt AllData\201502\Revenues.txt AllData\201502\Revenues.txt .....
我正在准备收入的查询中需要“201501”这样的path。 我不能将date写入.txt文件,由第三方生成。
如何在我的文本文件行上joinFullPath? 切割之后很简单。
(很抱歉,如果以下任何function尚未公开发布Power Query,那么今天就可以在Power BI Designer中使用!)
从文件夹给我:
使用Text.FromBinary
添加一个名为Text
的列的自定义步骤以获取文件文本:
然后删除Folder Path
和Text
以外的每一列:
从那里,分隔文件夹path列由分隔符\
然后只保留与date的path列:
接下来,将两个文本列合并为一个自定义:
,就完成了!
运行这个来设置上面使用的数据:
cd c:\ mkdir alldata cd alldata mkdir 201501 mkdir 201502 mkdir 201503 echo Made $100 > 201501\Revenues.txt echo Made $200 > 201502\Revenues.txt echo Made $300 > 201503\Revenues.txt
此转换的完整M源代码:
let Source = Folder.Files("c:\AllData"), #"Added Custom" = Table.AddColumn(Source, "Text", each Text.FromBinary([Content])), #"Removed Other Columns" = Table.SelectColumns(#"Added Custom",{"Folder Path", "Text"}), #"Split Column by Delimiter" = Table.SplitColumn(#"Removed Other Columns","Folder Path",Splitter.SplitTextByDelimiter("\"),{"Folder Path.1", "Folder Path.2", "Folder Path.3", "Folder Path.4"}), #"Changed Type" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Folder Path.1", type text}, {"Folder Path.2", type text}}), #"Removed Other Columns1" = Table.SelectColumns(#"Changed Type",{"Folder Path.3", "Text"}), #"Merged Columns" = Table.CombineColumns(#"Removed Other Columns1",{"Folder Path.3", "Text"},Combiner.CombineTextByDelimiter(": ", QuoteStyle.None),"Revenues") in #"Merged Columns"