Text.Trim 语法含义

Text.Trim Syntax Meaning

我正在处理 Power BI 查询,试图从文本中 trim 空格。

查看 Microsoft 的 M 参考资料,我遇到了 Text.Trim 语法:

Text.Trim(text as nullable text, optional trimChars as any) as nullable text  

我不知道如何将它正确地插入我的查询代码(它实际工作的地方)所以我做了更多搜索并遇到了这个:

#"Trimmed Text" = Table.TransformColumns(#"Removed Other Columns",{},Text.Trim),

...这看起来不像微软的语法,但对我来说工作正常,因为我将它插入我的代码中,如下所示:

let
    Source = Banding,
    #"Removed Other Columns" = Table.SelectColumns(Source,{"Segment", "Granular Band"}),
    #"Trimmed Text" = Table.TransformColumns(#"Removed Other Columns",{},Text.Trim),
    #"Removed Duplicates" = Table.Distinct(#"Trimmed Text", {"Granular Band"})
in
    #"Removed Duplicates"

我的问题是我不明白该行的语法含义是什么。我将微软的例子理解为基本的意思,trim THIS;这是我想要 trimmed 的文本。非常简单。

但我不知道实际有效的行的语法含义是什么。我知道它说要转换 table 列 (Table.TransformColumns);但我不知道对上一行 (#"Removed Other Columns") 的引用是否用作 Text.Trim 的任何真实 "input" 或者 {} 是否是对所有列的引用table,或者(对我来说更重要的是)我将如何引用特定的列。 (我尝试了几种指定列的方法,但每次都失败了。)我也不明白为什么我不需要 Text.Trim 后面的任何参数(就像在 Microsoft 的示例中一样)。

如果有人能以我能理解的方式翻译这行内容"saying",我将不胜感激。

生成的代码:

#"Trimmed Text" = Table.TransformColumns(#"Removed Other Columns",{},Text.Trim),

表示您很可能选择了所有列,然后选择了转换 - 格式 - Trim。 如果您选择了 1 个或多个列,那么这些列的名称和所需的操作将位于 {} 之间,如

= Table.TransformColumns(#"Removed Other Columns",{{"SomeText", Text.Trim}})

在 Table.TransformColumns 中调用的任何函数都会获取从 Table.TransformColumns 自动提供的列值,因此在这种情况下:Text.Trim 的第一个参数(文本为可为空的文本) . 其他参数将使用默认值 i.c。 space,因此默认情况下删除所有前导和尾随 space。

如果要在Table.TransformColumns上下文中使用Text.Trim的其他参数,则需要调整代码并提供关键字"each",并使用_作为占位符对于列值。 例如,下一个代码删除前导和尾随 spaces 和分号:

= Table.TransformColumns(#"Removed Other Columns",{{"SomeText", each Text.Trim(_, {" ",";"})}})