私たちは以下のようにしました。データセットのための私たちのSQLクエリでは、我々は選択の両方(それぞれ2009-01-05
用と2009-01
)"char(my_date,iso)"
と"left(char(date,iso),7)"
(例えば)、何かのように:あなたは、レポート内の列1を、あなたのテーブルを作成して次に
select
left(char(my_date,iso),7) as isoyyyymm,
char(my_date,iso) as isodate,
otherfield as value
from tbl
order by my_date
、テーブル内のその列のisoyyyymmブランクアウトに基づいてグループ化カラムであるべきである。
- 見出し、
- グループのデータ線と、
- 詳細データライン。
だからあなたはデザイナーで、で終わる:
+--------------------------------+-----------+-----------------+
| <Header row> | Date | Value |
+--------------------------------+-----------+-----------------+
| <Group header row (isoyyyymm)> | | |
+--------------------------------+-----------+-----------------+
| <Detail row> | [isodate] | [value] |
+--------------------------------+-----------+-----------------+
| <Group footer row (isoyyyymm)> | | Total.sum( |
| | | row["value"], |
| | | null, |
| | | "Grp1") |
+--------------------------------+-----------+-----------------+
レポートテーブルはまだ月のグループが、表示された詳細行はすべて完全な日付が含まれますされます:
Date Value
---------- -----
2009-01-01 7
2009-01-08 2
2009-01-15 1
2009-01-22 4
-----
14
2009-02-05 2
2009-02-12 0
2009-02-19 0
2009-02-26 1
-----
5
あなたはです。のようにしたい場合は、間隔を置いてグループ化しますが、単純な文字列を使用できるような状況では最も簡単な方法を選択しました。明らかに、あなたの間隔が1週間(または単純な文字列解析に従わないもの)である場合は、BIRTに組み込まれた間隔のグループ化を使用する必要があります。
私の意見では、最良のチュートリアルは、BIRT, A Field Guide to Reportingの187ページ(第12章)です。それと、Integrating and Extending BIRTは、深刻なBIRTユーザーにとって必須です。
これは最初のレポートデザイナーにとって非常に重要です。2つ目は、組み込みJavaやJavascript、レポートオブジェクトモデル、BIRTの基礎となるアーキテクチャなど、より高度なトピックをカバーしています。これは、レポートを真に華やかにしたい場合に必要です。