在操作Power Query的过程,无疑就是处理资料过程,而过程中的每一个步骤即为M语言所执行查询步骤,而查询结果里若有容器类型的资料,除了可以当下预览(不用产生额外步骤)外,也可以探勘该容器的内容,也就是撷取该容器的内容步骤为「深化」或「向下切入」。
在此就以一个内容包含了不同资料型态的[混合内容的清单]来为大家演练一下预览查询内容与展开容器内容的操作。在这清单里包了文字、数字清单的元素。
若要显示清单元素的内容,只要在查询结果的画面上点按此元素即可。随即在查询结果画面的下方将分割出显示区,显示着该选取元素的内容,由于这只是预览查询结果,右侧[套用的步骤]里的查询步骤并没有任何影响。
有些朋友可能会觉得上述的操作与说明是不是怪怪的!点按List(清单)里的某个元素后,立即在画面下方显示该元素内容,这不是多此一举吗?因为,光从这个List查询结果画面就可以看到每一个元素的内容了,何必再点按它来预览它呢?其实,那是因为我们刚刚点按的清单元素是单纯的文字资料型态,若点选的清单元素内容是数值型态,也会是如此的状况。因此,数值与文字是纯量,是属于已经无法再深入探索的单纯内容了。但是,若是面对诸如List、Record、Table等具备结构化的元素,可就不一样了!因为,在查询结过上,仅凭List、Record、Table等等字眼是看不出其实质内容的。譬如下图所示,查询结果里有一个List元素,光看这个字并不了解该List的内容为何,此时,便可以藉由资料的检视操作,点按一下List这个文字右侧的空白处(不是直接点按List这个文字喔!),便可以在查询结果下方开启资料内容检视区,看到该清单的内容,而这个行为并非真的要处理该List,因此并不会添增任何查询步骤。
然而,若是真的要萃取该容器的内容,也就是深化(撷取)该容器里的内容,那可就是真的要执行新的查询步骤了!若有此需求,可以将滑鼠游标移至查询结果画面资料型态为容器的名称上,此时滑鼠指标将呈现如同超连结般的手指图示状,点按一下,便立即展开该容器而取撷取了该容器的内容,因此,当下的查询结果便是该容器的内容。以刚刚的例子为例,点按了List就不是预览检视了,而是扎扎实实的多了一个查询步骤,查询结果便是此清单的内容。这个操作观念也称之为[向下切入]的操作。
此外,若是以滑鼠右键点按查询结果画面里资料型态为容器的资料格空白处,可以显示快显功能表,再从中点按[向下切入]功能选项,即表示要根据此查询内容,再进行深化,意即撷取其更深入的内容。如下图所示的範例,针对List再度展开(向下切入)后,显示了此清单内容共有"美式咖啡"、"柳橙汁" 与 "乌龙茶" 等3个元素的查询结果。既然执行了[向下切入]功能操作,亦算是添增了一个深入撷取资料内容的查询步骤。因此,在查询设定工作窗格里的[套用的步骤]内,理所当然地又多了一个新的查询步骤。
不仅仅是针对List资料型态的查询结果在进行[向下切入]后会有上述的反映,只要是属于诸如Record、Table等结构化的资料型态,都可以透过后续[向下切入]的操作,再深化而撷取其内容。此外。除了利用前述快显功能表[向下切入]的操作来成资料的深化外,当滑鼠游标停在查询结果画面的该元素内容上,也会显示超连结的手指图示,只要点按一下也是[向下切入]的操作喔!
有趣的实验来了,若查询结果是文字内容,已经是最基本、最单纯且无法再深化的资料了,所以,再对其进行[向下切入]功能操作,会有甚么影响呢?
当然就是将此内容萃取出来,而其值为文字型态的内容,因此,到此的最终查询结果就是文字资料啰!相同的概念,若是面对数值型资料的查询结果进行[向下切入]功能操作,查询结果也会是相同的数值型态。
前一篇:<<Power Query三大容器实作系列 - (3/7) Power Query List的建立与编辑>>
下一篇:<<Power Query三大容器实作系列 - (5/7) – 关于List的索引值>>