

                
参考
let
    源 = Excel.CurrentWorkbook(){[Name="demo"]}[Content],
    类型 = Table.TransformColumnTypes(源,{{"销售经理", type text}, {"销售日期", type date}, {"销售金额", Int64.Type}}),
    by = Table.AddColumn(类型, "by", each Number.From([销售日期]),Int64.Type),
    解 = Table.Group(by
                        , {"销售经理"}
                        , {
                            "达标日期"
                            , (T)=> 
                                let 
                                    R=Table.SelectRows(
                                                        Table.AddColumn(T
                                                                        ,"LJ"
                                                                        ,each List.Sum(List.FirstN(T[销售金额],[by]-List.Min(T[by])+1) ) )
                                                        ,each [LJ]>=10) 
                                in 
                                Table.SelectRows(R,each [LJ]=List.Min(R[LJ]))[销售日期]{0}? 
                        ,type date
                            }
                        ),
    筛选 = Table.SelectRows(解, each ([达标日期] <> null))
in
    筛选
      
参考
let
    源 = Excel.CurrentWorkbook(){[Name="demo"]}[Content],
    类型 = Table.TransformColumnTypes(源,{{"销售经理", type text}, {"销售日期", type date}, {"销售金额", Int64.Type}}),
    by = Table.AddColumn(类型, "by", each Number.From([销售日期]),Int64.Type),
    解 = Table.Group(by
                        , {"销售经理"}
                        , {
                            "达标日期"
                            , (T)=> 
                                let 
                                    R=Table.SelectRows(
                                                        Table.AddColumn(T
                                                                        ,"LJ"
                                                                        ,each List.Sum(List.FirstN(T[销售金额],[by]-List.Min(T[by])+1) ) )
                                                        ,each [LJ]>=10) 
                                in 
                                Table.SelectRows(R,each [LJ]=List.Min(R[LJ]))[销售日期]{0}? 
                        ,type date
                            }
                        ),
    筛选 = Table.SelectRows(解, each ([达标日期] <> null))
in
    筛选
      fyi
= let fx=(x,y,z)=>if List.Sum(y)<10 then [] else 
                  if List.Sum(List.FirstN(y,z))>=10 then x{z-1}
                  else @fx(x,y,z+1) 
   in Table.Group(源,"销售经理",{"达标日期",each fx(_,[销售金额],1)[销售日期]?},1)

谢谢两位老师的帮忙,感谢!
@焦棚子  老师您好,我发现您的代码,如果同一天一个销售经理有多条记录,会取不到当天为达标日期
譬如,A 在1月2号有多条记录,之和大于10
销售经理   销售日期    销售金额
A   2019/1/2    3
B   2019/1/3    5
C   2019/1/4    6
D   2019/1/5    7
A   2019/1/3    9
B   2019/1/4    3
D   2019/1/6    4
C   2019/1/9    2
A   2019/1/9    4
D   2019/1/10   3
B   2019/1/2    4
E   2019/1/6    11
T   2019/1/1    10
K   2019/1/7    9
K   2019/1/15   1
A   2019/1/2    8
@焦棚子 其实我再group by日期 sum一下也可以解决此问题...
let
源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
自定义1 = Table.Group(源,"销售经理",{">10的日期",each
try Table.SelectRows(
Table.Buffer(
Table.Sort(
let a=Table.AddIndexColumn(_,"索引",0) in
Table.AddColumn(a,"L",each
List.Sum(
Table.SelectRows(a,(t)=>  t[索引]<=[索引])[金额])
),
{{"销售日期",0}})),
each [L]>=10){0}[销售日期] otherwise "无"
}),
筛选的行 = Table.SelectRows(自定义1, each [#">10的日期"] <> "无"),
更改的类型 = Table.TransformColumnTypes(筛选的行,{{">10的日期", type date}})
in
更改的类型
@Nikolas 如果用power pivot 可以怎样实现吗? 我用pp发现达标时间作为度量值并不能按达标时间来排序,谢谢!
如果是写了Sort类函数的时候最好在函数的前面再上Buffer函数,这样速度稍微就可以快些~