我创造了这个 . 其目的是添加一个自定义列,其内容和名称基于它获取的参数 . 我把它保存为 fnCompactedExamples :
let
CompactedExamples = (BaseTable as table, ExamplesTable as table, ExampleNumber as text) =>
let
Source = BaseTable,
#"Add example column" = Table.AddColumn( Source, "sb" & ExampleNumber, each Table.Column( ExamplesTable, Campaign & "_b" & ExampleNumber & "_example")),
#"Extracted values" = Table.TransformColumns(#"Add example column", { "sb" & ExampleNumber, each Text.Combine(List.Distinct(List.Transform(_, Text.From)), "#(lf)"), type text} )
in
#"Extracted values"
in
CompactedExamples
在以下查询中调用此函数:
let
Source = #"raw entities table",
#"Group by cny ID and Cny" = Table.Group(Source, {"Company ID", "Company"}, {{"Data", each _, type table}}),
#"create sb1 column" = fnCompactedExamples(#"Group by cny ID and Cny", [Data], "1")
in
#"create sb1 column"
以下是“按cny ID和Cny分组”阶段的表格
但是在“创建sb1列”阶段,我收到一个错误:“Expression.Error:有一个未知的标识符 . 你是否在[each]表达式之外使用[field]简写为_ [field]?”
我觉得接近尾声,我的错误是一些微小的细节 . 我在网上搜索了我的案例提示,但找不到任何答案 . 任何人都可以告诉我它的细节吗?
根据@ Olly的要求编辑:
第二个参数ExamplesTable,确实是一个带有列的表,我想要连接而没有任何重复:
我的目的是 Build 一个这样的表,但是现在我使用了一系列非常重复的指令:
1 回答
这是一个稍微简单的解决方案,它将您的“示例”列展开,重新命名它们,然后再次转向,在输出中组合不同的值:
然后,您可以调整此值以适应 - 例如,这会删除空白值,对每个列表进行排序,并使用换行符分隔值: