Power Query轻松搞定:数据透视时的多文本合并问题

2021-08-30 11:03:00 浏览数 (1)

小勤:大海,能不能在数据透视的值里面实现多个文本的合并啊?比如下面这个,将评价合并在一起:

大海:当然可以啊,而且无论用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的实现方法啊。

大海:好。

0 人点赞