У меня есть некоторые данные в базе данных sql, и я хотел бы рассчитать наклон. Данные имеют такой макет:
Date | Keyword | Score
2012-01-10 | ipad | 0.12
2012-01-11 | ipad | 0.17
2012-01-12 | ipad | 0.24
2012-01-10 | taco | 0.19
2012-01-11 | taco | 0.34
2012-01-12 | taco | 0.45
Я бы хотел, чтобы итоговый результат выглядел так, создав новую таблицу с использованием SQL:
Date | Keyword | Score | Slope
2012-01-10 | ipad | 0.12 | 0.06
2012-01-11 | ipad | 0.17 | 0.06
2012-01-12 | ipad | 0.24 | 0.06
2012-01-10 | taco | 0.19 | 0.13
2012-01-11 | taco | 0.34 | 0.13
2012-01-12 | taco | 0.45 | 0.13
Чтобы усложнить ситуацию, не все ключевые слова имеют данные за 3 даты, а некоторые, например, только 2.
Чем проще SQL, тем лучше, поскольку моя база данных проприетарна, и я не совсем уверен, какие формулы доступны, хотя я знаю, что это может сделать OVER (PARTITION BY), если это поможет. Спасибо!
ОБНОВЛЕНИЕ: я определяю наклон как наиболее подходящий y = mx + pka в Excel, это было бы = slope ()
Вот еще один пример, которым я обычно манипулирую в Excel:
date keyword score slope
1/22/2012 water bottle 0.010885442 0.000334784
1/23/2012 water bottle 0.011203949 0.000334784
1/24/2012 water bottle 0.008460835 0.000334784
1/25/2012 water bottle 0.010363991 0.000334784
1/26/2012 water bottle 0.011800716 0.000334784
1/27/2012 water bottle 0.012948411 0.000334784
1/28/2012 water bottle 0.012732459 0.000334784
1/29/2012 water bottle 0.011682568 0.000334784