小介绍。
最近的任务:添加15个具有相同值的列。
解决方案:我没有连续使用Table.AddColumn,而是应用了以下方法。
= Table.RemoveColumns(
Table.SplitColumn(
Table.AddColumn(TableFromPreviousStep, "q", each "1")
, "q"
, Splitter.SplitTextByDelimiter(" ")
, {"temp","q1", "q2", "q3", "q4", "q5", "q6", "q7", "q8", "q9", "q10", "q11", "q12", "qY+1", "qY+2", "qY+3"}
, 1)
, {"temp"})
解释:首先,我将带有任何默认文本值的名为“q”的临时列添加到表中。然后将此列拆分为空格作为分隔符(这就是它需要文本的原因),但由于没有空格,因此返回尽可能多的列,因为它们的名称数量。第一列保留原始值,应在后续步骤中删除。所有其他新列的默认值均为1.
问题: 我当前的任务是创建多个具有值的列,由相同的公式计算。我尝试与上面相同的方法,但我没有使用任何公式作为默认值。我得到的最好的是包含公式的结果列。
感谢任何帮助。
答案 0 :(得分:2)
您可以使用List.Accumulate向表中添加任意数量的列。如果您有一个包含Source
列的表q
,则可以使用以下公式创建15个具有相同值的列:
List.Accumulate({1..15}, Source, (state, current) => Table.AddColumn(state, "q" & Number.ToText(current), each [q]))
累积将循环遍历列表中的每个数字,将“q number ”列添加到使用Table.AddColumn构建的表中。这适用于任何值和任意数量的行。