У меня есть таблица в Oracle, которая записывает события для пользователя. У этого пользователя может быть много событий. Из этих событий я рассчитываю репутацию по формуле. Мой вопрос заключается в том, что это лучший подход для расчета и возврата данных. Используя представление и используя SQL, делайте это в коде, захватывая все события и вычисляя его (проблема в этом, когда у вас есть список пользователей и вам нужно рассчитать репутацию для всех), или что-то еще. Хотелось бы услышать ваши мысли.
Comments * (.1) +
Blog Posts * (.3) +
Blog Posts Ratings * (.1) +
Followers * (.1) +
Following * (.1) +
Badges * (.2) +
Connections * (.1)
= 100%
Один пример
Comments:
This parameter is based on the average comments per post.
• Max: 20
• Formula: AVE(#) / max * 100 = 100%
• Example: 5 /10 * 100 = 50%
Макс это максимальное число, чтобы получить весь этот процент. Надеюсь, в этом есть какой-то смысл.
Мы рассчитываем посещение, поэтому все уникальные посещения / дата членства - другое. Таблица содержит имя события, некоторые метаданные и привязана к этому пользователю. Репутация просто использует эти события, чтобы сформулировать репутацию на основе 100% как самого высокого.
85% reputation - Joe AuthorUser been a member for 3 years. He has:
• written 18 blog posts
o 2 in the past month
• commented an average of 115 times per month
• 3,000 followers
• following 2,000 people
• received an average like rating of 325 per post
• he's earned, over the past 3 years:
o 100 level 1 badges
o 50 level 2 badges
• he's connected his:
o FB account
o Twitter account