小勤:大海,能不能在数据透视的值里面实现多个文本的合并啊?比如下面这个,将评价合并在一起:
大海:当然可以啊,而且无论用Power Query还是Power Pivot,都可以轻松实现。
小勤:啊,这么厉害?先说说Power Query的呗?
大海:好的,比如现在数据已经获取到了Power Query里:
Step-1:透视列
小勤:聚合里用“计数”?
大海:别急嘛,咱们先用计数生成基础代码。
小勤:啊,又像做数据分组那样改函数?
大海:对啊,你看,生成的代码:
小勤:嗯。我知道了,List.Count就是表示计数,那改成Text.Combine就是合并文本了!
大海:聪明,你试试?
小勤:好的,【List.Count】改为【Text.Combine】——咦,合并是合并了,可是怎么添加分隔符呀?
大海:你都没告诉Text.Combine函数用什么分隔符,它怎么知道你想怎么表示?
小勤:也对,但是,怎么加分隔符啊?这里只给了个写函数名称的地方!
大海:这种情况下,要构造自定义函数来实现。
小勤:这么复杂?
大海:其实一点儿也不复杂,你看:
Step-2:修改函数
小勤:将【List.Count】改为【(s)=>Text.Combine(s,"、")】?什么意思?
大海:这是在函数内调用函数时,如果需要传递参数时构造自定义函数的一种简略写法,相当于构造了一个匿名(反正用完就不用了,所以名字也不起了)的自定义函数:
没有名字的函数=(s)=>Text.Combine(s,"、")
然后直接调用这个【没有名字的函数】
小勤:原来这样,我正在想如果要加其它参数怎么加呢,不过这样省写的方式,一下子感觉怪怪的。
大海:没关系,自己动手多写多体会一下就好了,如果一时不太熟悉,可以先在前面写自定义函数,然后这里再调用,但是当你熟悉了,你就知道先写再调用的方式有点儿多余了。
小勤:嗯,我先试试。改天再教我Power Pivot的实现方法啊。
大海:好。