Построение самообновляемого отчёта в Excel

Обсуждаем TrackStudio по-русски

Построение самообновляемого отчёта в Excel

Postby olegko » Tue Dec 15, 2009 7:10 pm

Расскажу, как я строю отчёты.

Сразу оговорюсь – я почти не знаю xml.
К описанному ниже способу пришёл «методом тыка», в условиях когда была высокая загрузка по проекту и начальство требовало построения ежедневных отчётов, при этом хотелось, чтобы было «красиво и с картинками-диаграммами».
Несмотря на некоторые недостатки и несовершенство этого метода – вот уже более года такие отчёты у нас успешно юзаются.
В частности, в комбинации со скриптом удалось также реализовать вот такой отчёт:
http://www.trackstudio.com/forum/viewtopic.php?t=2916

Опишу в деталях способ построения, думаю пригодится тому, кто хочет «малой кровью» получить удобный самообновляемый отчёт в желаемом формате.
Версия TS 3.5.53

Значит так:
1) Имеются (уже созданные):
- фильтр со всеми необходимыми полями в корневом (желаемом) проекте
- отчёт типа List в корневом (желаемом) проекте
- пользователь 'reporter', который имеет доступ ко всем задачам/полям, но только read-only

2) Для юзера 'reporter' получаем ПРЯМОЙ линк на RSS-xml отчёт.
Линк выглядит так:
http:// HOSTNAME:8888/TrackStudio/RSSAction.do?autologin=reporter&autopassword=reporter&reportId=2c908ae91e078667011e1f8b98d8030f&filter=2c908ae91e078667011e1f8399c90250&id=3e808ebd1c79e1ec011c9903c4fe0120
- в котором значения параметров “reportId”, “filter”, “id” и “autologin”, “autopassword” соответсвуют сущностям из пункта 1).
==> В итоге по этому линку мы можем в любой момент получить обновлённый отчёт в xml-формате.

3) Далее создаём новый документ Excel, в котором настраиваем ПРЯМОЙ “Connection“ на XML данные.
Для Excel 2007:
a. Идём в меню “Data”, жмём иконку ”From Web”
b. В поле “Address” вставляем наш ПРЯМОЙ линк
c. Жмём ”Go”
d. Ждём пока данные загрузятся, а затем жмём ”Import”
e. Ждём пока данные загрузятся, а затем выбираем способ вставки данных как ”XML-table” и жмём ”OK”
f. Данные добавляются в текущий Excel-лист, после чего сохраняем документ
==> В итоге имеем Excel-лист (назовём его “Source”) с некоторой «кашей» из TrackStudio, в котором видим необходимые нам данные + «левые» данные (кто будет делать, поймёт о чём я).
НО всё же, среди этой «каши» есть все необходимые нам данные (колонки),
и (что самое важное) – эту «кашу» можно обновлять простым нажатием кнопки Refresh (или клавиш Ctrl+Alt+F5) - данные «подтягиваются» прямо из TrackStudio и обновляют соответсвующие колонки в Excel !!!

4) Создаём в Excel новый лист «Список задач». В этом листе:
a. создаём колонки с названиями желаемых полей
b. в каждой колонке делаем ссылки на соответсвующие колонки из листа “Source”
c. форматируем (размер шрифта, «шапку» другим цветом, ...)
d. настраиваем фильтры
e. настраиваем условное форматирование (к примеру, если значение Priority равно Critical, то подсвечиваем его красным).
==> Имеем удобный отчёт для представления начальству (и всем заинтересованным)

5) Создаём ещё один лист «Summary».
В этом листе с помощью средств Excel стоим любые желаемые диаграммы на основании данных из листа «Source”.
==> Имеем удобный отчёт для представления начальству

После того, как форматирование закончено, прячем (Hide) лист «Source», чтобы эту «кашу» никто не видел.

Отчёт готов.

Теперь, чтобы получить обновлённый отчёт, нужно просто открыть созданный документ, нажать Refresh и подождать 3-5 минут. Далее сохраняем документ, «зипуем» - отчёт готов к отправке. Всё.
«Список задач» и «Диаграммы» обновляются автоматом, после того, как Refresh «подтянет” обновлённые данные из TrackStudio.

Возможно кто-то подскажет, как «более правильно» настроить импорт xml в Excel (исключить появление «каши») – буду очень признателен.

UPD. Для четвёртой версии линк на отчёт должен иметь формат, как описано здесь:
excel-issue-3390-10.html#p22994
И описанный выше пункт 4) уже не нужен, т.к. все данные должны корректно отобразиться в одной таблице.
Last edited by olegko on Wed Apr 10, 2013 5:11 pm, edited 5 times in total.
olegko
 
Posts: 763
Joined: Tue Apr 08, 2008 12:56 pm

Re: Построение самообновляемого отчёта в Excel

Postby admin » Wed Dec 16, 2009 3:37 pm

Спасибо, прикрепил наверх.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Postby alexcrown » Wed Dec 16, 2009 4:09 pm

olegko wrote:А не могли бы вы рассказать подробнее как вы "преобразовыете отчёты в excel-word-что угодно с помощью xsl"?
Я не силён в xml, и тем более в xsl/xlst. В двух словах опишите или дайте ссылку где можно почитать (интересует не обзор технологии, а сам процесс).


Отвечу в эту тему.

Делается отчет в виде списка в формате xml стандарными средствами.

Затем файл сохраняется под именем report.xml и к нему применяется преобразование с помощью команды:
Code: Select all
java -cp %TRACKSTUDIO_HOME%/webapp/WEB-INF/lib/xalan.jar;%TRACKSTUDIO_HOME%/webapp/WEB-INF/lib/xerces-2.6.2.jar org.apache.xalan.xslt.Process -IN report.xml -XSL report.xsl -OUT new_report.xml


%TRACKSTUDIO_HOME% это папка, в которую установлен TrackStudio.
report.xsl - шаблон для преобразования.

Простой пример шаблона который делает табличку html - http://pastebin.com/f53aa41df

Шаблон посложнее, делает файл excel - http://pastebin.com/ff03eef7

Сам по себе язык XSLT не очень сложный, но непривычный поначалу. Учебник по нему есть тут http://www.w3schools.com/xsl/

При наличии исходников класс, ответственный за генерацию отчетов в xml легко модифицируется и позволяет применять преобразование для отдельно взятых отчетов по предопределённым шаблонам автоматически.
Кузнецов Алексей (skype:alexcrown)
Colvir Software Solutions
ВерсияTrackStudio: 4.0.5, Oracle 10g
alexcrown
 
Posts: 199
Joined: Mon Oct 13, 2008 10:35 am

Postby admin » Wed Dec 16, 2009 5:39 pm

Кстати, в 4.0 b13 при генерации XML-отчетов можно сразу указывать ссылку на XSLT, который использовать при преобразовании.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: Построение самообновляемого отчёта в Excel

Postby Evgen » Thu Jan 28, 2010 7:40 pm

olegko wrote:
2) Для юзера Reporter получаем ПРЯМОЙ линк на RSS-xml отчёт.
Линк выглядит так:
http://trackstudio:8888/TrackStudio/RSS ... 03c4fe0120
- в котором значения параметров “reportId”, “filter”, “id” и “autologin”, “autopassword” соответсвуют сущностям из пункта 1).
==> В итоге по этому линку мы можем в любой момент получить обновлённый отчёт в xml-формате.


Подскажите, откуда берется значение "filter"? Если смотреть на фильтры, там используются "filterid".
При попытке построить аналогичную ссылку пишет : <error>Authentication failed. Please download new TrackStudio Klip.</error> , хотя логин/пароль в адресной строке - верные
Из за чего это может быть?
Evgen
 
Posts: 5
Joined: Tue Dec 18, 2007 11:54 am

Re: Построение самообновляемого отчёта в Excel

Postby olegko » Thu Jan 28, 2010 7:51 pm

Evgen wrote:
olegko wrote:
2) Для юзера Reporter получаем ПРЯМОЙ линк на RSS-xml отчёт.
Линк выглядит так:
http://trackstudio:8888/TrackStudio/RSS ... 03c4fe0120
- в котором значения параметров “reportId”, “filter”, “id” и “autologin”, “autopassword” соответсвуют сущностям из пункта 1).
==> В итоге по этому линку мы можем в любой момент получить обновлённый отчёт в xml-формате.

Подскажите, откуда берется значение "filter"? Если смотреть на фильтры, там используются "filterid".
При попытке построить аналогичную ссылку пишет : <error>Authentication failed. Please download new TrackStudio Klip.</error> , хотя логин/пароль в адресной строке - верные
Из за чего это может быть?

"filter" это и есть "filterid".
Если ошибка "Authentication failed", значит проблемы с доступом.
Юзер "reporter" с аналогичным паролем создали? Залогиниться под ним пробовали?
olegko
 
Posts: 763
Joined: Tue Apr 08, 2008 12:56 pm

Re: Построение самообновляемого отчёта в Excel

Postby admin » Thu Jan 28, 2010 11:20 pm

olegko wrote:Залогиниться под ним пробовали?


Кстати да, указанный пользователь должен быть в состоянии не только логиниться, но и должен быть в состоянии построить этот отчет.
Maxim Kramarenko (mailto: maximkr@trackstudio.com)
TrackStudio - Hierarchical Bug & Issue Tracking Software
http://www.trackstudio.com
admin
Site Admin
 
Posts: 8139
Joined: Thu Jan 01, 1970 3:00 am
Location: Smolensk, Russia

Re: Построение самообновляемого отчёта в Excel

Postby Evgen » Fri Jan 29, 2010 3:35 pm

admin wrote:
olegko wrote:Залогиниться под ним пробовали?


Кстати да, указанный пользователь должен быть в состоянии не только логиниться, но и должен быть в состоянии построить этот отчет.


Похоже проблема была в том, что учетная запись пользователя начиналась с заглавной буквы (Reporter). Поменял на строчную - все получилось.
Evgen
 
Posts: 5
Joined: Tue Dec 18, 2007 11:54 am

Re: Построение самообновляемого отчёта в Excel

Postby Cliffhanger » Wed Apr 10, 2013 3:52 pm

Появилось ли новые решения для данной задачи?

RSS - выгружает кучу ненужной информации (либо я что-то неправильно делаю)
к тому же есть прямой HTML линк на любой отчет, но ....
когда его добавляешь в exel (да и просто в браузер) после выполнения он преобразуется в строку совершенно другого вида
а это мешает его дальнейшему использованию

т.е. если закрыть документ и снова открыть, то для обновления данных о обращается на измененную строку и как результат ошибка.
TrackStudio 5.0.6.20150803
Cliffhanger
 
Posts: 69
Joined: Tue Feb 19, 2013 10:04 am

Re: Построение самообновляемого отчёта в Excel

Postby olegko » Wed Apr 10, 2013 3:57 pm

Cliffhanger wrote:Появилось ли новые решения для данной задачи?

А чем вам старое решение не нравится?
У нас сейчас описанный способ практически единственный удобный способ построения отчётов.
olegko
 
Posts: 763
Joined: Tue Apr 08, 2008 12:56 pm

Next

Return to TrackStudio Support [Russian]

Who is online

Users browsing this forum: No registered users and 2 guests