具有 null(空白)值的 Power Query 筛选器

Power Query Filter with null (blank) values

我对基于自定义 excel 电池参数的功率查询和过滤有疑问

现在只要 excel

中的每个单元格中都有一个值,代码就可以正常工作
let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"INC", Int64.Type}, {"Datum", type datetime}, {"Service", type text}, {"Owninggroup", type text}}),
    #"Gefilterte Zeilen" = Table.SelectRows(#"Geänderter Typ", each [Datum] > Tabelle3),
    #"Gefilterte Zeilen1" = Table.SelectRows(#"Gefilterte Zeilen", each Text.StartsWith([Service], Tabelle4)),
    #"Gefilterte Zeilen2" = Table.SelectRows(#"Gefilterte Zeilen1", each Text.Contains([Owninggroup], Tabelle5))
in
    #"Gefilterte Zeilen2"

现在,如果任何 table 中有一个空白值,它就不起作用

目标是当存在空值时,它应该在此之前进行过滤,我的代码如下所示:

= Table.SelectRows(#"Gefilterte Zeilen1", each if (Text.Contains([Owninggroup], Tabelle5)) = null then #"Gefilterte Zeilen1" else Text.Contains([Owninggroup], Tabelle5))

目前我收到无法将 null 转换为文本的错误,但我不确定为什么。

任何帮助如何实现这个都会有很大帮助

编辑:澄清每个 table 的含义以及它从

中提取的原始数据

表 3 表 4 和表 5

原始数据

由于您没有展示如何将 Tabelle3 加载到 Tabelle5,我猜您对单个值进行了深入分析。在这种情况下,您只需检查该值是否为空,如果是,则不进行过滤。代码看起来像这样

#"Gefilterte Zeilen" = if Tabelle3 is null then #"Geänderter Typ" else Table.SelectRows(#"Geänderter Typ", each [Datum] > Tabelle3),

完整的代码就是这样

let
    Quelle = Excel.CurrentWorkbook(){[Name="Tabelle1"]}[Content],
    #"Geänderter Typ" = Table.TransformColumnTypes(Quelle,{{"INC", Int64.Type}, {"Datum", type datetime}, {"Service", type text}, {"Owninggroup", type text}}),
    #"Gefilterte Zeilen" = if Tabelle3 is null then #"Geänderter Typ" else Table.SelectRows(#"Geänderter Typ", each [Datum] > Tabelle3),
    #"Gefilterte Zeilen1" = if Tabelle4 is null then #"Gefilterte Zeilen" else  Table.SelectRows(#"Gefilterte Zeilen", each Text.StartsWith([Service], Tabelle4)),
    #"Gefilterte Zeilen2" = if Tabelle5 is null then #"Gefilterte Zeilen1" else Table.SelectRows(#"Gefilterte Zeilen1", each Text.Contains([Owninggroup], Tabelle5))
in
    #"Gefilterte Zeilen2"

您的方法有效但不寻常。请看看 Building a parametertable 如何以不同的方式做到这一点。