IT部门的同事不时会扭曲数据使用者的意图,设计出不合理的数据布局,其中比较常见的不合理布局为同一字段含有性质不同的值。假如数据使用者需要如下图的数据:
不幸的是,IT部门的同事提供的的数据为:
如果IT部门的同事拒绝修改以上数据的布局,请使用以下的代码:
由于刘关张学习的[......]
国内首个M语言分享博客
IT部门的同事不时会扭曲数据使用者的意图,设计出不合理的数据布局,其中比较常见的不合理布局为同一字段含有性质不同的值。假如数据使用者需要如下图的数据:
不幸的是,IT部门的同事提供的的数据为:
如果IT部门的同事拒绝修改以上数据的布局,请使用以下的代码:
由于刘关张学习的[......]
M语言虽然函数众多,但是没有一个函数能够像Excel函数Sumproduct()起到对应项相乘然后加总的作用。幸运的是,M语言函数经过适当的搭配可以模仿Sumproduct(),以下是其中一种可行的组合:
在构造这个自定义函数时,首先要想到List.Product()只接受串列作为它的自变量[......]
在工作中常常会遇到不规范的日期,当需要处理与时间相关的问题(比如,时间的区间匹配)就需要把文本型的日期转化为真正的日期(或者整数型日期),否则就会引发错误,因为Power Query不像Excel或者Power Pivot那样会自动为数据进行转换。以下为数种常见的转换(示例日期为2020年01月31[......]
Table.TranformColumnNames()主要用于批量修改表格字段名称,该函数可抽象为function( table as table, nameGenerator as function, Optional options as nullable record) as table。第一[......]
老王经过自己的下属小明时发现小明在办公时间玩手机,所以给他安排了为数据排序的工作。这份数据(DB)记录了10家评分机构对1000家餐厅的评价,最高的评价为5星,最低为1星。老王让小明根据每一家餐厅获得的总星数以行为单位进行升序排列,并且根据每一家评分机构给出的总星数以列为单位进行升序排列。
[......]
行列转换一般是通过Table.Transpose()实现,事实上List.Zip()与Table类的函数进行搭配也能复制这个操作。现在假设我们需要把Table1转化为Table2:
123456789(Table1)
1236456157892412151845(Table2)[......]
List.Sort是对list进行排序的函数,在函数说明中有如下图的例子:
这个例子说明List.Sort()
加上Value.Compare()
的组合是可以对以串列元素为自变量的函数结果进行排序,比如可以根据字串长度进行排序。如果我们有串列为{"**", "+++", "&&[......]