空 Power Query 时向上移动值
Move up values when null Power Query
此时我在 Excel 中有一个很大的 table,我想将其与动态下拉列表(级联选项)一起使用。根据您在第一个下拉菜单中所做的选择,然后在下一个单元格中,您应该有一个过滤的下拉菜单。此外,任何选项对于所选的主要类别都是唯一的。
我做的第一件事是获取我需要的列并旋转它们,使其看起来与此类似(C 是列名称,V 是值。由于任何选项对于任何类别都是唯一的,所以我有空值的问题,因为它是大量的行):
C1 | C2 | C3
V1 | null | null
V2 | null | null
null | V3 | null
null | null | V4
null | null | V5
此格式不适用于动态下拉菜单,因为它首先显示所有空字段。
我的问题是是否有任何方法可以使用 power 查询删除空值,这样我就可以在第一行中请求所有值,例如:
C1 | C2 | C3
V1 | V3 | V4
V2 | null | V5
null | null | null
null | null | null
null | null | null
我试过使用“向下填充”或“向上填充”选项,然后删除重复项,但没有用,因为它重复了很多次相同的元素,这对最终的下拉菜单没有用。
不确定是否有办法完成,所以非常感谢任何帮助或建议。
提前致谢!
由于列是独立的,您可以将每一列变成一个列表,删除空值,然后将它们组合回 table。
Table.FromColumns(
{
List.RemoveNulls(Pivot[C1]),
List.RemoveNulls(Pivot[C2]),
List.RemoveNulls(Pivot[C3])
},
{"C1","C2","C3"}
)
结果:
如果列数不总是三,但应该应用相同的想法,这可以变得更加动态。
编辑:
它实际上比我最初预期的更简单,使它变得动态,独立于列数及其名称:
Table.FromColumns(
List.Transform(Table.ToColumns(Pivot), List.RemoveNulls),
Table.ColumnNames(Pivot)
)
此时我在 Excel 中有一个很大的 table,我想将其与动态下拉列表(级联选项)一起使用。根据您在第一个下拉菜单中所做的选择,然后在下一个单元格中,您应该有一个过滤的下拉菜单。此外,任何选项对于所选的主要类别都是唯一的。
我做的第一件事是获取我需要的列并旋转它们,使其看起来与此类似(C 是列名称,V 是值。由于任何选项对于任何类别都是唯一的,所以我有空值的问题,因为它是大量的行):
C1 | C2 | C3
V1 | null | null
V2 | null | null
null | V3 | null
null | null | V4
null | null | V5
此格式不适用于动态下拉菜单,因为它首先显示所有空字段。 我的问题是是否有任何方法可以使用 power 查询删除空值,这样我就可以在第一行中请求所有值,例如:
C1 | C2 | C3
V1 | V3 | V4
V2 | null | V5
null | null | null
null | null | null
null | null | null
我试过使用“向下填充”或“向上填充”选项,然后删除重复项,但没有用,因为它重复了很多次相同的元素,这对最终的下拉菜单没有用。
不确定是否有办法完成,所以非常感谢任何帮助或建议。
提前致谢!
由于列是独立的,您可以将每一列变成一个列表,删除空值,然后将它们组合回 table。
Table.FromColumns(
{
List.RemoveNulls(Pivot[C1]),
List.RemoveNulls(Pivot[C2]),
List.RemoveNulls(Pivot[C3])
},
{"C1","C2","C3"}
)
结果:
如果列数不总是三,但应该应用相同的想法,这可以变得更加动态。
编辑:
它实际上比我最初预期的更简单,使它变得动态,独立于列数及其名称:
Table.FromColumns(
List.Transform(Table.ToColumns(Pivot), List.RemoveNulls),
Table.ColumnNames(Pivot)
)