SAP 剑客
于 2017-01-16 15:00:35 发布
10601
收藏 9
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本节开始我们学习函数的应用:Text.Combine 函数应用
Returns a text value that is the result of joining all text values with each value separated by a separator.
用法: Text.Combine(text as list, separator as nullable text) as text
Argument | Description |
---|---|
text | The list of text to combine. |
separator | The separator to use when combining. This will only appear between the specified text values, not at the beginning or the end. |
Example: Text.Combine({“a”, “b”, “c”}, “,”) equals “a,b,c”
从上面的解释,不难看出 Text.Combine 有两个参数组成,一个是文本的集合,另一个是分隔符。
参与组合的必须是文本类型,而生成的结果也必然是文本类型(as text)。
我们看下图,参与合并的集合是 1~9, 数字类型,在转换时报错。
我们作如下修改即可。
下面我们通过一个之前实现过得案例来讲解 Text.Combine 的妙用。
上图是一些业务员在每个月的业绩,下面要在一行里面汇总每个人在所有月的总业绩。
效果如下:
之前我们实现过类似的需求,比较麻烦,下面我们就用 Text.Combine()来实现。
同样,我们根据 “姓名” 对“业绩”做“分组”。
得到如下的结果:
这个时候我们去看它的编辑器里面的公式。
Table.Group(重命名的列, {“姓名”}, {{“总业绩”, each List.Sum([业绩]), type number}})
这个公式的意思是:根据 “姓名”,对“业绩” 求和,赋值给新的列名“总业绩”,结果类型为数字型。
然后我们的需求不正是对月份进行汇总么,而显示的格式是按照 “/” 分割。
我们依葫芦画瓢,复制一份 “{“总业绩”, each List.Sum([业绩]), type number}”放在它后面,用 “,” 分隔。
Table.Group(重命名的列, {“姓名”}, {{“总业绩”, each List.Sum([业绩]), type number},{“月份”, each Text.Combine([月份],”/“)}} )
这里要格外细心,注意 “{}” 符号的范围。
效果达成:
是不是比之前的方法效率提高了 N 倍。
https://saper.blog.csdn.net/article/details/54573785