当Power Query里的名称中有一些特殊字符,怎么办?

『 从一个简单问题说起 』

昨天,在某个群里看到一个提问,意思是用Power Query新建了一个查询,但想在M语言(函数)里引用的时候,不知道该怎么写,如下图所示:

显然,这个问题在于:名称里有特殊字符,空格及小括号——当在Power Query里的查询、步骤、字段等名称存在特殊字符的时候,引用时需要在名称外面套上井号(#)加双引号(""),如这个问题,引用这个查询时,需要写成:#"依星06B (2)"。

『 深入一点儿…… 』

那么,如果其中包含了一些自己都搞不清楚的字符(肉眼看上去就这样,但实际不是,所以怎么写都不对),那怎么办?

其实也很简单,就用Power Query里的操作来帮你实现,比如现在有查询“订单表(2)”,那么,可以做个引用:

这样生成“订单表(3)”,看一下它的源里的公式,复制出去用就好了:

如果是步骤呢?那就在针对那个步骤随便做个操作,如下图所示:

然后看生成的步骤代码:

那如果是字段名称呢?当然,我们可再针对这个列随便做个操作,比如分列之类的,但是,借这个问题——

『 再深入一点儿…… 』

讲个原来没讲过的功能——“深化”。

具体可以这样操作——直接右键该列中任意单元格,单击“深化”按钮:

然后看生成的下一步骤代码,如下图所示:

所谓“深化”,实际上可以理解为用行列的引用方式来提取该格子的内容,具体可参考我前面写的一篇文章《重要!很重要!非常重要!理解PQ里的数据结构(四、根据内容定位及筛选行)》。

不过,如果你看了这篇文章的,再回头看上面所生成的深化公式,你肯定或者应该会有个疑问——

如果订单ID存在重复呢?“深化”的公式是怎样的?因为当订单ID重复时,将不能用“{[订单ID=10249]}”这种形式来确定具体的行,所以我们可以进一步找个例子试一下:

结果如下图所示:

也就是说,当不能用一个字段的具体值来确定行标时,深化会采用直接写行标号的方式来完成,请参考文章《重要!很重要!非常重要!理解PQ里的数据结构(二、行列引用)》。

『 感谢…… 』

有粉丝留言“最通俗易懂的Power BI公众号”——非常感谢您的关注和认可!我将继续努力,写更多通俗易懂的文章,争取录“最通俗易懂”的视频


(0)

相关推荐