您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > Pentaho-Report-Designer
目录ReportDesigner.............................................................................................................................................................11.快速入门........................................................................................................................................................................12.用户接口......................................................................................................................................................................123.报表向导......................................................................................................................................................................174.DataSets....................................................................................................................................................................225.图形化报表元素..........................................................................................................................................................22ReportDesignerThispagelastchangedonNov29,2006bymdamour.1.快速入门ThispagelastchangedonNov29,2006bymdamour.这章显示了如何创建一个简单的报表,并解释了底层报表模型的最小背景。如果你想了解单独部分的详尽描述,可使用提供的链接。系统需求WindowsXPProfessional,MacOSX10.4.6,LinuxSUSE,RedHatLinux需要1.5.0_06JavaRuntimeEnvironment(JRE)安装1.为了安装,将内容解压进一个文件夹。2.在被创建的ReportDesigner文件夹,点击适合于你的操作系统的startdesigner.*文件。ReportDesigner当你启动ReportDesigner时,你会看到默认的workspace,其被分割成5个主要区域。在屏幕中间,有一个很大的白色区域,其表示生成报表的主要工作区域。在左边,有一个名为'1Palette'1的toolwindow,此处列出的所有图形元素均可用于报表中。在右边是2个toolwindows,上边的叫'1Structure'1,此处你可看到报表的层次化表现,下面是一个名为properties的toolwindow,此处可调整目前可用选择的设置。最后是一个名为messages的toolwindow,此处会显示有用信息,提示警告或,最重要的,你当前报表定义的错误。数据模型一个报表通常包含数据库以表格形式提供的数据,以及定义了如何格式化或打印报表的报表定义。表1.1.SampleDataFIRST_NAME(String)LAST_NAME(String)PRODUCT_NAME(String)PRICE(Number)ErikBrownElectra9.65ErikBrownHarryPotter6.95ErikBrownElectra9.65HansMeiserElectra9.65HansMeiserMartix15.98HansMeiserMogli23.98列用一个唯一的列名进行标识,其具有某一datatype。在上面的实例中,FIRST_NAME是一个列标识符,String是这列的datatype。为了简单期间,在ReportDesigner中提供了一个数据库,其中有可进行操作的有用数据。在这第一步中,将配置sampledataset。如果你还没有启动ReportDesigner,并想进入下一节的话,那么请现在就启动ReportDesigner。添加SampleDataset在Structuretoolwindow中,在DataSets节点上点击鼠标右键,打开弹出式菜单,添加SampleDataset。打开一个窗口,此处可配置dataset中使用的查询。当使用sampledataset时,会自动插入一个默认的查询。目前不要修改这个查询,因为这个查询获取的数据用于描述quickstart章节中的以下步骤。你可点击Preview按钮来查看我们在报表中使用的数据。sample包含一些saleslisting,顾客在此处购买一些DVDs。点击Close按钮,点击OK接受配置,dataset就被添加进报表中。Propertiestoolwindow显示了可用的列和每列的datatype。你可点击Configure按钮改变一个dataset的配置。现在正确设置和安装了dataset,可继续定义报表的外观了。报表定义报表定义就是你在图形化的ReportDesigner的主要区域所构造的东西。这个定义告诉报表引擎将每个field放在报表的何处。报表定义包含几个名为bands的区域,这样的bands可能包含一个reportheader,一个pageheader,itemband和其他。下图表示可能出现在页面上的一个schematic报表:下图中,所有报表中可用的标准bands均用不同的颜色进行标识。红色:pageheaderband。这个band通常打印在每页的顶部。绿色:reportheaderband。当启动报表时,打印这个band一次。蓝色:itemband。对于数据表中每个可用的行,均打印这个band。青绿色:reportfooterband。在报表的最后,打印这个band一次。橙色:pagefooterband。在每页的底部,打印这个band一次。在ReportDesigner中,相同的bands用相同的颜色进行标识。注意bands在左部有一个label,描述了这个band用于什么。提示如果你将一个band调整的很小,你可能就不能看到描述性的label。在这种情况下,你可将鼠标停留在label上,就会出现一个有文本的提示。注意也可有多个groupheader和groupfooterbands。创建报表定义在第一步中,我们将在报表上添加一个静态的titlelabel,其应该在报表的第一页上打印一次。因此我们将把这个label添加进reportheaderband。这个label不依赖于我们的sampledataset传递的数据,因此,它也被称作一个静态label。从Palettetoolwindow选择Label报表元素,通过点击鼠标键,将label拖拉到reportheaderband,并释放鼠标按键。label被添加进reportheaderband后,就被自动选中。你可使用鼠标到处移动label,或通过拖拉一个handle来重新调整label的大小。你可使用Propertiestoolwindow来调整使用中的文本和字体。将文本改成SalesReport,字体改成Dialog24Bold。如果你没有大量的改变label的大小,可能会在Messagestoolwindow中出现一个警告,告诉你label不足以显示文本。使用鼠标重新调整label的大小,直到label有足够的空间显示内容。注意一旦label有一个合适的大小,警告信息就会立即被删除。reportheaderband应该如下图所示:现在报表定义已经有效了,尽管很小,但可预览。现在点击报表定义区域下面的Preview按钮。在启动了报表引擎后,你就会看到一个类似于最终报表的预览,但是仅仅局限于你在dataset中可配置的有限行的数据。启动过程一次完成,预览的随后调用也几乎是瞬时的。你可通过Design按钮返回重新设计。现在我们将把textfields添加进最终显示sampledataset中的选定数据的地方。动态用数据填充的报表元素有suffixfield。从paletteDrag&drop四个TextFields到itemband。报表定义应该如下图所示:Messagestoolwindow现在显示了几个关于未定义的fields的警告。每个textfield应该显示sampledataset的一列,因此我们需要在Propertiestoolwindow中设置每个textfields的FieldName属性以匹配dataset中的一列。你现在可以预览报表,并可随意使用不同的字体,背景色,线条和额外的静态labels定制报表定义。以下章节显示了如何通过引入函数创建所有交易的总数额。函数函数是定制程序,它可依赖于报表中的其它可用值返回一个值。函数可使用dataset中的可用值,或另一个函数的返回值。这可用于计算总数额,平均值,最小值,最大值或为另一行隐藏label或rectangle。函数也可用于收集创建图表的值,或将dataset中的值格式/转化成另一种datatype。函数很灵活,使一切成为可能。在以下章节中,我们将展示如何计算所有已卖出商品的总数额。添加TotalSum通过选择ReportingFunctions节点,函数可被添加进Structuretoolwindow。Propertiestoolwindow中列出了所有可用的函数,并在一个提示中列出了简短描述。因为我们想计算报表中的所有价格项的总和,我们选择了ItemSumFunction,并点击AddFunctiontoReport按钮。首先,我们必须告诉函数哪个field应该用于计算sum,作为第二属性,我们必须设置函数的名字。这很重要,因为要通过这个名字来访问sum的值。注意直到你设置了名字,不然在messagestoolwindow中会显示一个错误。只要在这个toolwindow中显示了一个错误,就不可能预览一个报表。我们将PRICE设置为用于计算sum的Field,使用PRICE_SUM作为函数的名字。不要改变DependencyLevel和Group的值。现在我们必须在报表的某处显示这个值。为了这个目的,我们最好在reportfooterband添加一个TextField,将TextField的FieldName属性设置为PRICE_SUM(函数名)。现在你可以预览报表,它应该如下图所示:在打印了最后一项后,才打印sum。通常你可根据你的喜好调整报表定义。ReportGroups迄今为止,我们拥有的报表定义的结构已经很好了,但是对于每个顾客,我们可能想合并一些项,并单独得根据每个顾客来计算sum。这可通过一个名为分组的概念来完成。在以下章节中,我们展示了如何根据顾客分组数据。添加CustomerGroup在Structuretoolwindow中,可以如下添加组:选择Groups节点,打开弹出式菜单,从菜单选择AddGroup。一个groupmerg
本文标题:Pentaho-Report-Designer
链接地址:https://www.777doc.com/doc-3944291 .html