powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Расчет отклонений в MS Reporting
6 сообщений из 6, страница 1 из 1
Расчет отклонений в MS Reporting
    #38277801
_Дмитрий08_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день уважаемые форумчане.
Есть у меня такой матрикс, раскладывает по строкам оборудование, по столбцам даты, и соответственно их значения:
Агрегат|01.05.13|02.05.13|03.05.13
А1|500|600|700
А2|100|200|300
А3|550|750|650
Теперь мне нужно подсчитать отклонения всех значений от 01 числа на 10 процентов при увеличении либо уменьшении и окрасить в соответствующие цвета значения,
при чем если значения на 1 число нет, то отклонение считаем от 02 и.т.д. По цветам понятно как сделать, а вот сам расчет отклонений в MS Reporting, пока понять не могу как сделать....
Люди добрые подскажите пожалуста как можно сделать все это дело.
Спасибо.
...
Рейтинг: 0 / 0
Расчет отклонений в MS Reporting
    #38277813
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Дмитрий08_,

не совсем понятно...

Вот из этой таблицы
Агрегат01.05.1302.05.1303.05.13А1500600700А2100200300А3550750650 что должно получиться?
...
Рейтинг: 0 / 0
Расчет отклонений в MS Reporting
    #38277854
_Дмитрий08_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89_Дмитрий08_,

не совсем понятно...

Вот из этой таблицы
Агрегат01.05.1302.05.1303.05.13А1500600700А2100200300А3750550650 что должно получиться?

Для примера будем считать по агрегату А1, допустимое отклонение в большую сторону 1.1 (10%), в меньшую 0,9 (10%), получаться так: 600/500 = 1.2, Отклонение составляет 20% соответственно мы должны значение 600 окрасить в зеленый цвет, 700/500 = 1.4 отклонение 40, окрасить в зеленый цвет ит.д.
По агрегату А3, 550/750 = 0,73 Отклонение составленя 27 но уже в меньшую сторону, тогда окрашиваем в синий цвет и.т.д.
При чем если за 1 число нет данных, то отклонение считать (делить) на значение от 2 числа
...
Рейтинг: 0 / 0
Расчет отклонений в MS Reporting
    #38278134
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Дмитрий08_,

я бы сделал на стороне SQL сервера
...
Рейтинг: 0 / 0
Расчет отклонений в MS Reporting
    #38278234
_Дмитрий08_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
user89_Дмитрий08_,

я бы сделал на стороне SQL сервера

Извините за нескромность, а как тогда сделать на стороне SQL, Если есть вот такой запрос. Просто я немного не доганяю с этими отклонениями
SELECT cast (dateadd(hour, +6, Test_value.DateTime) as date) as ДатаВремя
,ROUND(avg(Test_value.Value),2) as Значение
,Test.Testname
FROM Test_value
INNER JOIN ( select Id, Testname
from Test
where RTRIM (SUBSTRING(Testname,CHARINDEX('.',Testname ),23))
in ('.pa')) as T on Test_value.TestId = T.Id
and Test_value.DateTime BETWEEN dateadd(hour, -6, @Дата_Начала) AND dateadd(hour, 18, @Дата_Конца)
...
Рейтинг: 0 / 0
Расчет отклонений в MS Reporting
    #38278571
Фотография user89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Дмитрий08_,

сделал на таких тестовых данных
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
set nocount on
set dateformat dmy

declare @t table (Naim varchar(max), Data date, Value float)
insert @t values ('A1', '01.05.2013', 500), ('A1', '02.05.2013', 600), ('A1', '03.05.2013', 700),
('A2', '01.05.2013', 100), ('A2', '02.05.2013', 200), ('A2', '03.05.2013', 300),
('A3', '01.05.2013', 750), ('A3', '02.05.2013', 550), ('A3', '03.05.2013', 650)

;with mn as (
  select top 1 with ties Naim, Data, Value from @t
  order by row_number() over(partition by Naim order by Data)
)
select t.*, t.Value/mn.Value [diff]
from @t t
left join mn on t.Naim = mn.Naim and t.data <> mn.Data
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Расчет отклонений в MS Reporting
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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