exce中让两列数据一一对应_Power Query中三种基本数据结构之间的转换

本文介绍了Power Query中的三种基本数据结构——List、Record、Table之间的转换方法,包括Table.ToList、Table.FromList、Table.ToRecord、Table.FromRecord、Record.FromTable、Record.ToTable、Record.ToList和Record.FromList。通过实例展示了如何进行转换,并强调在转换过程中注意Name和Value的结构对应。
摘要由CSDN通过智能技术生成

Power Query中提供了三种基本的结构数据,这是Power Query计算的基础,Power Query中有关于这三种结构数据的M函数,三大类的M函数:

  • List类
  • Record类
  • Table类

每类的函数中,都是关于该类数据的操作函数,其中有三种结构数据互相转换的M函数,我们可以使用这些函数方便的实现数据类型的转换:

f32f4b75f35694f922abf498f6381f61.png

今天介绍8个互相转换的函数:

acba3b312f0fddae20c770be70cc806a.png

我们从这个表格开始操作:

Table.ToList

表格转列表函数,默认用逗号分隔各列:

e70ac5222f4f7b72eaf5d67176283e1d.png

也可以自定义分割符:

e4f16d2f0a63f37a5efd4b872a2608ea.png

Table.FromList

列表转表格,默认是Column1为列名称:

1a8a9cd6e88e0f9e6ac4aa3d9dc87287.png

可以自定义列名称:

a65de7f2987af7582a05b783b494d1ae.png

当然这样转换过来的变成了一列,如果要恢复到原来的三列,需要再分列操作。

Table.ToRecord

表转记录,这个与我们昨天讲的表的行引用相似,返回的是一个列表,由每行数据记录构成的列表:

0dee5f3c8d6be519ed9abe815689608e.png

我们要引用其中的一个记录可以这样:

081275e6be0d6f203dce41be3a0d86f2.png

Table.FromRecord

记录转换表,需要的是是一个记录列表,我们刚刚表转记录的结果刚好符合要求:

69ce313a34d522bbd7c77eeeaaeed8cd.png

如果是单条记录,需要用大括号括起来:返回的就只有一行数据。

f1afac2c1d36b78124c2b179b02afee7.png

Record.FromTable

我们先要做个准备工作:

b827b21b967efea4ffc70bcd17779707.png

两列的名称要用Name,Value来命名,然后这个函数才能识别:

5b49787e6831ff738868049bcdb342de.png

表名前面的#是因为表名称中有空格,要用#号转义

Record.ToTable

同样的用记录转换成表,会自动命名为Name,Value两列:

592571bc8aad0077e1663e7d2d48d851.png

再来看一个例子:

6d26c964fefa4f5706f5665af29f3718.png

记录是不是与VBA中的字典很像?

Record.ToList

记录转列表很直接,只是直接取出Value的值:

20ac7c48b96c08c549d2de6c4f11f485.png

Record.FromList

从列表到记录,需要给出Name,这里我们就用行标来做名称:

fa9290f9a31a7fc5e0c4ac05f034660b.png

可见记录就是Name与Value一一对应,再与记录之间的转换中,要注意Name,Value的结构。

以上就是关于Power Query三种基本结构数据之间的互相转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值