题
一个新手的问题,我不能找到答案。
我有一份报告,其中载有一个表格保持多个项目,有一个"时间"一栏。我要集团的项目的时间使所有项目的一个月里将被归在一起。
要做到这一点,我要提取的每月/每年的"时间"String(格式是"17:22 19/07/09")和使用,为分组。我知道如何做的这一切,在爪哇和我认为BIRT提供了几种方法来这样做,但我不能找到一个简单的方法来做到这一点。
如果有一个很好的教程上这个我喜欢检查出来。
谢谢!
解决方案
我们已经做了如下。在我们SQL查询数据集合,我们选择(例如) "char(my_date,iso)"
和 "left(char(date,iso),7)"
(对 2009-01-05
和 2009-01
分别),是这样的:
select
left(char(my_date,iso),7) as isoyyyymm,
char(my_date,iso) as isodate,
otherfield as value
from tbl
order by my_date
然后,当你创造你表在报告中,第1栏应该分组列基于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
你的 可以 小组的时间间隔如果你想那样做,但我们选择了简单的方法对于那些情况下,我们可以使用简单的字符串。显然,如果你的间隔一个星期(或别的东西不适合简单的文字分析),则需要使用间隔分组建成BIRT.
最好的教程对于此(在我的意见),第187页(第12章)的 BIRT,一个领域指南的报告.那, 积分和延伸BIRT 有必备的任何严重的BIRT用户。
这首先是绝对至关重要的任何报告的设计师。第二涵盖更多的高级课题,如嵌入爪哇和Javascript,该报告对象模型和基础结构的BIRT.这是必需的,如果你希望你的报告要真正的壮观。
其他提示
不会的报告参数位在这里,其中包括datetime分析帮助你吗?
http://www.eclipse.org/birt/phoenix/deploy/viewerUsage.php#parameters
我有一个样本报告BIRT交换DevShare,这是否确切的事情。你提供一个经常的表达(为简单的还是复杂的,因为你需要),它将使用的配RegEx创建的群体。
祝你好运!
这可以与该小组设在该表本身。如何创建团体的描述 http://www.eclipse.org/birt/phoenix/tutorial/basic/basic06.php (顺便说一句., 寻找'birt表团在谷歌gices此作为第一个打).在这种情况下你可以做这样的:
- 右击的行头 国家组头和一个上下文的菜单 会显示出来。
- 从上下文的菜单选择插入 组→如下。本集团详细信息对话 出现。
- 选择了"时代"列在本组 在领域和类型时,在名称 领域。
- 选择'month'在间隔 组合框
- 点击"确定"。
这将创建一个分组的表格没有任何SQL或JS摆弄.