Table.Distinct取唯/众数….Distinct/Mode/判断…IsDistinct(Power Query 之 M 语言)
数据源:
“姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列7行数据,其中姓名列第1、2行与第6、7行内容重复
目标:
删除姓名列中内容重复的行
操作过程:
选取指定列》【主页】》【删除行】》【删除重复项】
M公式:
= Table.Distinct( 表, {{ "列名1", 区分大小写},...,{ "列名n", 区分大小写}})
说明:
删除重复项的规则是保留第一次出现的。
对整表所有列删除重复项:=Table.Distinct( 表)
对指定列删除重复项:=Table.Distinct( 表,{ "列名1",...,"列名n"})
对列中字母大小写进行区分:=Table.Distinct( 表,{ "列名", Comparer.OrdinalIgnoreCase})
只返回第一行数据:=Table.Distinct( 表, {})
最终效果:
姓名列中的重复项被删除,只保留1-5行
扩展:
列表删除重复项:=List.Distinct( 列表, 条件)
示例1:=List.Distinct({1,2,2,3,3,4})
结果:{1,2,3,4}
示例2:=List.Distinct({5,6,4,4,5,5}, each _ >4)
结果:{5,4}
说明:列表中大于4的结果为{true,true,false,false,true,true},去除重复项后剩下{true,false},结果对应的位置就是{5,4}
判断表或表中指定列中是否是唯一值:= Tabel.IsDistinct( 表, { "列1", "列2",…, "列n"})
结果为逻辑值,其中一列里是唯一值的结果为True,否则为False。
判断列表中是否是唯一值:= List.IsDistinct( 列表)
返回一列中的众数值:= List.Mode( 列表, 条件)
有多个众数时,各众数中最后一个
{1,1,2,2,4,3,3,4}中分别有四个众数,1、2、4、3,最后一个众数是3,List.Mode的结果就是3
返回一列中的所有众数的列表:= List.Modes( 列表, 条件)
示例1:=List.Modes({1,1,2,2,4,3,4,3})
结果:{1,2,4,3}
示例2:=List.Modes({1,1,2,2,4,3,4,3}, each _ >2)
结果:{1,4}
说明:列表中大于2的结果为{false,fasle,false,false,true,true,true,true},众数结果为{false,true},结果对应的位置就是{1,4}
Table.Distinct取唯/众数….Distinct/Mode/判断…IsDistinct(Power Query 之 M 语言)的更多相关文章
- Table.Range保留中间指定的….Range/Middle(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳"&qu ...
- 判断是否为空….IsEmpty(Power Query 之 M 语言)
公式: 判断表:=Table.IsEmpty( 表) 判断列表:=List.IsEmpty( 列表) 说明: 此公式的参数一般是一个由公式生成的结果 最终效果: 表/列表中全部是空的返回true 表/ ...
- 判断存在…Contains…(Power Query 之 M 语言)
表函数 判断记录在表中是否存在 = Table.Contains( 表, 记录, {"指定列1",-, "指定列n"}) = Table.ContainsAll ...
- Table.ReorderColumns移动…Reorder…(Power Query 之 M 语言)
数据源: 至少两列 目标: 列顺序重新排列 操作过程: 选取待移动的列>鼠标拖放列标题 选取待移动的列>[转换]>[移动]>选取 M公式: = Table.ReorderCo ...
- Table.FillDown填充Table.Fill…(Power Query 之 M 语言)
数据源: 任意列中包含空单元格 目标: 将空单元格填充为其上或其下单元格中的内容 操作过程: 选取指定列>[转换]>[填充]>[向下] 选取指定列>[转换]>[填充]&g ...
- Table.RowCount行列计数…Count(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 计算行数(包括空行) 操作过程: [转换]>[对行进行计数] M公式: = Table.RowCount( 表 ) 扩展: 对表中列进行计数:= Table.C ...
- Table.ReverseRows反转…Reverse…(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 将原排列顺序颠倒 操作过程: [转换]>[反转行] M公式: = Table.ReverseRows( 表 ) 扩展: 反转列表:= List.Reverse( ...
- 转置Table.Transpose(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 转置成两行五列 操作过程: [转换]>[转置] M公式: = Table.Transpose( 表 )
- Table.CombineColumns合并…Combine…(Power Query 之 M 语言)
数据源: 任意表,表中列数超过两列 目标: 其中两列合并为一列 操作过程: 选取两列>[转换]>[合并列]>选取或输入分隔符>输入新列名>[确定] M公式: = T ...
随机推荐
- [bzoj2668]交换棋子
基本思路是,要让所有黑点都相对应(所以首先判断黑点的个数).如果没有交换限制,可以按以下方法建图:源点向所有初始黑点连(1,0)的边,最终黑点向汇点连(1,0)的边,相邻的两点连边(inf,1),最小 ...
- Orika - 类复制工具
Orika 前言 类复制工具有很多,比较常用的有 mapstruct.Spring BeanUtils.Apache BeanUtils.dozer 等,目前我所在的项目组中使用的是 mapstruc ...
- LOJ 2372 -「CEOI2002」臭虫集成电路公司(轮廓线 dp)
题面传送门 u1s1 似乎这题全网无一题解?那就由我来写篇题解造福人类罢(伦敦雾 首先看这数据范围,一脸状压.考虑到每一层的状态与上面两层有关,因此每层转移到下一层的有用信息只有两层,需要用三进制保存 ...
- quota
一.什么是磁盘配额 磁盘配额从字面意思上看就是给一个磁盘配置多少额度,而quota就是有多少限额的意思,所以总的来说就是限制用户对磁盘空间的使用量.因为Linux是多用户多任务的操作系统,许多人公用磁 ...
- 关于基因GO分析的DAVID简单使用
利用DAVID简单的进行GO富集度分析(这里只做简单的分析,即看基因是否存在在GO的三个过程里面) 比如我们有一组要分析的基因:TRPV6 CXADR PROM1 GRAMD2 ...
- 自动化测试系列(三)|UI测试
UI 测试是一种测试类型,也称为用户界面测试,通过该测试,我们检查应用程序的界面是否工作正常或是否存在任何妨碍用户行为且不符合书面规格的 BUG.了解用户将如何在用户和网站之间进行交互以执行 UI 测 ...
- 动态生成多个选择项【c#】
<asp:CheckBoxList ID="cbxLabelList" runat="server" RepeatColumns="10&quo ...
- binlog真的是银弹吗?有些时候也让人头疼
大家好,我是架构摆渡人.这是实践经验系列的第三篇文章,这个系列会给大家分享很多在实际工作中有用的经验,如果有收获,还请分享给更多的朋友. binlog 用于记录用户对数据库操作的SQL语句信息,同时主 ...
- Shell $()、${}、$[]、$(())
目录 Shell中的 $().${}.$[].$(()) $().${} 替换 ${} 变量内容的替换.删除.取代 数组 $[].$(()) 运算符 Shell中的 $().${}.$[].$(()) ...
- 关于java中的安全管理器
最近再查看java的源码的时候看见了这一类代码 final SecurityManager sm = System.getSecurityManager(); 想要了解这个是为了做什么,查看资料之后发 ...