Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005 нужно проставлять "рейтинги" / 8 сообщений из 8, страница 1 из 1
01.07.2009, 14:05
    #36067951
RFT
RFT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Имется некий датасет типа
Код: plaintext
select f1, sum(f2) as r2, sum(f3) as r3 from t1 group by f1
Необходимо проставлять т.н. рейтинги по следующему принципу:
1. сотрируем по убыванию все по полю r2, и в новом поле r4 проставляем тупо от 1 до количества записей в выборке
2. сотрируем по убыванию все по полю r3, и в новом поле r5 проставляем тупо от 1 до количества записей в выборке
3. Сортируем по возрастанию все по полю f1 и уже отдаем юзверю.

Возможно ли такое реализовать средствами RS, если да, то как? Работаем с ним совсем недавно, пока в процессе изучения, но вот такая подобная задача нужна будет постоянно.
...
Рейтинг: 0 / 0
01.07.2009, 15:08
    #36068175
RS2005 нужно проставлять "рейтинги"
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
CREATE	TABLE t1 (
	f1	int IDENTITY( 1 ,  1 ) NOT NULL,
	f2	money NOT NULL,
	f3	money NOT NULL
)
GO

INSERT	t1 (f2, f3)
VALUES ( 0 ,  9 )

INSERT	t1 (f2, f3)
VALUES ( 1 ,  8 )

INSERT	t1 (f2, f3)
VALUES ( 2 ,  7 )

INSERT	t1 (f2, f3)
VALUES ( 3 ,  6 )

INSERT	t1 (f2, f3)
VALUES ( 4 ,  5 )

INSERT	t1 (f2, f3)
VALUES ( 5 ,  4 )

INSERT	t1 (f2, f3)
VALUES ( 6 ,  3 )

INSERT	t1 (f2, f3)
VALUES ( 7 ,  2 )

INSERT	t1 (f2, f3)
VALUES ( 8 ,  1 )

INSERT	t1 (f2, f3)
VALUES ( 9 ,  0 )

SELECT	f1, SUM(f2) AS r2, SUM(f3) AS r3,
	ROW_NUMBER() OVER (ORDER BY SUM(f2) DESC) AS r4,
	ROW_NUMBER() OVER (ORDER BY SUM(f3) DESC) AS r5
FROM	t1 AS t
GROUP BY f1

DROP	TABLE t1
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
получаем
f1	r2	r3	r4	r5
 1 	 0 . 00 	 9 . 00 	 10 	 1 
 2 	 1 . 00 	 8 . 00 	 9 	 2 
 3 	 2 . 00 	 7 . 00 	 8 	 3 
 4 	 3 . 00 	 6 . 00 	 7 	 4 
 5 	 4 . 00 	 5 . 00 	 6 	 5 
 6 	 5 . 00 	 4 . 00 	 5 	 6 
 7 	 6 . 00 	 3 . 00 	 4 	 7 
 8 	 7 . 00 	 2 . 00 	 3 	 8 
 9 	 8 . 00 	 1 . 00 	 2 	 9 
 10 	 9 . 00 	 0 . 00 	 1 	 10 

ROW_NUMBER
...
Рейтинг: 0 / 0
01.07.2009, 16:01
    #36068371
RFT
RFT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Max Otto fon Shtirlic,

Забыл сказать, скуль все еще 2000. Да и хотелось бы не запросом, а именно средствами RS. А так, фак читал уже.
...
Рейтинг: 0 / 0
02.07.2009, 10:00
    #36069373
minya13_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Честно говоря не особо понял вопрос, а в полях r4 и r5 разве будут не одинаковые значения? в RS есть функция
Код: plaintext
rownumber()
, в ячейке поля r4 и r5 пропишите
Код: plaintext
rownumber(nothing)
...
Рейтинг: 0 / 0
02.07.2009, 17:36
    #36070661
RFT
RFT
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Про rownumber знаю, но его надо проставлять по нескольким вариантам, как если бы было для 2005 скуля
Код: plaintext
select f1, sum(f2) as r2, sum(f3) as r3,  row_number() over(order by sum(f2)) as r4, row_number() over(order by sum(f3)) as r5 from t1 group by f1 order by f1
...
Рейтинг: 0 / 0
07.07.2009, 10:09
    #36076681
Ghola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Боюсь, это задача скорее для "скуля" чем для RS. Если же непременно надо RS... Попробуйте покопать в сторону RunningValue... Но думаю не поможёт. Тогда пишите свою функцию.
...
Рейтинг: 0 / 0
09.07.2009, 13:01
    #36081818
shady
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
Делал я такие рейтинги... :( У RS нет нормального механизма сортировки. Поэтому это дело SQL.

Код: plaintext
1.
2.
3.
SELECT IDENTITY(INT, 1 , 1 ) rr2, f1, sum(f2) as r2, sum(f3) as r3
INTO #tmp
FROM t1 ORDER BY r2 DESC
И так, столько раз, сколько нужно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
25.04.2012, 08:46
    #37769725
Katy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS2005 нужно проставлять "рейтинги"
up

что то новое появилось в 2008R2/2012 на эту тему?
тоже есть отчет, в котором нужно проставить рейтинги. но данные из olap. не хочется усложнять mdx запрос
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005 нужно проставлять "рейтинги" / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]