ラベル JasperReports の投稿を表示しています。 すべての投稿を表示
ラベル JasperReports の投稿を表示しています。 すべての投稿を表示

2017年10月8日日曜日

JasperReport (IReport)でHH:mm形式の時間を合計する

技術Tipsです

〇要件

グループ計で時間を合計したい。
 ex) 勤務時間のような日別の時間で、グループ計を取る

〇前提

各レコードにはHH:mm形式のデータがある。 ex) 12:30
 定義名はF_HHMMとする

〇実装 (IReportのバージョンは4.0.2)

1)variablesで分に置き換えて保持しておく。
Name:V_HHMM
 Variable Class : java.lang.Integer
   Calculation : Sum
 Reset type:Group
 Reset group:対象のグループ名
 Increment type:none
 Variable Expression:
$F{F_HHMM}.equals(null) ? 0 : new Double(new Double(new Double($F{F_HHMM}.substring(0,2)) * 60) + new Double($F{F_HHMM}.substring(3,5)))

2)レコード出力対象のフィールドにてFieldExpressionを定義

$F{V_HHMM}.equals(null)?null:(((new Integer($F{V_HHMM}) / 60).toString().replace('.',':').split(':')[0])  + ':' + ((new Integer($F{V_HHMM}) % 60).toString().length()==1?('0'+(new Integer($F{V_HHMM}) % 60)):(new Integer($F{V_HHMM}) % 60)))

2016年4月8日金曜日

iReportのドキュメントを読んでみました

今回本格的にiReportを利用する機会が出てきたので、ドキュメントを探してみたところ、公式サイトに諸々のドキュメントがありました。

http://community.jaspersoft.com/documentation?version=29351

すべて英語ですが、無償でたくさんの情報が提供されています。そのなかで私が参照したのは、以下ドキュメントです。

iReport Designer
iReport Ultimate Guide (Updated Jan 15, 2013)


なお、有償ですが、日本語のドキュメントも提供されています。
http://jaspersoft.biz/document/product-manual


【ドキュメントサマリー】

総364ページ。もあり、私自身、英語読解力があるわけではないので、今回主に読んだのはプロパティ類です。それ以外の部分についても時間があれば読んでみようと思いますが、現状としては一般的なレポーティングツールの機能は備えているという前提として考えています。

【まずここは見たほうが良い】


・目次
 気になるキーワードがあれば頑張って読みましょう。

・CHAPTER3 BASIC NOTIONS OF JASPERREPORTS

この項を流し読みするだけでも、何ができるのかが想像できそうです。
  (表とか箇条書きとかサンプルコードとか)
 
 主だったところ
 ⇒3.5.1 The Type of an Expression
  Expressionは、データを表示するときに使うプロパティです。
  JasperがJavaで動いていることもあり、型を適切に処理するためには意識が必要です。
 ⇒3.5.2 Expression Operators and Object Methods
  演算子ですね。Expressionにて対応している演算子が列挙されています。
また、Expressionに定義するための記述例も書かれています。
 ⇒3.10 A Simple Program
  Javaで諸々制御ができるということが想像できます。今回はやらないので詳しく読みませんでした。

・CHAPTER5 REPORT ELEMENTS

レポートで使う要素ですね。
 ⇒5.1.3 Basic Element Attributes
  今回メインで扱う、プロパティについての説明がありました。

・CHAPTER6 FIELDS, PARAMETERS, AND VARIABLES

項目の構成要素である、フィールド(値項目)、パラメータ(引数?)、値(変数)の情報です。データでとってきた値の扱い、集計値の扱いなどはこのあたりの情報で行います。
ページ番号などもここの情報に書いてあります。

・CHAPTER 13 LISTS, TABLES, AND BARCODES

さらっと見たところ独自機能な気もしますが、簡単な操作で、表形式の帳票ができそう。
 テーブルは、グラフとかにも関係していそうです

・CHAPTER 15 CROSSTABS

見慣れない単語でしたが、内容見る限り、クロス集計のようでした。

【主なプロパティについて】


CHAPTER5に、プロパティに対する説明がありました。
「共通」のもの、「テキスト」に関するもの、「テキストフィールド」に関するものとわかれています。




【本記事のまとめ】

一つの記事で全部を書くのは難しいので今回はこれくらいです。
JasperReportはオープンソースであり、他の帳票ツールで有する機能はあったり、または
なくても有志により実装されるなどされています。

無償ドキュメントが英語なので敷居は上がりますが、ぜひ利用していきたいツールの1つかと思いました。

2016年2月1日月曜日

iReport DesignerからJaspersoft Studioへ移行が推奨されています

掲題の件

しばらく情報を追っていなかったら、iReport DesignerはJaspersoft Studioへの
移行を推奨していました。

【iReport Designer サイト】
http://community.jaspersoft.com/project/ireport-designer

英文サイトだったのでスルーしてましたが、きっちりわかりやすく書いてあります。

【JasperSoft Studio サイト】
http://community.jaspersoft.com/project/jaspersoft-studio

iReportのサイトからもリンクで飛ぶことができます。



現在の手持ち資産がiReport Designer 4.0.2で作成したころのデザイナファイルなので
そのまま移行できるかがまだわかりませんが、
なぜやろうとしたかというと、別件の技術調査でJasperReports Serverを利用する検討を
始めたからです。

JasperReports Serverに上記4.0.2のデザイナを読み込ませてみたところ、
一覧表形式でよくあるような、表のヘッダ部分に定義してあるタイトル文字が出てこなかったため
バージョンの問題だろうかと思った次第です。



この辺はJasperReports Server側の話題になるので本資料では割愛しますが
別途まとめておきたいと思います。