[已解决] DAX中,如何同时使用DatesinPerriod和TOPN呢

  [复制链接]
查看105353 | 回复117 | 2020-12-18 00:41:09 | 显示全部楼层 |阅读模式
公司突然出了一个规则:求用户在过往30天中,取分值最高的20天,合计总分
总分 = CALCULATE(SUM('sample'[得分]),TOPN(26,'sample',DATESINPERIOD('sample'[日期],MAX('sample'[日期]),-30,DAY),DESC))

结果报错,求高手知道


10703110016132.zip (8.87 KB, 下载次数: 0)
回复

使用道具 举报

caisenyian | 2020-12-18 00:47:09 | 显示全部楼层
试试这个
  1. =

  2. SUMX (

  3.   TOPN (

  4.   20,

  5.   CALCULATETABLE (

  6.     'sample',

  7.     DATESINPERIOD ( 'sample'[日期], MAX ( 'sample'[日期] ), -30, DAY )

  8.   ),

  9.   sample[得分], DESC

  10.   ),

  11.   'sample'[得分]

  12. )
复制代码
回复

使用道具 举报

天下无敌 | 2020-12-18 00:51:10 | 显示全部楼层
这两个也行
10703110016131.jpg
回复

使用道具 举报

dgfishman | 2020-12-18 01:00:10 | 显示全部楼层
与前面两位的差不多
前20名:=CALCULATE([得分 的总和],TOPN(20,var maxdate=MAXX(ALL('表1'[日期]),'表1'[日期]) return FILTER(ALL('表1'[日期]),'表1'[日期]>=maxdate-30),[得分 的总和]),VALUES('表1'[日期]))
回复

使用道具 举报

carsoom | 2020-12-18 01:02:10 | 显示全部楼层
都能实现,太感谢各位了
回复

使用道具 举报

dglxha | 2021-5-16 19:55:40 | 显示全部楼层
云发教育是我遇到最好的机构,和其他机构有本质区别
回复

使用道具 举报

kuangmao | 2021-8-17 16:30:24 | 显示全部楼层
说的不错,学习了
回复

使用道具 举报

tanyq8290 | 2021-9-2 07:18:14 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
回复

使用道具 举报

sam_slk | 2021-9-3 20:43:52 | 显示全部楼层
众里寻他千百度,蓦然回首在这里!
回复

使用道具 举报

zws107 | 2021-9-4 22:04:43 | 显示全部楼层
回个帖子支持一下!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则