大海:上次我们知道了每个查询步骤的名称其实就是表名,有了表名之后,可以这样取行(Record)、列(List)以及“单元格”的内容。我们接着上一篇内容的案例来练习。
首先是行的,用大括号括住行标(从0开始),比如要取第1行的内容,我们添加个自定义列显示出来=合并的查询{0}:
结果如下,添加的列里面每个“单元格”的内容都是一个Record,都是第1行的内容:
我们如果要去某列的内容,则用中括号括住列名即可,如我们添加个自定义列取“合并的查询”结果表的产品列来体验一下,公式=合并的查询[产品]
结果如下,新添加的列里每一个“单元格”里都是一个List,即合并查询表里的产品列所有内容:
那么,要取某一“单元格”的内容呢?就是行跟列取法的组合,比如我们取合并的查询里第1行产品列的内容=合并的查询{0}[产品]:
结果里每一个“单元格”的内容都是第1行产品的内容。
小勤:嗯,大概理解了,但现在都是取某一个固定行的,怎么动态地去取呢?比如我要取当前行的内容。
大海:PQ里有一个很特殊的字符——英文下划线(_),表示当前内容,比如要引用当前行=_:
结果就是当前行的内容:
小勤:啊!原来这样!这下划线也太神奇了吧!
大海:是啊!这个下划线的应用十分灵活,很难通过几句话来简单解析清楚,后面我们会结合更多的实际案例去慢慢体会。
小勤:好的。那引用当前行某列里的内容呢?
大海:这个用直接用列名就行了,以前很多公式里其实都是这么直接用的,比如取当前行的单价=[单价]:
前面咱们说了下划线表示当前行,所以,取当前行的单价,也可以用=_[单价]:
其结果都是一样的:
小勤:原来这样。这个我真要自己动手练一练。
在线M函数快查及系列文章链接(建议收藏在浏览器中):
https://app.powerbi.com/view?r=eyJrIjoiZDVhZDBlMTYtNDkzNC00YWFjLWFhMmMtMmI3NTk2Y2ZhMzc3IiwidCI6ImUxMTAyMjkxLTNkYzUtNDA1OC1iMDc3LWQ0YzU4YWJkMWRkOCIsImMiOjEwfQ%3D%3D
本文分享自 Excel到PowerBI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!