首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将List.Generate用作循环

如何将List.Generate用作循环
EN

Stack Overflow用户
提问于 2019-06-27 19:49:44
回答 1查看 494关注 0票数 0

这可能很简单,但如果能帮助我朝着正确的方向前进,我将不胜感激。我正在尝试使用power查询中的list.generate根据1-5的差值来计算tix的数量。必须使用像list.generate这样的循环。

当前tix-1

当前的tix-2

当前的tix-3

当前的tix-4

当前的tix-5

代码语言:javascript
复制
= Table.AddColumn(#"Added Custom1", "Count", each List.Count(Table.SelectRows(#"Added Custom1", (C) => 
(
    [Tix]=C[Tix]-(List.Generate(()=>1,each _ 5, each _ - 1))
    )
    )[Column1]))

以下是示例数据。我的想法是能够将生成的一系列数字作为循环放入。这是最简单的表示,因为对于其他公式,我需要生成的数字作为x,例如。(-1/2 x*x + 41/2 x)。

代码语言:javascript
复制
+-------------+------------+
 TIX          |TIX count   |
5,000,243     | 0          |
6,991,904     | 0          |
6,991,905     | 1          |
6,991,906     | 2          |
6,991,907     | 3          |
6,991,908     | 4          |
7,000,234     | 0          |
+-------------+------------+

简单地说,我的目标代码应该是这样的,我相信list.generate可以简化它。

代码语言:javascript
复制
        = Table.AddColumn(#"Added Custom1", "Count", each List.Count(Table.SelectRows(#"Added Custom1", (C) => 
(
    [Tix]=C[Tix]-1
   +[Tix]=C[Tix]-2
   +[Tix]=C[Tix]-3
   +[Tix]=C[Tix]-4
   +[Tix]=C[Tix]-5 )
    )
    )[Column1]))

尝试了基于几乎类似的post的另一个代码:Power Query M loop table / lookup via a self-join。这也会返回一个错误。请告诉我哪里做错了。

代码语言:javascript
复制
= Table.AddColumn(
    #"Renamed Columns", 
    "Count", 
        List.Sum(
                List.Generate(
                    () => [Continue = 1],
                    each [Continue]<6,
                    each [Count = 
                                List.Count(
                                    Table.SelectRows(
                                        #"Renamed Columns", 
                                        (x) => x[Tix]-[Continue]= [Tix]))[Column1]],
                                                     each [Count])))
EN

回答 1

Stack Overflow用户

发布于 2019-07-01 17:56:26

通过研究,我找到了解决方案:

代码语言:javascript
复制
= Table.AddColumn(#"Added Custom2", 
"Count", each List.Sum(
List.Generate(
() => [Count=List.Count(Table.SelectRows(#"Added Custom2",
(C) => C[Tix] = [Tix]-Continue)
[Column1]),
Continue =1],
each [Continue]<=10,
each [Final_Item = [Final_Item], 
Continue =[Continue]+1],
each [Count])))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56790347

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档