问题
我正在尝试生成文件用户友好的文件名列表,这些文件名用于生成电源查询表。 然而,当阅读 m 个文本命令的列表时,我没有看到执行等效操作的直接方法:
Text.left(#"previous table"{"Filename'}, Text.length(#"previous table"{"Filename'} - 11)
(以上内容大致基于我对 Excel 的了解)
我尝试过的事情
我因为我看到我的文件名的长度是可变的,但知道我一直想消除最后 11 个字符,我想也许我可以使用
Text.reverse(#"previous table"{"Filename'})
,然后在位置 11 处进行分割,只保留分割的右侧然后再做一次逆转。 然而,我还不太了解 m 语法,当我尝试这样做时,我得到的只是一个错误Text.Reverese
我的m代码
let
Source = Forecasting,
#"Removed Other Columns" = Table.SelectColumns(Source,{"Source.Name"}),
#"Removed Duplicates" = Table.Distinct(#"Removed Other Columns"),
#"Renamed Columns" = Table.RenameColumns(#"Removed Duplicates",{{"Source.Name", "Submitted Reports"}}),
Custom1 = Text.Reverse(#"Renamed Columns"{{"Submitted Reports"}})
in
Custom1
问题
如何从列中的字符串中删除最后一个 X 字符?
当我们进入重命名列步骤时的示例数据
Submitted Reports
Bug Bunny 241008923443.xlsm
Daffy Duck 241130234521.xlsm
Wyle E. Cayote 240909124312.xlsm
想要的结果
Submitted Reports
Bug Bunny 241008
Daffy Duck 241130
Wyle E. Cayote 240909
如果您想删除最后五个字符并知道它们是什么(“.xlsm”):
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
CleanFilenames = Table.TransformColumns(Source, {{"Submitted Reports", each if Text.EndsWith(_, ".xlsm") then Text.RemoveRange(_, Text.Length(_) - 5, 5) else _}})
in
CleanFilenames