从文件夹导入时如何保存路径条件?
How can I save a path criteria when I import from folders?
我从一个带有子文件夹的文件夹中导入了许多文本文件,到目前为止一切正常。我的文件夹在不同时期的许多文件夹中都有相同的文本文件,例如:
AllData1501\Revenues.txt
AllData1502\Revenues.txt
AllData1502\Revenues.txt
.....
我需要在准备收入的查询中使用“201501”等路径中的一个部分。我无法将日期写入 .txt 文件,它是由第三方生成的。
如何在我的文本文件行中加入 FullPath?之后再剪就简单了
(抱歉,如果 Power Query public 版本中还没有以下任何功能——这在今天的 Power BI Designer 中可用!)
从文件夹给我:
使用 Text.FromBinary
和名为 Text
的列添加自定义步骤以获取文件文本:
然后删除除 Folder Path
和 Text
之外的所有列:
从那里,用分隔符拆分文件夹路径列 \
然后只保留带有日期的路径列:
接下来,将两个文本列与自定义 :
合并,大功告成!
运行这样设置上面用到的数据:
cd c:\
mkdir alldata
cd alldata
mkdir 201501
mkdir 201502
mkdir 201503
echo Made 0 > 201501\Revenues.txt
echo Made 0 > 201502\Revenues.txt
echo Made 0 > 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"
我从一个带有子文件夹的文件夹中导入了许多文本文件,到目前为止一切正常。我的文件夹在不同时期的许多文件夹中都有相同的文本文件,例如:
AllData1501\Revenues.txt
AllData1502\Revenues.txt
AllData1502\Revenues.txt
.....
我需要在准备收入的查询中使用“201501”等路径中的一个部分。我无法将日期写入 .txt 文件,它是由第三方生成的。
如何在我的文本文件行中加入 FullPath?之后再剪就简单了
(抱歉,如果 Power Query public 版本中还没有以下任何功能——这在今天的 Power BI Designer 中可用!)
从文件夹给我:
使用 Text.FromBinary
和名为 Text
的列添加自定义步骤以获取文件文本:
然后删除除 Folder Path
和 Text
之外的所有列:
从那里,用分隔符拆分文件夹路径列 \
然后只保留带有日期的路径列:
接下来,将两个文本列与自定义 :
合并,大功告成!
运行这样设置上面用到的数据:
cd c:\
mkdir alldata
cd alldata
mkdir 201501
mkdir 201502
mkdir 201503
echo Made 0 > 201501\Revenues.txt
echo Made 0 > 201502\Revenues.txt
echo Made 0 > 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"