powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005 нужно проставлять "рейтинги"
8 сообщений из 8, страница 1 из 1
RS2005 нужно проставлять "рейтинги"
    #36067951
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имется некий датасет типа
Код: 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
RS2005 нужно проставлять "рейтинги"
    #36068175
Код: 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
RS2005 нужно проставлять "рейтинги"
    #36068371
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Max Otto fon Shtirlic,

Забыл сказать, скуль все еще 2000. Да и хотелось бы не запросом, а именно средствами RS. А так, фак читал уже.
...
Рейтинг: 0 / 0
RS2005 нужно проставлять "рейтинги"
    #36069373
minya13_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря не особо понял вопрос, а в полях r4 и r5 разве будут не одинаковые значения? в RS есть функция
Код: plaintext
rownumber()
, в ячейке поля r4 и r5 пропишите
Код: plaintext
rownumber(nothing)
...
Рейтинг: 0 / 0
RS2005 нужно проставлять "рейтинги"
    #36070661
RFT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про 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
RS2005 нужно проставлять "рейтинги"
    #36076681
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Боюсь, это задача скорее для "скуля" чем для RS. Если же непременно надо RS... Попробуйте покопать в сторону RunningValue... Но думаю не поможёт. Тогда пишите свою функцию.
...
Рейтинг: 0 / 0
RS2005 нужно проставлять "рейтинги"
    #36081818
shady
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал я такие рейтинги... :( У 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
Период между сообщениями больше года.
RS2005 нужно проставлять "рейтинги"
    #37769725
Фотография Katy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up

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


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