一、排名的两种套路:
1、排序后加索引
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 排序 = Table.Sort(源,{"金额", 1}), 索引 = Table.AddIndexColum[......]
国内首个M语言分享博客
let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 排序 = Table.Sort(源,{"金额", 1}), 索引 = Table.AddIndexColum[......]
要写得一手好代码,离不开一款顺手的编辑器。VBA有VBE,DAX有DAX Studio,而M。。。什么都没有。。。
没有怎么办?那就自己造呗~
使用Notepad++,打造一款自己专属的M语言编辑器,它可以:
①智能高亮显示
②关键字和函数智能提示
③参数智能提示
原文由张文[......]
尽管PQ非常灵活,但仍然存在一些不太方便的地方,比如文件路径为绝对路径,无法动态刷新,做好的报告发给同事后必须修改路径才能刷新。但是PQ做不到的,工作表函数也许能做到。
首先我们打开报告,新建一个sheet,先来测试一下,在任一单元格输入=CELL("filename")
,返回了当前文件的动态路径[......]
在PQ中我们经常需要对数据进行展开,而这个动作通常只是需要点一下鼠标不需要我们写公式的,所以一般也不会注意到如何去简化。比如如下一组数据,对其先分组再展开,虽然得到的结果还是它。
先完全界面化操作,不作任何修改,看下系统自动生成的公式:
let 源 = Excel.Curren[......]
把[列4]第3行的数据替换为999,其他数据不变,数据源自拟。
本身并不是什么难题,单一个Table.ReplaceRows
函数就能做到,但问题是如果列数很多需要把所有的列名都写上,太长了。利用record合并后相同字段会替换前面保留最后一个值的特性,就能简[......]
在Power BI中经常需要使用到日期表,尤其是使用DAX中的时间智能函数。在excel 2016版本的Power Pivot中,我们可以使用新建日期表的功能快速创建一张日期表,但是在2013及Power BI中就没那么方便了。不过这种问题在我们如此灵活的PQ中,当然只是小case啦~
首先需要根[......]