excel 从PowerBI字段的文本中提取数字并创建新的计算列

vatpfxk5  于 2022-12-01  发布在  其他
关注(0)|答案(2)|浏览(515)

我在Excel中有以下数据,我要将其导入PowerBI。

在简短的描述中,每行都有一个代码(紧跟在IDN后面)--我只需要提取数字。数字的长度并不总是相同的,它后面可能有一个空格或另一个字符(屏幕截图中的a -)。
在excel中,我可以使用:=SEARCH(“IDN”,A2)查找IDN文本的开头- FirstDetectIDN
然后,我可以再次使用find查找下一个空间(NextSpace):=查找(““,A2,B2)
我用同样的方法来查找NextSpace 2--这样我就有了要提取的数字周围空格的起始和结束位置。
但是,这给了我额外的字符结束的数字(“-EOL”以上在屏幕截图),我不想要的。
在PowerBI中有没有什么方法可以在一个新的计算列中复制所有这些内容,并且只提取数字部分(因此对于第二行,我只希望在新的计算字段中有784729)。
谢谢你的建议,
标记

bzzcjhmw

bzzcjhmw1#

如果您在组成IDN号码的一组数字之后有数字,请尝试这个稍微复杂一点的版本:

  • IDN上进行第一次拆分
  • 然后在从数字到非数字的转换上拆分
  • 请注意,通过将Added Column指定为type text,我们将保留IDN中的所有前导零。如果愿意,您可以将其指定为type numberInt64.Type,这将删除所有前导零。
let

//Change next line to reflect actual data source
    Source = Excel.CurrentWorkbook(){[Name="Table7"]}[Content],

//Set data type
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Short description", type text}}),

//Extract the first set of digits after "IDN"
    #"Added Custom" = Table.AddColumn(#"Changed Type", "IDN", each 
        Text.Trim(
            Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c))
                (Text.AfterDelimiter([Short description],"IDN")){0}), type text)
in
    #"Added Custom"

mtb9vblg

mtb9vblg2#

此类数据清理应在Power Query中完成。
加入新数据行,并输入下列程式码:

let 
a = Text.AfterDelimiter([Column1],"IDN"),
b = List.Transform({a}, each Text.Select(_, {"0".."9"}))
in b{0}

完整代码:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCk4tUzBV8HTxU7A0MbcwVtBVcCxNyfTITM9QitWJVvJNLUksSszNL80rASsytzAxN7LUdfX3AaoMT03JTU1Rio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}}),
    #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", each let 
        a = Text.AfterDelimiter([Column1],"IDN"),
        b = List.Transform({a}, each Text.Select(_, {"0".."9"}))
        in b{0})
in
    #"Added Custom"

相关问题