|
Обсуждение вопросов, связанных с Crystal Reports 2008, Crystal Reports Server, Crystal Xcelsius, BusinessObjects Enterprise, BusinessObjects Edge и другими продуктами Business Objects.
Тема "Re[3]: Построение таблицы в Cristal Report 11"
Автор:
Владислав
|
Дата: 13.04.2006 13:50 |
| Владимир пишет 05.04: >С выводом данных по изменениям счётчиков blackBox-ов за период вроде разобрался. Труднее понять, как получить >похожую таблицу, где вверху стояли бы изменения счётчиков >за КАЖДЫЙ день в указанном периоде. > > Период с 1 янв по 31 янв > Счётчик 1, изменение за день ..... > 1янв 2янв 3янв .... >Black Box1 7 9 13 >Black Box2 15 9 11 ..... >........... > >Ещё раз спасибо за советы.
Попробуйте использовать функции на сервере, или при записи данных написать тригер, который будет в поле сразу записывать разницу. |
Ответить на сообщение » |
| Владислав пишет 03.04: >Сложно что либо посоветовать, так как структуры БД нехватает, да и сложно понять что пишется в БД. Как Вы сказали нехватает исходных данных >Могу посоветовать вычисления делать на сервере, либо создавать свои функции на CrystalReports. Спасибо за советы. Есть blackBox-ы (№№1,2,3,...), у которых есть счётчики, (№№1,2,3,...) которые меняются по времени (в частности, по дням). По результатам запроса выводятся данные, содержащие показания различных счётчиков для Black Box1, Black Box2, Black Box3, Black Box4 ...( берущиеся один раз в день, счётчики для всех blackBox-ов одинаковые), за достаточно большой период.
................................................
blackBox1 счётчик1 31дек 150 blackBox1 счётчик1 1янв 157 blackBox1 счётчик1 2янв 166 blackBox1 счётчик1 3янв 179
..................................................
blackBox1 счётчик2 .... .....
................................................... ...................................................
blackBox2 счётчик1 31дек 205 blackBox2 счётчик1 1янв 220 blackBox2 счётчик1 2янв 229 blackBox2 счётчик1 3янв 240
..........................................................
С выводом данных по изменениям счётчиков blackBox-ов за период вроде разобрался. Труднее понять, как получить похожую таблицу, где вверху стояли бы изменения счётчиков за КАЖДЫЙ день в указанном периоде.
Период с 1 янв по 31 янв Счётчик 1, изменение за день ..... 1янв 2янв 3янв .... Black Box1 7 9 13 Black Box2 15 9 11 ..... ...........
Ещё раз спасибо за советы. |
Ответить на сообщение » |
Автор:
Владислав
|
Дата: 03.04.2006 10:51 |
| Сложно что либо посоветовать, так как структуры БД нехватает, да и сложно понять что пишется в БД. Как Вы сказали нехватает исходных данных Могу посоветовать вычисления делать на сервере, либо создавать свои функции на CrystalReports. |
Ответить на сообщение » |
| Здравствуйте. Столкнулся со следующей проблемой. Есть Cristal Report 11, есть сервер с базами данных PostgresSQL , Windows XP Professional. Есть источник данных: blackBox-ы (30-40 шт.), который выдает данные в виде значений счетчиков, около 10 типов. Показания счётчиков снимаются раз в день, может быть не каждый день. Делается запрос к базе и для Cristal выводятся названия blackBox, названия счётчиков, время и показания счётчиков. Далее можно построить Cross-Tab, где слева названия blackBox-ов, сверху названия счётчиков, ниже время и в поле Summarized Fields показания счетчиков. Поставлена задача: сделать что-то подобное, но, чтобы сверху стояла разница в показаниях счётчика за период (допустим, месяц). Т.е. желательно получить таблицу, которую можно будет экспортировать в Exel. Таблица занимает меньше места и лучше обозрима. Пока сумел добиться только того, что разница в показаниях считалась с помощью функции Previous. Но при этом с Cross-Tab-ом ничего не получается. Видно потому, что для этой функции не существует границ между группами. Поэтому никакой таблицы получить не удаётся. Если есть какое-то другое решение проблемы, буду очень признателен за помощь. Хотелось бы понять, можно ли эту задачу с такими исходными данными решить в Cristal в принципе. Вот что хотелось бы, в конце концов, иметь.
Name counter1 counter2 … январь февраль март … январь ... Black Box1 deltaCNT1_янв deltaCNT1_февр … deltaCNT2_янв ... Black Box2 deltaCNT1_янв deltaCNT2_февр … deltaCNT2_янв …
deltaCNT1_февр = CNT1 (28.02.06) - CNT1 (31.01.06)
Спасибо за любую помощь. |
Ответить на сообщение » |
|