问题描述
我有一个挑战提交表(记录了不同选手在比赛中提交挑战的时间,以及提交是否正确)-
和具有与每个挑战相关的积分的另一个表-
我如何绘制一段时间内比赛中前3名玩家所获得的连续积分的图表?这里要注意的是,如果竞赛中有一个挑战(例如,玩家A的挑战#17)有多个成功的提交,那么我只需要考虑第一个成功的提交。
编辑:
所需的输出:
解决方法
我正在提出一些假设的解决方案/答案-
- 挑战接受时间每天17:00结束
- 不同的线条代表着不同的挑战
第1步 创建CF,以按日历日期-adjusted date
调整日期/时间
DATEADD('hour',7,[Date])
请注意,我已经添加了7个小时,以使最后一个日历日期/时间第二天提交为00 AM。
步骤2 创建另一个CF win_loss
,
If [Success]='W' then 1 ELSE 0 end
步骤3 创建另一个CF game points
,
[win_loss]*[Points (Points)]
第4步,创建另一个CF first win or loss
,因为(不必担心在这里丢失)
{FIXED [Player],[Challenge],[success] : MIN([Date])} = [Date]
第5步,使用以下公式在TOP-3的“玩家”字段上创建一个集合(选择前3个),
sum(
IF [first win or loss]= TRUE
then [game points] END)
第6步通过拖动构建视图
-
set
,MDY(adjusted date)
和first win or loss
在过滤器架子/卡片上 - 在上下文中添加
mdy
过滤器 -
[date]
和exact date
和discreet
到列 -
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
将消除同一玩家因相同挑战而获得的第二次和以后的胜利
我希望这也会使您明白。
您应该得到想要的视图
或将日期字段更改为秒以获取这样的视图