将'if语句'添加到powerquery

时间:2020-11-06 13:55:19

标签: excel powerquery

我如何修改查询以添加if statement来检查源中是否实际包含文本?如果不是,我想输出诸如n/a之类的特定文本吗?

    let
    Source = Csv.Document(File.Contents("C:\Users\ceusebio\OneDrive - Hypertec\RESULTS\HT.LogArnold.txt"),[Delimiter=",", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Column1", Splitter.SplitTextByDelimiter("image at ", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
    #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Column1.1", Splitter.SplitTextByDelimiter("samples max     ", QuoteStyle.Csv), {"Column1.1.1", "Column1.1.2"}),
    #"Split Column by Delimiter2" = Table.SplitColumn(#"Split Column by Delimiter1", "Column1.1.1", Splitter.SplitTextByDelimiter("render done in ", QuoteStyle.Csv), {"Column1.1.1.1", "Column1.1.1.2", "Column1.1.1.3", "Column1.1.1.4"}),
    #"Split Column by Delimiter3" = Table.SplitColumn(#"Split Column by Delimiter2", "Column1.2", Splitter.SplitTextByDelimiter(" x ", QuoteStyle.Csv), {"Column1.2.1", "Column1.2.2", "Column1.2.3"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Split Column by Delimiter3",{"Column1.1.1.2", "Column1.1.2", "Column1.2.1", "Column1.2.2", "Column2"})
in
    #"Removed Other Columns"

预先感谢

1 个答案:

答案 0 :(得分:0)

我假设您的意思是如果文本文件返回了任何行。

一种简单的方法是检查初始源中的行数,然后在最后一步中验证结果。

let
    Source = Csv.Document(File.Contents("C:\temp\test.txt"),[Delimiter=",", Columns=2, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    RowCount = Table.RowCount(Source),
    #"Split Column by Delimiter" = Table.SplitColumn(Source, "Column1", Splitter.SplitTextByDelimiter("image at ", QuoteStyle.Csv), {"Column1.1", "Column1.2"}),
    #"Split Column by Delimiter1" = Table.SplitColumn(#"Split Column by Delimiter", "Column1.1", Splitter.SplitTextByDelimiter("samples max     ", QuoteStyle.Csv), {"Column1.1.1", "Column1.1.2"}),
    #"Split Column by Delimiter2" = Table.SplitColumn(#"Split Column by Delimiter1", "Column1.1.1", Splitter.SplitTextByDelimiter("render done in ", QuoteStyle.Csv), {"Column1.1.1.1", "Column1.1.1.2", "Column1.1.1.3", "Column1.1.1.4"}),
    #"Split Column by Delimiter3" = Table.SplitColumn(#"Split Column by Delimiter2", "Column1.2", Splitter.SplitTextByDelimiter(" x ", QuoteStyle.Csv), {"Column1.2.1", "Column1.2.2", "Column1.2.3"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Split Column by Delimiter3",{"Column1.1.1.2", "Column1.1.2", "Column1.2.1", "Column1.2.2", "Column2"}),
    Result = if RowCount = 0 then "n/a" else #"Removed Other Columns"
in
    Result

让我知道这是否是您所期望的