微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

空Power Query时上移值

如何解决空Power Query时上移值

此刻,我在Excel中有一个大表,希望与动态下拉列表(级联选项)一起使用。根据您在第一个下拉菜单中所做的选择,然后在下一个单元格中,您应该具有过滤的下拉菜单。此外,对于所选的主要类别,任何选项都是唯一的。

要做的第一件事是拿起我需要的列并对其进行旋转,使其看起来与此类似(C是列名,V是值。由于任何选项对于任何类别都是唯一的,因此我遇到了问题空值,因为它有很多行):

C1   | C2   | C3
V1   | null | null
V2   | null | null
null | V3   | null
null | null | V4
null | null | V5

此格式不适用于动态下拉菜单,因为它首先显示所有空字段。 我的问题是,是否有任何方法可以通过幂查询删除空值,以便我可以将所有值都请求在第一行,例如:

C1   | C2   | C3
V1   | V3   | V4
V2   | null | V5
null | null | null
null | null | null
null | null | null

我尝试使用“填充”或“填充”选项,然后删除重复项,但由于重复相同的元素多次而无法使用,因此无法正常工作。

不确定是否有办法实现目标,因此我们将不胜感激任何帮助或建议。

谢谢!

解决方法

由于这些列是独立的,因此您可以将每个列变成一个列表,删除空值,然后将它们组合回到表中。

Table.FromColumns(
    {
        List.RemoveNulls(Pivot[C1]),List.RemoveNulls(Pivot[C2]),List.RemoveNulls(Pivot[C3])
    },{"C1","C2","C3"}
)

结果:

Result

如果列数不总是三列,但应该应用相同的想法,则可以使其更具动态性。


编辑:

实际上,它比我最初预期的要简单得多,它不受列数及其名称的影响而变得动态:

Table.FromColumns(
    List.Transform(Table.ToColumns(Pivot),List.RemoveNulls),Table.ColumnNames(Pivot)
)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。