PowerQuery:添加多列
PowerQuery: Adding multiple columns
小介绍。
近期任务: 添加 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" 的临时列添加到 table,其中包含任何默认文本值。然后此列以 space 作为分隔符拆分(这就是它需要文本的原因),但由于没有 space,因此它 returns 与名称一样多的列。第一列保留原始值,应在后面的步骤中删除。所有其他新列的默认值为 1。
问题:
我当前的任务是创建多个包含值的列,这些值由相同的公式计算得出。我尝试了与上面相同的方法,但我没有使用任何公式作为默认值。我得到的最好结果是包含公式的结果列。
感谢任何帮助。
您可以使用 List.Accumulate 向 table 添加尽可能多的列。如果您有 table Source
列 q
,您可以使用以下公式创建 15 个具有相同值的列:
List.Accumulate({1..15}, Source, (state, current) => Table.AddColumn(state, "q" & Number.ToText(current), each [q]))
Accumulate 将遍历列表中的每个数字,将一列 "qnumber" 添加到 table 中,它一直在使用 Table.AddColumn 构建。这将适用于任何值和任意数量的行。
小介绍。
近期任务: 添加 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" 的临时列添加到 table,其中包含任何默认文本值。然后此列以 space 作为分隔符拆分(这就是它需要文本的原因),但由于没有 space,因此它 returns 与名称一样多的列。第一列保留原始值,应在后面的步骤中删除。所有其他新列的默认值为 1。
问题: 我当前的任务是创建多个包含值的列,这些值由相同的公式计算得出。我尝试了与上面相同的方法,但我没有使用任何公式作为默认值。我得到的最好结果是包含公式的结果列。
感谢任何帮助。
您可以使用 List.Accumulate 向 table 添加尽可能多的列。如果您有 table Source
列 q
,您可以使用以下公式创建 15 个具有相同值的列:
List.Accumulate({1..15}, Source, (state, current) => Table.AddColumn(state, "q" & Number.ToText(current), each [q]))
Accumulate 将遍历列表中的每个数字,将一列 "qnumber" 添加到 table 中,它一直在使用 Table.AddColumn 构建。这将适用于任何值和任意数量的行。