У меня есть запрос, который возвращает динамическое количество столбцов. Мне нужно динамически добавлять такое же количество настраиваемых столбцов. Я успешно зашел так далеко. Я застрял в создании формул для настраиваемых столбцов. Это то, что у меня есть до сих пор. (Это не фактический запрос, это упрощено)
Вот код:
Test = List.Accumulate(MyList, Source,
(state, current) => Table.AddColumn(
state, "A Temp" & Number.ToText(current), each [A1])
)
На данный момент я просто добавил [A1] в качестве заполнителя для формулы. Мне нужно, чтобы формула накапливалась следующим образом:
A Temp1 = [A1] / [TOTAL]
A Temp2 = [A2] / [TOTAL]
A Temp3 = [A3] / [TOTAL]
Выше не актуальный код. Как раз то, что мне нужны формулы для каждого настраиваемого столбца.
Это возможно? Я перепробовал все, что мог придумать. Я использую запрос мощности в excel BTW.
Это не совсем то, о чем вы просили, но я думаю, что это поможет.
Test = List.Accumulate(
List.Select(Table.ColumnNames(Source), each _ <> "TOTAL"),
Source,
(state, current) => Table.AddColumn(state,
"Temp " & current,
each Record.Field(_, current) / [TOTAL]))
Это не совсем то, о чем вы просили, поскольку он дает имена столбцов, такие как Temp A1
вместо A Temp1
.
Это была именно та кроличья нора, в которую я хотел попасть. Я создал пустой запрос, который имитирует все шаги, которые мне нужно добавить в свой проект. Ваше решение сработало отлично. Работа с динамическими данными - это боль. Вы помогли мне найти динамические имена столбцов и динамическое количество.
Как определяется
MyList
?