"[图片] 如何用集算器做到该统计效果,主要是将渠道做成图中的样式,该用哪个函数呢?求大佬支招! [图片]"
如何用集算器做到该统计效果,主要是将渠道做成图中的样式,该用哪个函数呢?求大佬支招!
=3.new(1:f1,:f2,:f3).group(f1;.(f2).concat@c():f2,.sum(f3):f3)
=3.new(1:f1,~:f2,~:f3).group(f1;~.(f2).concat@c():f2,~.sum(f3):f3)
fyi…以下涉及到的 序表 =[A1:F4].record(6)
1、group 支持 ~.fx() 的形式,可以针对 ~ 使用任意可用函数
=序表.group(地区,产品;发行时间,~.id@u(渠道).concat@c():渠道,~.sum(数量):数量,~.sum(金额):金额)
2、groups 或者 group@s 只支持聚合函数,但此时没有针对去重的聚合,所以在聚合渠道字段去重时稍显复杂,用 iterate。此时如果用 concat@c() 对渠道字段聚合,后续的去重会比较麻烦。所以,不烧脑就用方法 1 的 group。
=序表.groups(地区,产品;发行时间,iterate(~~/if(!pos(~~,渠道),","/渠道)).sbs(2:):渠道,sum(数量):数量,sum(金额):金额)
好的,谢谢,麻烦您嘞
试了您给的函数,确实可以,另外还有一个需求我发在下面了,您看一下,这个需求我的构思是分组后,先字符串拼接,再把拼接后的字符串再次拼接,您看是否可行?
fyi…
=A6.group( 产品; 发行时间, ~.id@u(渠道).concat@c():渠道, ~.sum(数量):数量, ~.sum(金额):金额, ~.groups( 地区; [地区,sum(数量)/"件",sum(金额)].concat@c() ).(#2).concat("; "):地区金额及件数 )
感谢,问题解决了,太麻烦您了
@1f2y3f 不谢😄🙏
实际上,我还是纠结于 concat 作为聚合函数时该如何去重、忽略 null、忽略假空 (zero-width 空)
比如,计数在聚合时可以用 count,或者不重复计数 icount,很直观。
但文本聚合拼接 concat,作为聚合函数时,总觉得缺了点啥(个人愚见)实在意难平😄
不能有个聚合函数 iconcat()吗?或者 concat@去重 (),concat@忽略 null()…
实务中文本聚合还是挺常见的。
那可以给老贼提点意见,不过新增加的一般业务中也用不了,项目中用的集算器为了安全考虑版本都挺低的,很多新函数新用法用上去都报错
=3.new(1:f1,:f2,:f3).group(f1;.(f2).concat@c():f2,.sum(f3):f3)
fyi…以下涉及到的 序表 =[A1:F4].record(6)
1、group 支持 ~.fx() 的形式,可以针对 ~ 使用任意可用函数
2、groups 或者 group@s 只支持聚合函数,但此时没有针对去重的聚合,所以在聚合渠道字段去重时稍显复杂,用 iterate。此时如果用 concat@c() 对渠道字段聚合,后续的去重会比较麻烦。所以,不烧脑就用方法 1 的 group。
好的,谢谢,麻烦您嘞
试了您给的函数,确实可以,另外还有一个需求我发在下面了,您看一下,这个需求我的构思是分组后,先字符串拼接,再把拼接后的字符串再次拼接,您看是否可行?
fyi…
感谢,问题解决了,太麻烦您了
@1f2y3f 不谢😄🙏
实际上,我还是纠结于 concat 作为聚合函数时该如何去重、忽略 null、忽略假空 (zero-width 空)
比如,计数在聚合时可以用 count,或者不重复计数 icount,很直观。
但文本聚合拼接 concat,作为聚合函数时,总觉得缺了点啥(个人愚见)实在意难平😄
不能有个聚合函数 iconcat()吗?或者 concat@去重 (),concat@忽略 null()…
实务中文本聚合还是挺常见的。
那可以给老贼提点意见,不过新增加的一般业务中也用不了,项目中用的集算器为了安全考虑版本都挺低的,很多新函数新用法用上去都报错