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(_, {" ",";"})}})
我正在处理 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(_, {" ",";"})}})