Power Query中提供了三种基本的结构数据,这是Power Query计算的基础,Power Query中有关于这三种结构数据的M函数,三大类的M函数:
- List类
- Record类
- Table类
每类的函数中,都是关于该类数据的操作函数,其中有三种结构数据互相转换的M函数,我们可以使用这些函数方便的实现数据类型的转换:
今天介绍8个互相转换的函数:
我们从这个表格开始操作:
Table.ToList
表格转列表函数,默认用逗号分隔各列:
也可以自定义分割符:
Table.FromList
列表转表格,默认是Column1为列名称:
可以自定义列名称:
当然这样转换过来的变成了一列,如果要恢复到原来的三列,需要再分列操作。
Table.ToRecord
表转记录,这个与我们昨天讲的表的行引用相似,返回的是一个列表,由每行数据记录构成的列表:
我们要引用其中的一个记录可以这样:
Table.FromRecord
记录转换表,需要的是是一个记录列表,我们刚刚表转记录的结果刚好符合要求:
如果是单条记录,需要用大括号括起来:返回的就只有一行数据。
Record.FromTable
我们先要做个准备工作:
两列的名称要用Name,Value来命名,然后这个函数才能识别:
表名前面的#是因为表名称中有空格,要用#号转义
Record.ToTable
同样的用记录转换成表,会自动命名为Name,Value两列:
再来看一个例子:
记录是不是与VBA中的字典很像?
Record.ToList
记录转列表很直接,只是直接取出Value的值:
Record.FromList
从列表到记录,需要给出Name,这里我们就用行标来做名称:
可见记录就是Name与Value一一对应,再与记录之间的转换中,要注意Name,Value的结构。
以上就是关于Power Query三种基本结构数据之间的互相转换。