类型函数 类型 列表,M 如果 then 语句


= Table.TransformColumns(#"Changed Type1",
each if Text.Middle("IgnitionCapability",-1,1) <> ")"
then Text.Combine("IgnitionCapability",")")
else "IgnitionCapability")

我需要帮助调试这个临时代码,目前我得到的错误是:

表达式错误:我们无法将函数类型的值转换为列表类型。 详: 值=[函数] 类型=[类型]

但是,我相信这有更多的错误,因为我不是程序员,这是我在多次互联网搜索后编译的内容。 为澄清起见,"点火能力"是一个列。如果有人能帮助我了解应该作为列表以供将来参考的类型函数是什么,我也会理解它。

回答之前发布的原始问题,按索引号比较字符串

let
Source = Table.FromRows(
Json.Document(
Binary.Decompress(
Binary.FromText("i45Wcs7PLUgsSlXSUfLNTy5ITSxSio0FAA==", BinaryEncoding.Base64), 
Compression.Deflate
)
), 
let
_t = ((type nullable text) meta [Serialized.Text = true])
in
type table [Text1 = _t, Text2 = _t]
), 
#"Changed Type" = Table.TransformColumnTypes(Source, {{"Text1", type text}, {"Text2", type text}}), 
#"Added Custom" = Table.AddColumn(
#"Changed Type", 
"Custom.2", 
each if Text.ToList([Text1]){0} = Text.ToList([Text2]){0} then "match" else "non-match"
)
in
#"Added Custom"

编辑代码以修改大括号内的字符串索引#Text.ToList([Text1]){0} = Text.ToList([Text2]){0}

正如我在评论中所写,您正在使用一个函数进行转换操作参数,Table.TransformColumns它应该是一个列表。

正如您所推测的,您的代码中还有许多其他错误,您可能应该一次更正一个错误以更好地解决它。 但是,您也在 Text.Middle 中使用了无效的偏移量参数,并在转换操作本身中使用了字符串而不是对参数的引用。

你并没有真正描述你想做什么。 如果要在指定列中没有它们的字符串末尾添加一个")",一种方法是:

= Table.TransformColumns(#"Changed Type1",
{"IgnitionCapability",
each  if not Text.EndsWith(_,")") then _ & ")" else _, type text})

另请注意,我在转换操作中添加了列类型参数

最新更新