代码之家  ›  专栏  ›  技术社区  ›  Dinesh wakti

选择在电源BI中第二个位置包含数字并以“R”开头的字符串

  •  0
  • Dinesh wakti  · 技术社区  · 2 年前

    我需要从以“R”开头的列表中选择字符串,字符串的第二个位置应该有一个数字。

    示例-应选择R43.1_MAY2012,但不应选择RB_MAY2013。

    我尝试了下面的代码,并添加了以“R”开头的条件,但不知道如何添加第二个位置的数字条件

    let
        Source = Excel.Workbook(File.Contents("C:\Users\aditya\Documents\Test.xlsx"), null, true),
        Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data],
        #"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}}),
        #"Added Release" = Table.AddColumn(#"Changed Type", "Release", each let a = List.Transform(Text.Split([Column1], ";"), each Text.Trim(_)),
        b = List.Select(a, each Text.StartsWith(_,"R"))
        in b{0}?)
        in
        #"Added Release"
    
    1 回复  |  直到 2 年前
        1
  •  0
  •   Sam Nseir    2 年前

    有许多选项可以做到这一点:

     // check if second character is a number
     b = List.Select(a, each Text.StartsWith(_,"R") and Value.Is(Value.FromText(Text.At(_, 1)), type number) )
    
     // check if second character is between "0" to "9"
      b = List.Select(a, each Text.StartsWith(_,"R") and List.Contains({"0".."9"}, Text.At(_, 1) )
    
     // check if first two characters is between "R0" to "R9"
     b = List.Select(a, each List.Contains(List.Transform({"0".."9"}, each "R" & _), Text.Start(_, 2)) )