个人简历制作网站,推荐10网站,做竞价可以让网站提高快速排名吗,登录建设官方网站List.Select 筛选列表
——在列表中返回满足条件的元素
List.Select(列表,判断条件) 不是列表的可以转成列表再筛选#xff0c;例如 Record.ToList
不同场景的判断条件参考写法
(1)单条件筛选
列表中小于50的数字 List.Select({1,99,8,98,5},each _50)
(2)多条件筛…List.Select 筛选列表
——在列表中返回满足条件的元素
List.Select(列表,判断条件) 不是列表的可以转成列表再筛选例如 Record.ToList
不同场景的判断条件参考写法
(1)单条件筛选
列表中小于50的数字 List.Select({1,99,8,98,5},each _50)
(2)多条件筛选【或】
列表中小于50或大于98的数字 【x50,x98】 List.Select({1,99,8,98,5},each _50 or _98)
(3)多条件筛选【且】
列表中大于25且小于100的数字 【25x100】 List.Select({1,30,25,18,100},each_25 and_100
(4)嵌套函数进行筛选
例如筛选奇偶 List.Select({1,30,25,18,100},Number.IsEven) ——Number.IsEven判断是否为偶数 ——Number.IsOdd 判断是否为奇数
(5)筛选文本
例如要包含了 孙 的 List.Select({“孙兴华”,“孙悟空”,“猪八戒”},each Text.Contains(_,“孙”))
实际运用
1 行筛选
但是往往列表不是现成的就需要转化例如 求每个学生及格科目有几门也就是筛选的对象是每一行记录 1 那么就需要先在每一行里嵌入当前行的记录 Table.AddColumn(源,“及格数”, each_)
2 接着将记录转列表 Table.AddColumn(源,“及格数”, each Record.ToList(_))
3 再跳过姓名只取后面的数值。因为如果不做这一步后面筛选的时候会告诉你 文本无法运算 而出错像下图这样 Table.AddColumn(源,“及格数”, each List.Skip(Record.ToList(_),1))
4 再接着筛选 Table.AddColumn(源,“及格数”, each List.Select(List.Skip(Record.ToList(_),1),each _60)) 到此为止筛选出来的结果还是一个list
5 最后计数 Table.AddColumn(源,“及格数”, each List.Count(List.Select(List.Skip(Record.ToList(_),1),each _60)))
那么优秀的科目数量也可以依法炮制 Table.AddColumn(及格数,“优秀数”, each List.Count(List.Select(List.Skip(Record.ToList(_),1),each _80))) ——标红的地方需要自行替换如果不在上一步的基础上做这里就直接写 源。
2 列筛选
以上图为例就是在科目里筛选及格人数 不需要再转成列表因为本身就是列表。也不需要跳过第一个因为本身就不包含标题。 但是需要写成记录 record的形式再转成表 Table.FromRecords并连接上前一个表。 全部写完过分长了下面以语文为例
语文List.Count(List.Select(源[语文],each _60)) 其他科目也可以参照着加在后面位置在中括号 ] 的前面每写一个用英文逗号隔开
步骤解析可以看List.Sum 列求和 是同一个思路