Не проверено, написано на телефоне, но я думаю, что вы хотите сделать следующее:
Создать List
столбцов, которые вы хотите умножить на столбец Current Value
(всестолбцы, за исключением: Symbol
, Current Value
).
Зацикливание вновь созданного List
с использованием List.Accumulate
и добавление столбца для каждого столбца вlist (вызывая Table.AddColumn
во время каждой итерации цикла).
Итак, что-то вроде приведенного ниже кода M
(при необходимости скопируйте и вставьте приведенный ниже код в Advanced Editor
):
let
Source = #"Portfolio %",
mergedQueries = Table.NestedJoin(Source,{"Symbol"},#"Current Output Aggregated",{"Symbol"},"Current Output Aggregated",JoinKind.Inner),
expandedNested = Table.ExpandTableColumn(mergedQueries, "Current Output Aggregated", {"Current Value"}, {"Current Value"}),
allHeaders = Table.ColumnNames(expandedNested),
headersToLoopOver = List.RemoveItems(allHeaders, {"Symbol", "Current Value"})
loopOverList = List.Accumulate(headersToLoopOver, expandedNested, (tableState, currentColumn) =>
Table.AddColumn(tableState, currentColumn & " Value", each Record.Field(_, currentColumn) * [Current Value], type number)
)
in
loopOverList
Я не уверен, правильно ли я получил бит Record.Field
(в цикле), и у меня нет доступа к машине для тестирования, но вам должно быть легко проверить, если выводэто то, что вы ожидаете.