excel 增强查询合并列以删除空值

ttvkxqim  于 2022-12-14  发布在  其他
关注(0)|答案(3)|浏览(227)

我是Power Query Editor的新手,但有一个陈述式有问题。
我需要一个IF嵌套语句,其中如果一个Column包含Null,则THEN复制下一个;如果该列为Null,则复制下一列。
到目前为止,我已经和它没有工作。

#"Added Custom" = Table.AddColumn(
    #"Removed Other Columns", 
    "Custom", each 
        if [Date3] = null then [Date2] 
        else if [Date2] = null then [Date1] 
        else if [Date1] = null then [Date3] 
        else [Date3])

"我得到的"
| 日期1|日期2|日期3|自订|
| - -|- -|- -|- ------|
| 2023年4月18日|空值|空值|空值|
| 2023年4月18日|二〇二三年二月十八日|空值|二〇二三年二月十八日|
| 空值|二〇二三年二月十八日|2023年1月18日|2023年1月18日|
| 空值|空值|2023年1月18日|空值|
"我所需要的"
| 日期1|日期2|日期3|自订|
| - -|- -|- -|- -|
| 2023年4月18日|空值|空值|2023年4月18日|
| 二○二三年四月十八日|二〇二三年二月十八日|空值|二〇二三年二月十八日|
| 空值|二〇二三年二月十八日|2023年1月18日|2023年1月18日|
| 空值|空值|2023年1月18日|2023年1月18日|
我尝试了不同的IF解决方案,我甚至使用了条件列,但都不起作用。请帮助。谢谢!

kx7yvsdv

kx7yvsdv1#

使用coalesce运算符。例如。

= Table.AddColumn(#"Removed Other Columns", "Custom", each [Date3] ?? [Date2] ?? [Date1])

https://gorilla.bi/power-query/coalesce/

hkmswyz6

hkmswyz62#

请注意,如果要在问题中显示减价表,请确保问题前后都有空行,并且PQ中的Null为空。
嵌套if的逻辑不起作用:如果[Date3] = null,则[Date2]
请尝试以下方法:

#"Added Custom" = Table.AddColumn(
    #"Changed Type", 
    "Custom", 
    each if [Date3] <> null then [Date3] 
         else if [Date2] <> null then [Date2] 
         else [Date1]
)

ccrfmcuu

ccrfmcuu3#

#"Added Custom" = Table.AddColumn(#"Removed Columns", "Custom", each 
        List.Last(List.RemoveNulls({[Date1],[Date2],[Date3]})), type date)

如果Date列的数量可能会变化,也可以使用其他方法。

结果

相关问题