|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Друзья, помогите пожалуйста разобраться. Есть таблица Группа id действия № дейст. Дата действия "Группа1" "28181" "1" "01.02.2015 13:20" " " "28182" "5" "01.02.2015 13:25" " " "28183" "8" "01.02.2015 13:27" " " "28184" "4" "01.02.2015 13:29" "Группа2" "28185" "1" "01.02.2015 14:20" " " "28186" "9" "01.02.2015 14:29" " " "28187" "9" "01.02.2015 14:39" " " "28188" "9" "01.02.2015 14:49" "Группа3" "28189" "1" "01.02.2015 15:20" " " "28190" "9" "01.02.2015 15:39" "Группа2" "28191" "1" "01.02.2015 14:20" " " "28198" "9" "01.02.2015 14:29" " " "28199" "9" "01.02.2015 14:39" " " "28288" "9" "01.02.2015 14:49" Голову сломал, как средствами Report Builder посчитать сколько времени прошло по каждой группе. Проблема в том, что название группы есть только в полях, где номер действия "1" в остальных случаях пустая ячейка. Т.е. не могу сгруппировать по названию группы. Буду очень благодарен за любую помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2015, 14:14 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Приложил картинку с таблицей, а то текст съехал немного. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2015, 14:21 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Умом я понимаю, что нужно писать условие, что-то типа пока Группа равна первому значению или пустоте, складываем время. Но как это прописать в report builder понятия не имею, кучу вариантов перепробовал, не считает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2015, 14:25 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Fotoview, если необходимо подсчитать время прошедшее между первым и последним действием то время наверное нужно отнимать а не складывать, т.е. последующее значение минус предыдущее.. для этого есть функция datediff для всей группы наверное можно сделать через datediff("d",min(дата),max(дата)) где "d" указывает на разницу в днях, можно в группе и разницу между послед. и перыдущ. посчитать (добавив условие для первой строки т.к. предыдущего значения не существует) .. как вариант - расчёт этих значений на уровне SQL запроса.. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.08.2015, 23:34 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
vikkivFotoview, если необходимо подсчитать время прошедшее между первым и последним действием то время наверное нужно отнимать а не складывать, т.е. последующее значение минус предыдущее.. для этого есть функция datediff для всей группы наверное можно сделать через datediff("d",min(дата),max(дата)) где "d" указывает на разницу в днях, можно в группе и разницу между послед. и перыдущ. посчитать (добавив условие для первой строки т.к. предыдущего значения не существует) .. как вариант - расчёт этих значений на уровне SQL запроса.. Вот у меня проблема с написанием именно выражения и условий. Если подскажете как посчитать разницу времен через SQL запрос буду благодарен. Таблица в БД выглядит именно так. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2015, 07:37 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Эх, неужели никто не знает? :( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2015, 17:04 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Fotoview, С помощью SQL никак, так как он обрабатывает записи не построчно. Вы когда объедините пустые ячейки получите мусор. Вам надо в редакторе отчетов событие писать. Обрабатывать построчно и запоминать группу. На след строке проверять, та ли группа или пусто. И по действиям в массив заносить данные начала и конца. Я не знаком с report builder, но в Fast Report это все реализуется. З.Ы. Но мне кажется, что вы не таблицу считали из базы, а отчет из нее или какое-нить представление =) Потому что я таких таблиц не видел и не представляю, кто такое мог создать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2015, 17:34 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
holod-iinna, С извращенством спорить не буду. таблицу я просто адаптировал для лучшего понимания. Оригинал выглядит так ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2015, 18:24 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Я даже не могу по первому столбцу сгруппировать из-за нулевых полей. Так бы сгруппировал. Выделил Максимум и минимум и вычел бы. А тут как бы перебирать нужно пока не наткнешься на строку с act_type_id = 1 и ass_svd_id отличным от предыдущего ненулевого значения, а как это сделать в report builder ума не приложу. Хотя в Экселе знаю как. но нужно именно тут. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2015, 18:28 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
FotoviewЯ даже не могу по первому столбцу сгруппировать из-за нулевых полей. Стукните по голове того кто формирует ноль в первом столбце для act_type_id != 1. Это ж надо было так додуматься. Пусть формирует нормально id группы для всех записей, извращенец. И заставьте eго изучать SQL. Такие данные кричат о том что понимания foreign key у формирующего таблицу нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2015, 11:03 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
sanBezFotoviewЯ даже не могу по первому столбцу сгруппировать из-за нулевых полей. Стукните по голове того кто формирует ноль в первом столбце для act_type_id != 1. Это ж надо было так додуматься. Пусть формирует нормально id группы для всех записей, извращенец. И заставьте eго изучать SQL. Такие данные кричат о том что понимания foreign key у формирующего таблицу нет. Я бы с удовольствием стукнул. Уже два года я решаю разнообразные загадки. Самое печальное, что это довольно известный вендор-производитель ITSM системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2015, 12:23 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
Fotoview Самое печальное, что это довольно известный вендор-производитель ITSM системы. Не HPSM случаем? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2015, 10:26 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
KlickFotoview Самое печальное, что это довольно известный вендор-производитель ITSM системы. Не HPSM случаем? Нет. AXIOS. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2015, 11:15 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
holod-iinnaС помощью SQL никак, так как он обрабатывает записи не построчно. да? а мужики то и не знают https://msdn.microsoft.com/en-us/library/hh231256.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2015, 16:28 |
|
Нестандартный отчет.
|
|||
---|---|---|---|
#18+
StarikNavyholod-iinnaС помощью SQL никак, так как он обрабатывает записи не построчно. да? а мужики то и не знают https://msdn.microsoft.com/en-us/library/hh231256.aspx Буду очень благодарен, если Вы поможете мне с составлением SQL запроса в свете данной информации. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2015, 16:34 |
|
|
start [/forum/topic.php?fid=31&msg=39022171&tid=1533359]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
147ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 263ms |
total: | 498ms |
0 / 0 |