1

我有一个挑战提交表(记录了不同玩家在比赛中提交挑战的时间,以及提交是否正确)-

在此处输入图像描述

在此处输入图像描述

和另一个表,其中包含与每个挑战相关的分数 -

在此处输入图像描述

如何绘制比赛中前 3 名玩家在一段时间内获得的积分总和的图表(仅限过去 24 小时)?这里的问题是,我只需要考虑第一次成功提交,以防比赛中有多个成功提交的挑战(例如,玩家 A 的挑战 #17)。

编辑:

虚拟数据

期望的输出:

在此处输入图像描述

4

1 回答 1

1

我提出了一个解决方案/答案,假设有几件事 -

  • 挑战接受时间每天17:00结束
  • 不同的线条代表不同的挑战

步骤 1创建一个 CF 以按日历日期调整日期/时间 -adjusted date

DATEADD('hour', 7, [Date])

请注意,我已经增加了 7 个小时,以使最后一个日历日期/时间提交为第二天上午 00 点。

步骤 2创建另一个 CFwin_loss作为

If [Success]='W' then 1 ELSE 0 end 

步骤 3创建另一个 CFgame points作为

[win_loss]*[Points (Points)]

Step-4创建另一个 CFfirst win or loss为(这里不用担心丢失)

{FIXED [Player], [Challenge], [success] : MIN([Date])} = [Date]

第 5 步使用此公式(选择前 3 名)在 TOP-3 的“玩家”字段上创建一个集合

sum(
IF [first win or loss]= TRUE
then [game points] END)

Step-6通过拖动构建视图

  • set, MDY(adjusted date)&first win or loss在过滤器架子/卡片上
  • mdy过滤器添加到上下文
  • [date]withexact datediscreetto 列
  • sum(game points)到行
  • 在度量上添加表格计算 - 运行总计
  • 右键点击 sum(game points) 点击edit in shelf并用这个替换现有的计算 -
RUNNING_SUM(ZN(SUM([game points])))

(请注意,这将确保您的线路f(x)=0始终开始)

  • challenge关于标记卡中的颜色
  • sum(game points)到标记卡中的文本。

注意 - (i) 上的过滤器Set将确保仅查看前 3 名玩家 (ii)adjusted date将确保查看 24 小时挑战提交时间 (iii)first win or loss将消除同一玩家在同一挑战中的第二次和后续胜利

我希望这也能让你明白。

你应该得到你想要的视图

在此处输入图像描述

或将日期字段更改为秒以获得这样的视图

在此处输入图像描述

于 2020-11-06T07:36:27.280 回答