又一种数据堆在一起的情况,函数法却更简单了!
- 1 -
先说一个前段时间发过的文章《数据都堆在一列里,2种操作解法及1种函数解法(含视频)》里面涉及的一个小问题。
首先,里面讲的是类似下面的情况和转换要求:
其中通过List.Split+Table.FromRows函数非常简单地实现了数据的转换:
但有朋友反映,这样做的时候,发现数据刷新很慢,实际上,这跟List.Split函数有关系,通过对要拆分的内容进行缓存,效率将会极大提升,即在使用List.Split函数之前,先通过List.Buffer函数缓存:
然后,在使用List.Split函数时,引用经过缓存的列表即可:
- 2 -
前面讲的例子里面的数据,有一个特点,即光溜溜的就只是数据,但实际工作中,更多的可能是下面这种情况:
即,源数据里面,除了数据本身堆在一列,它的列名也堆在一列里,那该怎么办呢?
这时候,千万不要以为它是一张表的样子,就被迷惑了,想着去拆分表(如Table.Split),不是不行,只是会比较繁琐,因为拆分成表后,你还得去做转置(这不仅需要转置的函数,还需要通过其他如List.Transform等批量处理函数来辅助实现)。
实际上,因为列名都是一样的,所以,我们只要拆分内容就好了,根本不需要理会列名,当然,我们首先也要先缓存一下内容列,然后就可以直接用List.Split进行拆分:
而且,因为表里面就有了列名,所以,我们在用Table.FromRows时,可以直接取表里的列名(前面5项内容:List.FirstN)作为转换后的表的列名,最后的步骤公式如下:
- 3 -
写这篇文章的时候,是5月20日(520),朋友圈被一个照片刷了一下:
当然,房产证做礼物,这波狗粮绝对秀啊!
但是,仔细想想,其实这个并不符合实际逻辑,毕竟,房产证下来之前,都是双方经过无数轮看房、贷款、签字手续才确定下来的事,最后领个房产证其实是完全没有什么新鲜感的事。所以,这图,其实就是房产销售/中介在蹭节日流量而已。
最后,借这个事情,结合上面的问题,扯个有点儿牵强的道理:凡事多想想,不要被表象迷惑,也许会有更清晰的思路,更好的方法。
【近期热门文章】