=CALCULATE(VALUES(‘区间1‘[审核价格]),TOPN(1,FILTER(‘区间1‘,‘区间1‘[开始日期]<=‘销售‘[销售时间]&&‘区间1‘[结束日期]>=‘销售‘[销售时间]&&‘区间1‘[商品代码]=‘销售‘[商品代码]),‘区间1‘[审核价格],ASC,‘区间1‘[开始日期]))
相同的代码,相应的时间段,按照价格、开始日期排序,取的排名第一的表后,再去审核价格。
查看结果:
只维护了一天的价格都正确,2017/5/1-2019/1/1有重叠,取的是最小值35。
其实规则上,只需要在topn中相应的排序就可以了。
topn(前几项,‘表’,排序字段1,升/降,排序字段2,升/降,……)
原文:http://blog.51cto.com/11729955/2155699