小小的介绍。
最近的任务:添加具有相同值的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。
columns :我当前的任务是创建几个具有值的列,由相同的公式计算。我尝试了与上面相同的方法,但是我没有使用任何公式作为默认值。我得到的最好的结果是包含公式的列。
任何帮助都是非常感谢的。
发布于 2016-07-08 21:48:53
您可以使用List.Accumulate向表中添加尽可能多的列。如果表Source具有列q,则可以使用此公式创建具有相同值的15列:
List.Accumulate({1..15}, Source, (state, current) => Table.AddColumn(state, "q" & Number.ToText(current), each [q]))
累积将循环遍历列表中的每个数字,在它用Table.AddColumn构建的表中添加一个列"qnumber“。这将适用于任何值和任意数量的行。
https://stackoverflow.com/questions/38251421
复制相似问题