我创建了一个自定义函数以获得运行总计的3个变量,如下所示。
(SourceTable as table, ColumnName, optional NewAddedColumnName as text) =>
let
Add_Index = Table.AddIndexColumn(SourceTable, "Index", 1),
Get_RT = List.Accumulate(List.Transform(ColumnName, Number.From), {0}, (s, c) => s & {List.Last(s) + c}),
Add_RTColumn = Table.AddColumn(Add_Index, NewAddedColumnName??"Running Total", each Get_RT{[Index]}, type number),
Remove_Index = Table.RemoveColumns(Add_RTColumn,{"Index"})
in
Remove_Index
//name this AddColumn_RT这是上面这个函数的一个例子。
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
Change_ColumnTypes = Table.TransformColumnTypes(Source, {{"Month", type date}}),
GetRT_Sales = AddColumn_RT(Change_ColumnTypes, Change_ColumnTypes[Sales]) //applying the custom function here
in
GetRT_Sales您可以将代码视为
Change_ColumnTypesSales__) = AddColumn_RT(Change_ColumnTypes,Change_ColumnTypes)
但我想用这样的代码
GetRT_Sales = AddColumn_RT(Change_ColumnTypes,"Sales"__)
我希望您撤回我的函数,以便使用"Sales"而不是作为它的第二个参数。Change_ColumnTypes已经写成了第一个参数,所以不想再写了。
我的意思是,在创建自定义函数时,如何通过文本格式-变量来将列中的值列表,或者将文本格式变量设置为列的名称,以将列中的值列表,不管是什么。我的英语很差很难。
这是另一个问题。请推荐这篇文章的优先标题。谢谢!
发布于 2022-10-03 11:45:20
试试Table.Column(SourceTable,ColumnName)代替ColumnName
(SourceTable as table, ColumnName as text, optional NewAddedColumnName as text) =>
let
Add_Index = Table.AddIndexColumn(SourceTable, "Index", 1),
Get_RT = List.Accumulate(List.Transform(Table.Column(SourceTable,ColumnName), Number.From), {0}, (s, c) => s & {List.Last(s) + c}),
Add_RTColumn = Table.AddColumn(Add_Index, NewAddedColumnName??"Running Total", each Get_RT{[Index]}, type number),
Remove_Index = Table.RemoveColumns(Add_RTColumn,{"Index"})
in
Remove_Index用
GetRT_Sales = AddColumn_RT(Change_ColumnTypes, "Sales")https://stackoverflow.com/questions/73932277
复制相似问题