Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >范围内的PowerQuery范围

范围内的PowerQuery范围
EN

Stack Overflow用户
提问于 2019-10-18 06:32:12
回答 1查看 49关注 0票数 0

我正在尝试过滤出大型数据集中某个值范围内的值。我这里有一个值数据的小摘录:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Chng.1      Chng.2      Length   Post   Index
117,200     117,400     200      bf     1
118,800     119,000     200      bf     2
118,939     118,949     10       bo     3
119,863     119,873     10       bo     4
120,400     121,200     800      bf     5
120,869     120,879     10       bf     6
121,400     121,600     200      bo     7
128,800     129,200     400      bo     8
129,065     129,075     10       bo     9

在这个数据集中,我希望过滤掉索引6和9,因为它们已经包含在一个范围内。

即索引6 (120,869-120,879)的桩号在索引5 (120,400-121,200)的桩号范围内,并且它们都是"bf“之后。索引9也是如此,它在索引8的范围内,并分享帖子"bo“。

谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-18 10:41:20

具体地说,在您的情况下(后续范围在前一个范围内),您可以使用以下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let
    Source = Excel.CurrentWorkbook(){[Name="Table"]}[Content],
    sort = Table.Sort(Source, List.Transform({"Post", "Chng.1", "Chng.2"}, each {_, 0})),
    group = Table.Group(sort, Table.ColumnNames(Source), {}, 0,
                       (a,b)=>Number.From(b[Post] <> a[Post] or b[Chng.1] >= a[Chng.2]))
in
    group

否则(范围相交)尝试此代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
let
    Source = Excel.CurrentWorkbook(){[Name="Table"]}[Content],
    cols = {"Post", "Chng.1", "Chng.2"},
    sort = Table.Sort(Source, List.Transform(cols, each {_, 0})),
    group = Table.Group(sort, cols,
                       {{"Chng.1_new", each List.Min([Chng.1])}, 
                        {"Chng.2_new", each List.Max([Chng.2])}}, 0,
                       (a,b)=>Number.From(b[Post] <> a[Post] or b[Chng.1] >= a[Chng.2])),
    add = Table.AddColumn(group, "Length", each ([Chng.2_new] - [Chng.1_new])*1000), //multiplication by 1000 is optional, depends on your decimal separator
    remove = Table.RemoveColumns(add, List.Skip(cols))
in
    remove
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58445149

复制
相关文章

相似问题

PowerQuery中的IF语句的日期范围

111

范围内的范围。AngularJS

11

选择范围内的范围

26

范围内SUMIF范围

30

用于动态范围内的动态范围内循环

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文