问题标签 [ranking-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 自定义权重排名机制
我有以下我想解决的问题。我有一个元素“Ei”(元素 i)的列表,每个元素都有几个参数。参数是相似的,并且每个都分配有权重“Wx”(参数 x 的权重)。
重量可以根据喜好改变。我需要根据参数及其权重对元素进行排名/优先级。
您是否熟悉类似系统的任何方法/技术/解决方案?
谢谢
sql - 每组每 x 行排名
例如,我有一张表(排名每天增加一个):
我想添加新的列调用“组”,每个组每 3 行增加 1 个。例如:( 4 rows for day: sunday 所以前 3 行将是 1,从第 4 行到第 6 行是 2 等等......):
如何使用 plsql 添加列组?
我不能使用 rownum,因为我对第一列“Rank”使用了 row_number 函数。
谢谢。
编辑:18 年 11 月 7 日:
我想为排名列添加另一个条件,称为时间。例如:
有什么建议吗?
sql - SQL over 子句 - 将分区划分为编号的子分区
我有一个挑战,我在多个场合都遇到过,但从来没有找到有效的解决方案。想象一下,我有一个大表,其中包含有关银行账户及其可能的从借方到贷方的循环移动的数据:
在上面的示例中,我想将子分区号分配给 AccountId 和 DebitCredit 的组合,其中分区号在每次 DebitCredit 移动时递增。换句话说,在上面的例子中,我想要这个结果:
我无法真正弄清楚如何快速有效地做到这一点。该操作必须每天在具有数百万行的表上完成。
在这个例子中,我们保证所有账户都有连续的行。但是,当然,客户可能会在当月 15 日开立账户和/或在 26 日关闭他的账户。
挑战将在 MSSQL 2016 服务器上解决,但可以在 2012(甚至可能是 2008r2)上运行的解决方案会很好。
正如您可以想象的那样,无法判断是否只有借记或贷记行,或者帐户是否每天都在循环。
excel - Excel - 从基于非唯一条件的范围内返回多个唯一查询,即相似排名
我很难找到正确的公式来准确返回所有场景中排名前三的结果。当排名不相等时,1、2、3、4、5 总是好的。但是,当前 2 或 3 个结果并列第一时,比如 1、1、1、4、5,我找不到正确的公式来准确返回所有前 3。
E3:E6 处的数组“Helper”公式范围与 F3:F6 处的“前 3”范围完美配合,因此排名排序逻辑工作正常。
在 G3:G6 创建“前 3 名列表”范围的最后一步是出错的地方。我尝试了许多变体,包括我不熟悉的数组公式,但没有一个有效。迄今为止最好的是 MATCH & SMALL 组合,但不适合重复。(见下文)
如果有人知道即使有重复排名也会返回准确的“前 3 名列表”的公式?谢谢!
PS:这是我的第一个请求帖子。Stackoverflow 帮助了我很多次
sql - 用于条件值排序的 SQL
我正在尝试在此表中添加一列:
...输出为:
基本上我正在尝试添加一个名为“RANK_BY_NEW_HI”的第 4 列,该列从第 1 行中的值 1 开始,每当下一个 CLOSE_PRICE 记录(按 SYMBOL 和 DATE 顺序)更高时增加 1,并在它相等时重置为 1或低于之前的 CLOSE_PRICE 记录或新的 SYMBOL 开始。
我花了几天时间试图弄清楚这一点,所以任何帮助将不胜感激!
ruby - 我如何使用哈希并创建名称和分数列表以及对它们进行排名?
前任。乔 90,迈克 80,史蒂夫 100。
我将如何打印出类似下面的内容?在Ruby中甚至可能吗?
非常感谢任何帮助!
python - 复杂csv文件的排名值(使用python、pandas)
我有一个大的 csv 文件,其中日期设置为索引(例如 2018-10-31 12:00)和多列,1 列“方向”列出房间 IDS(刺,例如 N1001),另一列“值”列出数值(漂浮)。我想做的是获取每个房间每 1 天的平均值,以便绘制排名。这是我到目前为止所拥有的:
我得到的看起来像这样: 排名图
问题是我收到了 DeprecationWarning: .ix is deprecated。并且平均值是针对整个时间范围(1个月)计算的,但我希望每天都有平均值。
非常感谢任何帮助/建议。谢谢你。
这是如何构建 csv 的示例 (pd.read_csv):
将其复制到剪贴板并阅读:
sorting - 如何在 ELO 评级系统中随着对战的累积选择对战
我正在开发一个众包应用程序,它将让来自不同特许经营权的大约 64 个虚构的强人/女强人相互对抗,并尝试确定谁是最强的。(想想“蝙蝠侠大战蜘蛛侠”的大篇幅)。用户将一次在两个之间选择任何给定比赛的获胜者。
在研究了许多排序算法之后,我发现这篇很棒的SO 帖子概述了 ELO 评级系统,这看起来绝对完美。我已经阅读了系统并了解如何在比赛中奖励/减去积分,以及如何根据过去的结果计算任意两个角色之间的表现评级。
我似乎找不到任何有效且明智的方法来确定在给定时间将哪两个角色相互对抗。自然它会随机开始,但很快就会累积或降低积分。我们可以预期会有很多分歧,但如果我设计正确,也会有大量的用户参与。
所以想象一下,你在投了 50,000 票后到达了这个功能。鉴于我们可以在后台预期各种非传递性结果,并且与性能评级有相当大的偏差,有没有一种方法可以计算出我最需要更多数据的比赛?这似乎并不像在排序列表中选择两个相邻的具有最接近分数的字符那样简单,或者只关注列表的顶部。
有 64 名参赛者(是的,我确实考虑并拒绝了一个括号!),我不担心在每次比赛后重新计算性能评级。我只是不知道如何选择下一个,因为我们将不知道每个选民的偏见和最喜欢的角色。
sql-server - 在几列的 SUM 上应用嵌套排名的更优雅的方法
有没有一种更优雅的方法可以在几个不同的列上应用嵌套排名,按最左列的总数排序,然后按该组内的总数排序?我正在提供屏幕截图:示例数据结构和所需状态。
现在,我正在使用三个不同的查询(首先按其总数对地区进行排名。然后,按州总数等第二个,第三个按城市)维护起来很痛苦,特别是如果我需要修改排名的顺序以及日期窗口。(想想月销售额、年初至今销售额等)
使用 RANK 和 windows 函数和分区,我可以相当容易地获得区域内的城市排名,但要获得州排名和地区排名我开始挣扎。
对于那些好奇的人,我在 SQL 而不是 Tableau 中进行排名,因为几乎不可能将排名与嵌套的 Top N + Other 设置与 Tableau 窗口函数或 LOD 混合。
当前查询: