前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Power Query中提取数据——列表篇(2)

如何在Power Query中提取数据——列表篇(2)

作者头像
逍遥之
发布2020-03-23 16:36:37
1.2K0
发布2020-03-23 16:36:37
举报
文章被收录于专栏:数据技巧

(四) 根据条件提取数据

1. 根据条件从列表中进行提取

List.Select(list as list, selection as function) as list

第二个是一个函数公式,返回的是也是一个列表。

例:

List.Select({1}, each _ =1)={1}

注意:返回的是列表格式,而不是值

List.Select({1..10}, each Number.Mod(_,6)<3)={1,2,6,7,8}

List.Select({"a".."z",null,true},each _<>null)={"a".."z",true}

2. 跳过指定数据提取

List.Skip(list as list, optional countOrCondition as any) as any

如果第2参数省略,则默认跳过第一个值;如果第2参数为数值,则跳过指定列表排在前面的值;如果第2参数为条件,则返回满足条件的第一个元素开头,如果第一个条件就不满足,怎不跳过。

例:

List.Skip({1..10})={2..10}

List.Skip({1..10},7)={8,9,10}

List.Skip({1..10}, each _<5)={5..10}

List.Skip({1..10}, each _>5)={1..10}

解释:第1个数据为1,不满足>5,则不跳过

List.Skip({1..10,1}, each _<5)={5..10,1}

解释:第1个不满足的数值是5,所以跳过5之前的数值。

3. 根据区间来提取

List.Range(list as list, offset as number, optional count as nullable number) as list

第2参数为偏移量,为必选项,从0开始;第3参数为偏移后的位数,返回的是list格式。

List.Range({1..10})={1..10}

List.Range({1..10},5)={6..10}

List.Range({1..10},0,1)={1}

List.Range({1..10},3,4)={4..7}

4. 根据包含文本来提取

List.FindText(list as list, text as text) as list

第1参数为列表,第2参数为文本格式,返回的是列表格式。

例:

List.FindText({"a".."z"},"b")={"b"}

List.FindText({"abc","a","ab","ac","bc"},"ab")={"abc","ab"}

List.FindText({"abc","a","ab","ac","bc"},Text.Start("abc",2))={"abc","ab"}

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据技巧 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档