Power Query三大容器实作系列 - (3/7) Power Query List的建立与编辑

这一篇文章先来跟大家介绍List(清单)容器的特性与使用方式。在Power Query里List容器是一种存储单一值序列的资料结构,类似于其他编程语言中的阵列或集合。它非常适合处理简单的资料列表,例如一系列数字、文字或日期。在 Power Query 中,List 是一种基本资料类型,经常在资料转换或处理过程中使用。

List的建立与编辑

在M语言里是以一对大括号来代表一个List(清单),在建立与描述List里的元素时,元素彼此之间要以逗点分隔。例如下列是一个包含了9个元素,且都是数值资料类型的List。

={2,5,9,11,6,5,3,10,30}

是不是很类似小时候学习数学时的 集合 表达方式。

其他诸如以下的写法,都是建立List的概念:

={2,5,9,11,6,5,3,10,30},

={"ChatGPT","Copilot","Gemini","DeepSeek"},

={"苹果","柳丁","葡萄","凤梨","火龙果","香蕉"},

={"新竹","台北","高雄","桃园","新北市","屏东"},

={"苹果","葡萄","凤梨","UBike",10,30}

注意:List(清单)里面的元素如果是文字型态的资料,记得,一定要用一对双引号囊括起来喔!说不如做,我们就实际开始List的实作吧!首先,在Excel环境里执行[资料]/[取得资料]/[启动Power Query编辑器],启动Power Query编辑器应用程式视窗。

在左侧查询导览窗格里,以滑鼠右键点按空白处,再从展开的快显功能表中点按[新增查询]/[其他来源]/[空白查询]功能选项。

一开始建立的空白查询其预设名称为「查询1」,并没有任何要执行的程式编码,而查询结果的预设资料型态是文字型态,因此,会是个ABC的图示。查询名册。

我们直接在资料编辑列上输入:

={23,5, "苹果","葡萄","凤梨", "UBike",10,30}

这便是建立一个清单最简易的方式。由于这查询结果是一个清单,因此查询图示再也不是ABC,而是切切实实的清单图腾模样。此外,由于此查询目前正处理使用中,所以,除了画面中央查询结果窗格里可以看到List(清单)资料型态输出内容外,视窗上方也可以看到Power Query编辑器亦提供了清单工具的操作介面与环境。当然,我们也可以将原名为查询1名称改成更贴切的查询名称。

List(清单)资料型态也具备了几项特性,例如:「嵌套式结构」(Nested Structure),以及连续性资料元素的特质。

具备「嵌套式结构」(Nested Structure)

List里的元素也可以是另一个List,因此,也可以有以下的写法:

={{240,108,132,97,86,49},{"苹果","葡萄","凤梨"},{88,66,102,94,70,58}}

={{"台北","高雄","桃园","新北","台南"},水果清单,{"A级","B级","C级","C级","B级","A级"}}

备注:当然,这样的写法,先前一定也是已经定义了一的水果清单:

水果清单={"苹果","葡萄","凤梨"}

这种具备「嵌套式结构」(Nested Structure),正所谓清单里还有清单,让处理资料时更具弹性和效率!

使用{..}描述连续性资料

此外,建立List时若List里的元素是连续性的资料内容,则可以透过{起始..结束}的语法来表示,例如:{0..9}表示0到9的连续性阿拉伯数字。例如:

{"a".."z"}

表示小写英文字母a到z的文字清单。因此{"a".."z"}里面会有26个文字元素,而List也具备了嵌套的概念,也就是在List元素起始与结束的表达上,起始值与结束值允许使用其他函数或运算式。例如:小写英文字母”a”的ASCII值是97,因此,使用M语言里的Character.FromNumber函数,也能够呈现26个小写英文字母的清单:

= {Character.FromNumber(97)..Character.FromNumber(122)}

那么,试试下列的写法,List会输出什么呢:

={Character.FromNumber(19968)..Character.FromNumber(40868)}

 

前一篇:<<Power Query三大容器实作系列 - (2/7) Power Query的三大容器>>
下一篇:<<Power Query三大容器实作系列 - (4/7) 向下切入:深化(撷取)容器里的内容>>

 

 

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章

5 点赞(415) 阅读(67)