我正在构建一种习惯跟踪器 - 根据您输入的有关不同类别中各种任务完成情况的数据,可视化您完成了多少目标。为了简单起见,假设它允许您将任务添加到 4 个不同的类别:
检查每个类别中的任务是否已完成,可以告诉您您完成了该类别的百分比,然后每周对每个类别的完成百分比进行平均,以告诉您您完成了每周目标的百分比。非常简单。
我想添加的功能是能够为类别分配不同的权重。所以我可能会说
physical
被赋予了 2
,这意味着它比基线“重要”2 倍。并且 financial
被赋予了 -1.5
,这显然意味着它不如仍处于基线的类别(emotional
和 professional
)重要,而且远不如 physical
重要。
在第一个原型版本中,单击按钮会显示一组滑块来调整每个类别的权重。向右移动 1 个滑块会导致其余 3 个滑块按比例向左移动(反之亦然),以便分配有限数量的点,更改 1 的值会导致重新计算剩余的点。这是一场用户体验噩梦。
所以我现在正在尝试找出某种方法来计算每个类别的“分数”,独立于其他类别,仅基于其指定的“权重”(当然还有基值)。这一点也不复杂,但问题是,如果 1 个或多个类别的权重足够高,平均值最终可能会大于 100%,这会导致真正的问题,即即使 100%任务未完成,最终数字可能反映出这一点(如果没有完成则更大)。
我一直在绞尽脑汁寻找一种方法(数学上)来计算加权平均值,如果有任何事情完成,则仍然反映高于 0% 的数字,如果没有完成任何事情,则反映低于 100% 的数字。 .无论体重如何。所以我的问题有两个:
在数学上是否有可能在每次 1 变化时不重新计算所有值?
所有分数的总和(权重总和*综合百分比)
然后用 1 除以 2 来计算全局百分比。
(抱歉,我还不能发表评论,所以我将其作为答案发布)