配置报告功能¶
报告数据源¶
数据类型和汇总¶
在HIS术语的整体图中,DHIS2中的所有数据通常都是 称为汇总,因为它们是以下各项的汇总(例如每月汇总) 医护人员报告的医疗记录或某种服务记录 卫生设施。但是,DHIS2内部的聚合是主题 这里是关于如何在DHIS2中捕获原始数据(通过数据 输入或导入)随着时间的推移进一步汇总(例如,从每月到 季度值)或组织层次结构(例如来自工厂) 到地区值)。
术语¶
-
*原始数据*是指注册到DHIS2中的数据 通过数据输入或数据导入,并且没有被操作 DHIS2聚合过程。所有这些数据都存储在 表(或Java对象,如果需要)称为DataValue。
-
*汇总数据*是指由 DHIS2,意味着它不再是原始数据,而是某种汇总 原始数据。
-
*指标值*也可以理解为汇总数据,但是 这些是基于用户计算方式的特殊方式 定义的公式(因子 *分子/分母)。指标值 因此是处理后的数据而不是原始数据,并且位于 聚合值值表/对象。指标计算 在组织层次结构的任何级别以及这些计算 然后基于每个节点可用的汇总数据值 水平。聚合数据值表中的级别属性指的是 价值所在的组织单位的组织级别 计算。
-
- Period and Period type *用于指定时间的维度 原始值或汇总值,并且数据可以从一个汇总 句号类型,例如从每月一次到季度一次,或者每天一次 每月。每个数据值有一个周期,而那个周期有一个周期 期间类型。例如。一月,二月和三月的数据值 2009年,所有月度类型可以汇总到 2009年第一季度和期间类型的汇总数据值 季刊。
汇总的基本规则¶
什么加在一起¶
数据(原始)可以在任何组织级别(例如,在 2级国家医院,5级卫生机构或 级别4的PHC更大。这因国家/地区而异,但是DHIS2是 灵活地允许在任何地方进行数据输入或数据导入 水平。这意味着自己生子的性行为可以 注册数据,有时与其子单元使用相同的数据元素。 DHIS2中聚合的基本规则是*所有原始数据都是 汇总在一起*,表示在第5级设施上注册的数据 被添加到第4级为PHC注册的数据中。
用户/系统管理员/设计者应确保没有 正在进行重复的数据输入,例如在处输入的数据 级别4与报告的服务/访问次数不同 5级组织儿童。
注意
在某些情况下,您想拥有 在系统中复制数据,但以受控方式进行。例如。什么时候 您有两个不同的人口估计数据来源 5级流域人口数据和另一个人口数据源 基于人口普查数据的第4级(因为第5级流域的总和不是 始终与4级人口普查数据相同)。然后您可以指定使用 系统应使用的高级聚合设置(请参阅下一节) 例如不将5级人口数据添加到4级人口数据中,并且 3,2,1级人口数据汇总仅基于4级 数据,不包括5级数据。
数据如何加在一起¶
数据如何聚合取决于聚合的维度(请参阅 再向下)。
沿着组织单位级别,维度总会被汇总;即简单地添加 一起。请注意,原始数据永远不会是百分比,因此可以是 总结在一起。指标值可以是百分比 不同(在每个级别上重新计算,从不总结)。
沿着时间维度,存在几种可能性,其中两种可能性最大 汇总的常用方法是求和与求平均值。用户可以指定 每个数据元素通过设置聚合使用哪种方法 运算符(请参阅下一节)。通常汇总每月服务数据 随着时间的流逝,例如一年中接种的疫苗数量是 该年每个月接种的疫苗总和。对于人口 设备,人员和其他通常称为半永久性的东西 数据,平均方法通常是一种使用的方法,例如'的数量 护士在某机构工作一年,将不会是两者之和 六个月的人员配置报告中报告的数字,但 两个数字的平均值。 “聚合”下的更多详细信息 运营商的。
集合维度¶
组织单位和级别¶
组织单位用于表示“何处”维度 与数据值相关联。在DHIS2中,安排了组织单位 在层次结构中,通常对应于层次结构性质 组织或国家/地区的名称。组织单位级别对应于 层次结构中的不同级别。例如,一个国家可能是 组织成省,然后是地区,然后是设施,然后 次中心。该组织层次结构将具有五个级别。 在每个级别内,将存在许多组织单位。中 聚合过程中,数据从下层开始聚合 组织单位级别更高。取决于 聚合运算符,数据可以在给定范围内“求和”或“平均” 组织单位级别,以得出所有 较高级别中包含的组织单位 组织单位级别。例如,如果有十个区 给定数据包含在一个省和聚合运算符中 元素已定义为“ SUM”,即该省的总计 将被计算为单个十个值的总和 该省包含的地区。
期¶
句点用于表示与数据关联的“何时”维度 价值观。数周至数月,数月不等的数据可以轻松汇总 到季度,从季度到年份。 DHIS2使用已知的规则 这些不同的间隔包含在其他间隔中 实例2010年第一季度已知包含2010年1月,2010年2月 (2010年3月),以便汇总较小时间间隔的数据, 例如个星期,例如更长的时间间隔几个月。
数据元素和类别¶
数据元素维度指定“正在”记录的内容 特定数据值。数据元素类别实际上是退化的 数据元素维度的维度,用于分解 将数据元素维度划分为更精细的类别。数据元素 类别(例如“年龄”和“性别”)用于记录特定 数据元素,通常用于不同的人群。这些 然后可以使用类别来计算 类别和所有类别的总计。
聚合运算符,聚合方法¶
和¶
“ sum”运算符仅计算所有 包含在特定的汇总矩阵中。例如,如果数据 在地区级别每月进行记录并汇总 到省的季度总数,所有地区包含的所有数据 给定的省份以及给定季度的所有星期都将被添加 一起获得总计。
平均¶
选择平均聚合运算符时,未加权 给定聚合矩阵内所有数据值的平均值为 计算。
重要的是要了解DHIS2如何处理 一般操作员的上下文。对于某些人来说这很普遍 组织单位不提交某些数据元素的数据。在 在平均运算符的上下文中,平均结果取自数字 数据元素中实际存在的数据元素(因此不是NULL) 给定的聚合矩阵。给定范围内是否有12个区 省,但其中只有10个提交了数据,平均 总计将由实际存在的这十个值得出 数据库,并且不会考虑缺少的值。
高级聚合设置(聚合级别)¶
聚合水平¶
系统的正常规则是将所有原始数据汇总在一起 向上移动组织层次结构,系统假设数据 通过输入提供给以下用户的相同服务,该条目不会重复 在两个设施级别都具有相同的客户, 更高级别的“汇总”(所有设施的总和)数量。这是 当相同的服务是 提供给不同设施的客户/集水区 5级和PHC(相同设施的父级)在4级。 这样,第5层的设施和第4层的PHC可以共享同一设施 数据元素,然后简单地将其数字相加即可得出总数 地理区域中提供的服务。
有时不希望这样的聚合,仅仅是因为它会 表示重复有关同一人群的数据。这是当 您有两个不同组织单位级别的两个不同数据源。 例如。设施的集水人口可以来自不同的地方 来源比地区人口多,因此设施的总和 流域人口与以下地区提供的地区人口不符 例如人口普查数据。如果是这种情况,我们实际上希望复制 系统中的数据,以便每个级别可以具有与 可能,但是我们不想汇总这些数据源 一起。
在“数据元素”部分,您可以编辑数据元素,对于每个 它们指定每个级别的汇总方式。在这种情况下 如上所述,我们需要告诉系统不要包含设施数据 高于该级别(即该级别)的任何聚合中的人口 以上,在这种情况下,各区已登记了他们的人口 直接作为原始数据。然后应使用地区人口数据 在以上(包括区级)的所有级别上,而设施 级别应使用自己的数据。
如何编辑数据元素聚合¶
这是通过称为聚合级别和在 编辑数据元素屏幕的末尾有一个复选框 聚合级别。如果您勾选那个,您将看到一个清单 聚合级别,可用和已选择。默认是没有 定义了聚合级别,那么层次结构中的所有原始数据将是 加在一起。为了指定上述规则,并给出了 国家,省,地区,设施等级:选择设施和 区为您的聚合级别。基本上你选择你在哪里 数据。选择设施意味着设施将使用来自 设施(因为这是最低级别)。选择地区 表示在汇总时将使用区域级别的原始数据 区域级别的数据(因此该日期不会进行汇总 级别),而设施数据将不属于汇总数据 地区值。在省级区域汇总数据时 将使用最高级别的原始数据,因为这是最高的可用数据 已选择聚合级别。同样针对国家/地区级别 将使用地区原始数据。只是重复一下,如果我们没有指定 该区级别是一个聚合级别,然后是设施数据和 地区数据将被加在一起并导致重复 (双)地区和以上所有级别的人口数据。
资源表¶
资源表提供有关以下方面的其他信息: 数据格式非常适合外部工具组合 与数据值表。通过将数据值表与这些 资源表可以轻松地沿着数据元素类别进行汇总 维度或数据元素/指标/组织单位组的维度。 例如。通过使用类别选项male或标记所有数据值 女性,并在另一列“性别”中提供该信息 根据收集的数据值得出的男性和女性小计 类别选项组合,例如(male, <5) and (male,> 5)。见 “数据透视表”部分提供了有关如何使用它们的更多示例。 orgunitstructure是数据库中另一个重要的表,有助于 提供orgunits的层次结构以及数据。通过加入 带有数据值表的orgunitstructure表可以获取行 具有完整层次结构的数据值,例如格式:OU1,OU2,OU3, OU4,DataElement,时间段,值(塞拉利昂,博,巴迪贾,Ngelehun CHC, BCG <1,2010年1月1日,32)这种格式可以使例如枢 表或其他OLAP工具将数据汇总到层次结构中。
报告表¶
报告表是定义的,交叉列表的报告,可以用作 进一步报告的基础,例如Excel数据透视表或简单地 下载为Excel工作表。报告表旨在提供 所需数据的特定视图,例如“每月国家ANC 指标”。此报告表可能会提供 国家/地区,按月汇总整个国家/地区。该数据可以 当然可以从主要的数据集市中检索,但通常是报表表 执行速度更快,并向用户呈现定义明确的数据视图。
如何创建报告表¶
要创建新的报告表,请转到 报告模块(报告->报告表)。以上标准清单 报告,请使用“添加报告表”或“添加数据元素维表” 纽扣。常规报告表可用于保存数据 元素,指标或数据集完整性,而数据元素 维度表用于在报表中包括数据元素类别 表。创建表的方法相同,但是,唯一的方法是 选择数据时例外。
要创建报告表,首先要为 表格,其中最重要的是交叉表维度。然后, 您选择哪些数据元素,指标,数据集或数据元素 您要包含的尺寸。最后,您选择哪个组织 报表中要使用的单位和时间段。每个步骤 详细说明如下。
常规选项¶

跨标签尺寸
您可以交叉标记以下一个或多个维度:数据 元素/指标,组织单位和期间,这意味着列将是 根据所选尺寸的值创建的如果指标 选择后,您将在表中获得反映名称的列名称 所选指标中。
例如,如果您跨指标和周期进行制表,则该列 标头将显示“ <indicator title> <period>”。组织 单位将列为行。参见屏幕截图以进行澄清:

如果您交叉链接指标和组织单位,则该列 该表的标题将显示“ <indicator title> <组织 unit >“。现在句点将列为行。有关的信息,请参见屏幕截图 澄清:

请注意,此处有关交叉表尺寸的选项可能具有 使用报告表时可用选项的后果 以后用作数据源,例如用于标准报告。
排序
影响表中最右边的列,允许您选择排序 从低到高或从高到低。
最高限额
上限允许您设置要包括的最大行数 在报告表中。
包括回归
这将添加具有可包含的回归值的其他列 在报表设计中,例如折线图中。
选择数据¶

指标/数据元素
在这里,选择要包含的数据元素/指标 那个报告。使用群组过滤器可以更轻松地找到自己 寻找并双击要包含或使用的项目 用于添加/删除元素的按钮。您可以同时拥有数据元素和 同一报告中的指标。
数据集
在这里,选择要包括在报告中的数据集。 包含数据集将为您提供有关数据完整性的数据 给定集合,而不是其数据元素上的数据。双击您要的项目 想要包含或使用按钮。
选择报告参数¶

有两种方法可以选择要包含在其中的组织单位 报告以及应包含哪些时间段:相对时间段还是固定时间段。 固定的组织单位和/或期间表示您选择 创建报告时要包含在报告表中的单位/期间 表。使用相对期间,您可以选择时间和/或单位为 报表表填充时的参数,例如运行时 标准报告或创建图表。也可以组合使用 例如在报告中永久添加一些组织单位 同时让用户选择其他。报表参数为 在下面讨论。通常,使用固定的组织单位和/或时间 期限是不必要的限制。
固定的组织单位
要添加固定组织单位,请点击“切换固定组织 单位”。将出现一个面板,您可以在其中选择始终使用的枪支 包括在报告中。如果您将其保留为空白,则用户选择orgunits 通过使用报告参数运行报告时。使用 下拉菜单可按级别过滤组织单位,双击或 使用按钮添加/删除。
固定时期
要添加固定期间,请单击“切换固定组织单位”。面板 将出现在您可以选择始终包含在 报告。如果您将其保留为空白,则用户在运行 通过使用报告参数进行报告。使用下拉菜单 选择期间类型(周,月等),然后按“上一个”和“下一个”按钮 选择年份,然后双击或使用按钮添加/删除。
相对期间
与其使用固定/静态时段(例如“ 2010年1月”或“ 2010年第一季度”),不如说是 通用期间可用于创建可重复使用的报告表,例如对于 每月报告期间,“报告月份”只需选择 用户在运行报告时选择的当前报告月份。 请注意,所有相对期间都是相对于“报告月份”的。的 报告月份是由用户选择的,否则是当前的 使用月份。这是可能的相对期间的描述:
-
报告月份:
将此用于每月报告。报告中选择的月份 报告中将使用month参数。
-
今年的月份/季度:
这将在一年中每月或每季度提供一个值。这个 非常适合标准的月度或季度报告,其中所有 需要列出月份/季度。仍无数据的期间 将为空,但将始终保持相同的列名。
-
今年:
这是一年中到目前为止的累计值,汇总了各个期间 从年初开始直到选定的 报告月份。
-
去年的月份/季度:
相对于去年的每月或每季度,这将提供一个价值 到报告月份。这非常适合标准的每月或 需要列出所有月份/季度的季度报告。 仍然没有数据的期间将为空,但将始终保留 相同的列名。
-
去年:
这是相对于报告月份的去年累计, 汇总去年以来的所有期间。
范例-相对期间
假设我们选择了三个指标:A,B和C,我们还选择了 选择使用相对期间“报告月份”和“今年” 当我们创建报告表时。如果是报告月份(已选择 自动或由用户)是例如2010年5月 将为2010年5月计算三个选定指标的值 (=“报告月份”)和三个月的累计值 在2010年到目前为止选择的指标(=到目前为止为“今年”)。
因此,我们最终将为每个组织单位使用六个值: “指标A,2010年5月”,“指标B,2010年5月”,“指标C,2010年5月”, “ 2010年迄今的指标A”,“ 2010年迄今的指标B”和 “指标C到2010年为止”。
报告参数
报告参数使报告随着时间的推移更加通用和可重用 和不同的组织单位。这些参数将在以下情况时弹出 生成报告表或基于报告运行报告 表。用户将选择他们想要在报告中看到的内容。那里 有四个可能的报告参数,您可以选择无,全部或 任何组合。
-
报告月份:
这决定了系统选择时使用哪个月份 相对时期。如果未选中该框,则用户不会 在生成报告时被要求提供报告月份- 然后将使用当前月份。
-
上级组织单位:
选择所有组织单位孩子和祖父母的祖父母 您要在报告中列出的孩子。例如。所选区域将 触发该区域本身,所有区域以及所有区域的使用 他们的街道。
-
家长组织单位:
选择要在列表中列出的所有组织单位子项的父项 报告。例如。选定的区域将触发使用 地区本身及其所有子地区。
-
组织单位:
这将触发在报表中使用此组织单位。没有孩子 列出。
示例-报告参数
继续上面相对时间的示例,假设 除了“报告月份”之外,我们还选择了“家长 创建报告时将“组织单位”作为报告参数 表。运行报告表时,将要求我们选择 组织单位。现在,假设我们选择“ Region R”作为 组织单位。 “区域R”的子级为“区X”,并且 “区Y”。
运行报告时,系统将汇总两个报告的数据 “区X”和“区Y”。数据将从 收集它们的最低级别。的值 地区将进一步汇总,以得出 “区域R”。
因此,报告表将生成在 前面的示例,用于“区X”,“区Y”和“区域R”。
数据元素维度表¶
这些表允许在报告表中使用数据元素类别。 与常规报告表有两个区别。首先是 您无法选择交叉表尺寸,因为列将 始终是类别组合的分类。另一个 是数据的实际选择。只能添加一个类别组合 每个报表,则只能将同一类别组合中的数据元素设为 已选择。
小计和总计也将包含在表格中,例如一种 性别(男性,女性)+ EPI年龄( <1, > 1)类别组合可得出 以下几列:男性+ <1, male+> 1,女性+ <1, female+> 1,男性, 女性, <1, > 1,总计。
选择数据

使用下拉菜单选择类别组合。数据 将列出使用此类别组合的元素。双击以 添加到报告中,或使用按钮。
报表-最佳做法¶
为了使报告表能够随着时间的推移以及在各个分支之间可重复使用 可以有参数。允许使用四种类型的参数。组织单元 父组织单位(用于在一个区域列出枪支),祖父母 组织单位和报告月份。附带一提,我们可以提到 正在考虑将其扩展到包括季度和年度报告, 或者使该周期参数在周期类型方面更为通用 不知何故。使用期间作为参数的功能使报表成为可能 随着时间的推移可重复使用,因此非常适合报表需求,例如 月度,季度或年度报告。当用户运行报告时 在DHIS2中,用户必须为以下报告表指定值: 链接到报告。首先重新生成报告表 (删除并使用更新的数据重新创建),然后运行报告 (在后台,在Jasper报表引擎中)。
报告表可以包含与数据元素,指标相关的值 或数据完整性,与报告的完整性有关 在给定的月份内跨越orgunits。完整性报告将涵盖在内 在单独的部分中。
报告表中有三个维度可以识别数据。 指标或数据元素,枪支和时期。对于这些 用户可以选择维度以选择要包含在 报告。用户必须选择一个或多个数据元素或指标来 出现在报告中。可以将组织单位选择替换为 参数,一个特定的组织单位或父组织单位( 本身及其所有子项都出现在报告中)。如果一个或多个 选择了orgunits并且未使用orgunit参数,则报告 关于要包含哪些侦探,在大多数情况下是静态的 是对报告的不必要限制。
使用相对期间
除了特定的时间段外,还可以选择更高级的时间段 像2007年1月9日,2007年1月8日这样的时期也包含相对 期。由于报告通常会定期运行特定时间段 像Jan-09在报告中不是很有用。相反,如果您想 设计一个月度报告,您应该使用称为 报告月份。然后,您还必须将“报告月份”作为以下内容之一 您的报告参数,以使系统知道确切的 报告生成时间的报告月份。还有很多 可用的相对期间,它们都与报告参数有关 报告月份。例如。今年到目前为止的相对时间是指 包括当年的累计值报告月份。如果你 想要一个具有多个期间而不是一个汇总的趋势报告 期间,您可以选择“今年的月份” 一年中到目前为止每个月的值。您可以做类似的报告 与宿舍。这个想法是支持尽可能多的通用报告类型 可以使用相对期间,因此,如果您还有其他报告需求, 请在邮件列表中建议新的相对时期,它们可能会 添加到报告表选项中。
交叉尺寸
交叉制表是报表设计中非常强大的功能,因为 典型的DHIS2数据表,其参考了期间,数据 element / indicator和orgunit使更高级的报表设计变得非常 困难,因为你不能放具体指标,时期或 特定列上的orgunits。例如。通过交叉指标 指标报告表中的维度,您将获得指标名称 在报表的列标题上,除了列之外 参考组织单位,以及另一列参考期。有了这样的 您可以将指标名称拖放到特定列的表格设计 或iReport软件中的图表位置。同样,您可以交叉标签 在orgunits或句号上将其名称专门提供给 报告设计。例如。通过交叉标记期间并选择两个 相关期间“报告月份”和“今年”,您可以设计 包含上个月和累计年度价值的报告 给定的月份,因为它们将在您的报告中用作列标题 表。也可以在交叉表中合并两个维度, 例如周期和指标,例如看三个 为两个特定的相对时期选择指标。例如 使使用BCG,DPT3制作基于表格或图表的报告成为可能 和麻疹覆盖率,包括上个月和累计 一年中到目前为止的报道。
总而言之,通过结合交叉制表功能,相对 期间和报告表参数,您应该具有支持的工具 大多数报告场景。如果没有,我们将很高兴收到 有关进一步改进报表的建议。就像已经 提到,我们已经开始研究更多的细粒度参数 期间维度为“报告月份”不足,或者 至少在诸如季刊 报告。
报告表结果¶
运行报告表时,系统将计算以下值: 指定的指标/数据元素/数据集,枪支和时期。的 数据将以表格形式显示在DHIS2中。列标题 将与您选择的交叉表尺寸相对应。一个例子 显示的报告表显示了冈比亚某地区的ANC覆盖范围 下面。指标和期间在此处交叉列出,可以 从列标题中看到。

桌子上方有六个按钮。五个下载按钮和一个 返回键。单击“后退”按钮将使您直接回到 前一个屏幕。五个下载按钮的功能分别是 在屏幕截图下方显示:

五个下载按钮
-
以Excel格式下载:
下载可以在Excel中打开的生成的Excel文件。
-
下载为CSV:
下载生成的.csv文件。 CSV代表** C ** omma ** S 分开的 V ** alue。这是一个文本文件,文件结尾 .csv。文件中的每一行对应表中的一行,而 列之间用半冒号(;)分隔。该文件可以是 在文本编辑器以及电子表格程序(例如 作为Excel)。
-
下载为PDF:
下载生成的PDF文件。数据将以 与您已经在其中查看的生成表的布局相似 DHIS2。
-
下载为报告:
下载“样式化” PDF文件。除了在 表格布局,此文件还显示一个图表,显示 来自所有选定期间和父期间的汇总数据 为报告表选择的组织单位。该报告是 使用Jasper报表引擎生成的。
-
下载为JRXML:
下载生成的报告中的设计文件,如 上一个项目符号。设计文件(文件结尾为.jrxml)可以 在Jasper iReport Designer软件中打开。如果您打算 设计标准报告,这是起点。
标准报告¶
什么是标准报告?¶
标准报告是一种手动设计的报告,它以 手动指定的布局。标准报告可以基于 报告表或SQL查询。两种方法均在 以下各节。使用报告表的主要优点是 简单-不需要特殊的开发技能。在这种情况下 您有特殊要求或需要利用 DHIS2数据库,您可能想使用基于SQL的标准报告。在任何 您将能够利用报告参数来创建 动态报告。以下指南将使用报告表方法, 而SQL方法将在最后介绍。
在iReport中设计标准报告¶
Jasper iReport Designer是用于创建可以使用的报告的工具 作为DHIS2中的标准报告。该工具允许创建 可以轻松地从DHIS2导出标准报告模板 迄今为止的数据。创建报告的过程涉及四个主要步骤:
-
必须在DHIS2中使用指标/数据创建报告表 报告中要使用的元素/数据集。
-
您必须运行报告表并下载设计文件(点击 “下载为JRXML”按钮)。
-
使用免费软件Jasper打开下载的.jrxml文件 iReport Designer可以编辑报告的布局。
-
然后,可以将编辑后的报告上载到DHIS2,以用作 标准报告。
如果要在iReport的设计过程中预览报告,则可以 实际上必须将文件上传到DHIS2才能看到它的外观。
这四个步骤将在接下来的部分中详细介绍。在 一般而言,在制作标准报告时,您应该清楚 甚至在制作报表之前,应该如何看待它的外观 报告表的设计对报告的生成方式有影响 在iReport中格式化。例如,选择了哪些交叉表尺寸 报告表中的内容会影响可用的交叉表 对于标准报告,它会对哪种类型的报告产生影响 您可以制作的图表。
下载并打开设计文件¶
注意
如果尚未创建报告表,则必须这样做。 请参见“如何创建报告表”部分。*
找到所需的报告表并通过单击绿色圆圈运行它 里面的白色箭头。显示报告后,点击“下载 as JRXML”按钮下载设计文件。然后在 Jasper iReport Designer软件。
编辑报告¶
现在您可以编辑报告的布局了。主要的iReport 窗口由左侧的“报告检查器”组成,报告文档 在中间,右上角有一个“ Palette”区域, 右下角的“属性”区域。 “报告检查器” 用于选择和检查各种特性 报告,并在检查器中选择一个项目时,“属性” 面板更改为显示与选择有关的属性。的 “调色板”用于添加各种元素,例如文字框,图像 和图表到 文件。

注意
如果看不到“组件面板”或“属性”侧栏,则可以 从菜单栏上名为“窗口”的菜单项启用它们。
iReport文档分为七个主要区域,按布局划分 分隔符(蓝线)。这些行用于确定每个行有多大 哪些区域应该在报告中。
这些区域都有不同的用途:
-
标题-报告标题区域
-
页面标题-页面标题的区域
-
列标题-列标题的区域(用于表)
-
详细信息1-将放置实际报告数据的区域
-
列页脚-成为表格页脚的区域
-
页面页脚-页面页脚的区域
-
摘要-此区域中的元素将放置在 报告
默认情况下,您会看到只有标题,列标题和 细节1波段具有数据。对于大多数报告,这是可以的。标题乐队是 适用于标题,例如图表。数据字段输入到 细节1区域将被迭代以创建表。例如,如果 名为“ dataelementname”的字段放置在“ Detail 1”区域中,所有数据 报告表中的元素将在此处列出。我们将回到 数据字段管理仅在下面进行一些说明。
报告中未使用的区域已收缩,以为您增加更多空间 报告数据。但是,您可以在增加或减少波段高度时 喜欢。有两种方法可以做到这一点。第一种方法就是简单地拖动 蓝色带状线,如下所示。

调整乐队高度的另一种方法是在 “报表检查器”,然后在 右下角的“详细信息1-属性”区域。

由于该字段已经存在于报告中,您可能不希望 除了固定布局并拖动字段外,还可以执行其他任何操作。您可以 还可以通过拖动边线,顶线或底线来调整字段的大小。如果你 要更改列标题中的文本,只需双击 字段并更改文本。
要将字段添加到表中,我们只需将其拖到“明细1”区域 来自“报告检查器”。列标题将被添加 自动。
通过双击该框,可以编辑文本。的格式 文本,例如大小,字体和对齐方式,可以使用工具进行调整 文件上方。

注意
以“ $ F”开头的字段的当前值为 每次运行报告时从数据库中检索。价值 此处会有所不同,因此除非您需要静态字段,否则不要更改这些字段 在这里值!
文本¶
iReport中有两种文本类型:“文本标签”和“文本字段” (数据字段)。它们以不同的方式工作,应用于 不同的目的。要点是,文本字段只是 占位符,将使用报告中的正确文本填充 运行报表时使用表格,而文本标签将保持原样 运行报表的时间。
静态文字¶
静态文本是可以正常编辑的纯文本文本标签。 有两种编辑文本标签的方法:
-
通过双击文本框
-
通过使用属性中的静态文本属性 面板

文字栏位¶
文本字段是在以下情况下将从报告表中填充的公式 报告运行。与静态文字不同,这些文字无法在 正常方式。但是,可以通过多种方式对它们进行操作以确保 将产生所需的输出。共有三种编辑方式 文本字段:
-
通过右键单击文本框并选择“编辑表达式”
-
双击文本字段(不建议这样做,因为这不会 调出表达式编辑器)
-
通过使用属性中的文本字段属性 面板


文本字段可以代表数字或文本,因此它们可以是 用于显示例如地区名称或数字 价值观。因此,在Text中看到的Expression类非常重要 字段属性与“文本”字段表达式匹配。对于默认文字 从DHIS2下载的.jrxml文件中的字段,这不是问题, 但是在创建新的文本字段时很重要。最重要的两个 表达式类是用于数字的java.lang.Double和java.lang.String 用于文本。
例¶
例如,假设您有一个季度报告, 添加具有年度总数的新列。因此,您添加了一个新的 列标题带的静态文本字段,以及列标题带的文本字段 详细信息带入。默认情况下,新的Text字段设置为java.lang.String (文本)。但是,“年度总计”列将填充数字。我们 因此必须将新文本字段的Expression类更改为 java.lang.Double:


当我们编辑文本字段表达式时,我们会看到表达式编辑器 报表中包含所有可用列的窗口。我们可以看到 在这里,每个标记都标有它们的类型-文本或 数。因此,我们需要确保的是 我们为文本字段选择的类与实际匹配 表达。

过滤表行¶
从DHIS2导出的默认表中,有一些行 离开桌子可能会更好,而有些则可能 最好在最后。例如,当基于 带有“上级组织单位”参数的报告表, 默认表中可能有一行,其中国家/地区级别位于 在所有区域之间。在iReport中,可以更改此设置,以便 «父组织单位»出现在表格的底部。这个 涉及两个步骤,下面将进行解释。请注意,这不会 在只有一个组织单位的地方工作,因此 在使用“上级组织单位”或“祖父母”时最有用 报告表格中的“组织单位»”参数。
隐藏表格中的“参数组织单位”¶
通过使用以下命令从表中排除“参数组织单位” “详细信息”区域中的“属性,当表达式打印时”属性。设置一个 表达式时打印,从选择报告中的明细带开始 检查器,然后在属性中编辑“当表达式时打印” 面板。


现在将出现“表达式编辑器”窗口。我们必须做的是 创建一个表达式,检查生成的行是否为该行 以单位部门为参数。报告表 包含我们可以用于此的列 Organization _unit _is _parent。用参数排除行 组织单位,双击“组织 _unit _is _parent” 列表以将其复制到表达式区域,然后在.equals(“ No”) 结束,因此代码是:
$ F {organisation_unit_is_parent} .equals(“否”)
这告诉报表引擎仅打印表格行,其中 组织单位不是上级组织 单元。

在表格底部放置“参数组织单位”¶
而不是从表中删除“参数组织单位” 完全可以将其放在广告素材的底部(或顶部) 表。这可以通过使用 下一节,然后选择首先排序 “ organization _unit _is _parent”。其他排序选项可以添加到 除此之外,例如列出参数 组织单位在表格的底部,其他 上面按字母顺序列出的组织单位。
隐藏其他行¶
使用表达式编辑器,还可以排除其他行 从表中,除了原组织单位 以上说明。例如,在加纳,所有地区都有 地区»,是方括号中的区域名称。这个可以 也可以使用 以上介绍。为此,请按照上面的说明进行操作 表达式编辑器窗口。然后,我们使用Java表达式进行测试 该行是否应该隐藏。
示例-删除具有以 [开头的组织单位的行¶
示例-删除具有以 [开头的组织单位的行
($ F {organisationunitname} .charAt(0)!='[')
这样一来,报告将跳过所有行的第一个字符 组织单位名称为 [。
也可以组合这些表达式中的几个。去做这个 我们用两个字符&&将表达式放在括号中 之间。例如,要创建一个同时保留两个组织的表 名称以 [和上级组织单位开头的单位,我们可以 使用以下表达式:
($ F {organisationunitname} .charAt(0)!='[')&& $ F {organisation_unit_is_parent} .equals(“否”)

排序¶
通常您会在第一列是组织的地方进行报告 单位名称。但是,组织列表可能是一个问题 单位不是按字母顺序排序的。可以在iReport中修复 通过几个简单的步骤。
在报告检查器中,右键单击报告名称(通过 默认为dpt),然后选择“编辑” 查询。

将会出现“报告查询”窗口。单击排序选项 按钮。

出现如下所示的排序窗口。在这里,我们可以添加排序 选项。单击添加字段按钮。将会出现另一个小窗口, 在下拉菜单中,您可以选择“按单位排序” 使表格按字母顺序排序 名称。


单击确定-关闭-确定以关闭三个窗口。该表现在应该 被排序。
更改指标/数据元素名称¶
默认情况下,DHIS2的报告使用短名称作为指标 以及报表和图表中的数据元素。在某些情况下,这些不是 对于第三方总是非常有意义的,但是通过一些工作,他们可以 通过iReport提供自定义名称。例如,如果您 正在以指标为行,句号为列的报告,或者 用于具有 指标。

要更改指标或数据元素的名称,我们必须对其进行编辑 «表达式»或公式,例如通过右键单击文本框并 选择编辑表达式以调出表达式 编辑。

接下来,我们必须插入一些Java代码。在以下示例中,我们 将用其适当的名称代替三个指标的简称 名称。该代码搜索短名称,然后将其替换为 正确的名称。

($ F {indicatorname} .equals(“ Bed Util All”))吗? “床利用率-所有病房”
:
($ F {indicatorname} .equals(“ Bed Util Mat”))吗? “床的利用率-产假”
:
($ F {indicatorname} .equals(“ Bed Util Ped”))吗? “床的利用率-儿科”
:
$ F {indicatorname}
由此,我们可以看到可用于更一般情况的模式。
-
对于每个指标或数据元素,我们要更改其名称, 我们需要一行
-
每行之间用冒号分隔:
-
我们用“常规”行结束表达式
每行具有相同的格式,其中红色文本是简称, 蓝色文本是我们要插入的内容 代替。

例如,当具有指标名称时,可以使用相同的表达式 沿图表的类别轴。
添加水平总计¶
通过使用表达式编辑器,可以将列添加到 每行总计的表格。在下面的示例中,我们将 三个月的表格以及总计的表格 三个月。
我们首先将文本标签拖动到表格标题中,然后更改其标题 将文本添加到“总计”,然后将文本字段拖到详细信息行中。
如“文本字段”部分中所述,我们必须更改 新文本字段的属性,以便它可以显示数字。去做 为此,将属性面板中的“表达式类”更改为 “ java.lang.Double”。
右键单击文本字段,然后选择“编辑表达式”。这将带来 打开“表达式编辑器”。作为表达式,我们要总结所有 列。在这种情况下,我们要求和三个值表达式 上:“ 9月”,“ 2010年10月”,“ 2010年11月”。这些的名字 字段会因您在其中选择的交叉表维度而异 报告表。在我们的例子中,我们做的表达是
$ f {September} + $ f {2010年10月} + $ f {2010年11月}
表组¶
在某些情况下,将多个表合在一起可能会很有用 报告。可以使用“报告”组来完成。使用此功能, 例如,您可以为每个指标创建一个报告表,或者一个 每个组织单位的表格。在下文中,我们将经历 包含三个指标的报告所需的步骤 在一张表中表示。重要的是报告表不要 当我们想基于 指标。
在我们的示例中,默认情况下将从DHIS2下载的.jrxml文件 对于组织单位和指标都有一列(假设我们 已选择期间作为唯一的交叉表维度)。我们从 删除指标列,因为在我们的例子中不需要这样做,并且 重新调整其他字段以适合 报告。

接下来,我们创建报告组。转到报告检查器,右 点击报告名称(默认为dpt),然后选择添加报告 组。

随即出现一个带有报告组向导的窗口。选择名称 组,在这种情况下,我们选择“指标”。在下拉菜单中,我们可以 选择我们希望组基于的报告表中的哪些列 上。因此,如果我们要为每个组织单位使用一张桌子, 选择组织单位名称作为要分组的报告对象 至。但是,由于在此示例中我们按指标分组,因此我们 选择指标名称。然后点击 下一个。

下一步是选择是否要一个单独的组 每个报告组的页眉和组页脚区域。在这种情况下,我们 选择同时包含两者。单击完成,然后会出现乐队 在里面 报告。

如果您上载并运行报告,它现在将为每个报告创建一个表 指示符。但是,看起来不会很好,因为不会有 每个表格的标题行-每页顶部仅一个标题。 同样,也没有指示哪个表显示了哪个 指示符。接下来,我们将解决此问题。
除了将标题行放在列标题中,我们还可以 将其移动到组标题。这将使标题显示在上方 每个单独的表。此外,我们可以为每个表添加标题 与指标名称。
将列标题从“列标题”区域移至“指示器” 组头 带。

接下来,将文本字段添加到“指标”组标题栏中,然后进行编辑 它是显示指标的表达式 名称。


该报告现在应具有三个表,每个指标一个。每 表格的标题将带有指标名称,并且还有一个 表头 行。

排序和分组¶
使用分组时,必须注意以下事项: 排序。值得注意的是,添加排序参数时,无论参数是 用作分组依据的必须首先。因此,如果您要分组 按指标报告,并希望对组织单位进行排序 按字母顺序,您必须先选择按指标排序,然后再按 组织单位名称如下所示。有关如何添加的说明 排序,请参阅排序部分 以上。

图表¶
默认情况下,.jrxml文件中包含3D条形图, 从DHIS 2下载。此设置是为了仅从 «参数组织单位»(通常是父母或祖父母)是 用过的。通常,这是一个很好的解决方案。由于这是默认设置,因此我们将 首先看条形图,再看折线 图表。
条形图¶

条形图是DHIS2中的默认图表类型。在本节中,我们将 看一下如何制作上面的条形图,比较其值 几个地区的一项指标。在中编辑默认图表 iReport,右键单击它并选择图表 数据。

将出现一个窗口。默认情况下,Filter表达式被填充为 仅显示上级组织单位的数据。如果 由于某些原因您不希望这样做,只需删除文本中的文本 框。在这种情况下,我们不需要过滤器,因为我们正在制作图表 显示跨地区的比较。要继续,请单击详细信息 标签。

在详细信息下,您将看到该图表的系列列表。默认情况下,一个 每个交叉表列创建系列。在这种情况下,我们正在研究 一些地区的2010年全年指标数据。 指标位于交叉表中 尺寸。

要更改系列,请选择它,然后单击“修改”。另一个窗口 将出现在可以编辑四个区域的位置。三个第一 是必需的,但是在其中之一中添加空引号(«»)就足够了 首先 二。

第一个框是一个文本字段,其中的系列名称可以是 插入或编辑。这是将用于填充文本的字段 在图例框中(显示为 下面)。

但是,如果您想沿x轴的每个条都有名称 图表而不是使用图例,这可以通过添加 您想在“类别表达式”字段中显示的任何文本,或者 通过插入一个表达式使其在 报告运行。在这种情况下,我们希望每个都有一个条 组织单位。因此,我们通过点击 在按钮上 对。

作为表达式,我们选择organisationunitname,如下所示 下面。

完成后,系列编辑器应如下所示。请点击 单击确定,然后单击关闭以关闭图表详细信息 窗口。

如果您在“类别”表达区域中添加了良好的描述,则可以 省略图例框。这是在“报告”属性面板中完成的 iReport,您还可以在其中编辑 图表。

我们还可以为图表添加标题,例如 指示符。这也可以在“图表属性”面板的“标题”下完成。 表达。

将出现“表达式编辑器”窗口,您可以在其中输入标题。 请注意,标题必须用引号引起来,如下所示 下面。

图表现已准备就绪。
折线图¶
折线图在许多情况下都非常有用。但是,要使线 图表报表数据(报表)必须适合它。因此,如果你 要制作折线图,报告表必须要做 交叉表维度中没有句点。这是示例 如果您要为单个组织单位制作报告, 一个或多个指标,或者如果您使用一个指标进行报告 和一个或多个组织单位。
下面,我们将详细介绍制作带一行报告的步骤 图表显示一年中三个指标的发展情况 组织单位。我们首先制作一个带有选择项的报告表 显示 下面:


当我们在iReport中打开生成的.jrxml文件时,默认行 包括图表。由于我们要制作折线图,因此我们将其删除 图表并将新的图表元素从面板中拖到报告中 面板。


只要将Chart元素拖入报告中,就会出现一个窗口 出现。我们选择折线图,如下所示 下面。

将出现一个图表向导。在第一步中单击“下一步”,然后在“完成”中 接下来-我们将添加数据 后来。


接下来,调整报表中图表的大小和位置。然后我们 将为我们的三个指标中的每个指标添加一个数据系列。右键点击 在图表上,然后选择图表数据。如果您要制作一张带有 指标和几个组织单位,您可能希望创建一个 过滤表达式,以便仅来自参数/父项的数据 图表中使用了组织单位。为此,请将此行添加到 过滤器表达区域:
$ F {organisation_unit_is_parent} .equals(“是”)
在我们的示例中,我们只有组织单位,所以这不是 必要。接下来,单击详细信息选项卡以查看其中的系列列表 图表。目前,此列表为空,但我们将为 我们三个指标中的每个指标。要添加系列,请单击添加 按钮。


在出现的窗口中,输入第一个 系列表达式窗口中的指示符。记住把名字放在 引号。在类别表达式中(沿x轴),我们希望 月,因此我们使用字段旁边的按钮打开表达式 编辑器并添加 期间名称。


在值表达式中,我们添加第一个的实际数据值 指示符。再次使用表达式编辑器执行此操作。当我们 完成后,窗口应该看起来像下面的窗口,只有不同的窗口 根据的名称 指示符。

然后,您可以单击确定关闭窗口。按照相同的步骤添加 另一个系列 指标。

关闭窗口,折线图的数据应已准备就绪。 但是,可能需要进行一些其他调整-其中大多数可以 在折线图属性面板中找到。例如,当制作一个 如我们的示例所示,逐月图表通常不够用 沿类别轴的月份名称的空间。这可以通过解决 通过使用属性将标签旋转例如-40度 类别轴刻度线标签 回转。

许多其他选项可用于为图表提供所需的 看。

将报告添加到DHIS2¶
现在,我们可以切换到DHIS2并导入我们的报告。转到报告 DHIS2中的模块,然后选择“标准报告”。在“标准报告”中 屏幕上,单击“添加新的”,或编辑现有的。
在以下屏幕中,我们需要执行几个操作。 首先,输入新的“标准报告”的名称。其次,为了设计 单击“选择文件”,然后在iReport中找到已编辑的.jrxml文件。 然后,选择我们用作报告基础的报告表 在iReport中。点击添加,它将移至“选定的报告 表格”区域。最后,单击 保存。

该报告现在可以作为DHIS2中的“标准报告”使用:

最终指南¶
-
使用相同版本的iReport和DHIS2的Jasper版本 报告。有关所使用的Jasper版本,请参见DHIS2中的“关于”页面。
-
使用具有交叉表尺寸的报表表作为您的数据源 您的报告设计。这将使设计更加容易 报告您需要放置特定指标,期间或 列上的orgunits。
-
向他人学习,Jasper上有许多DHIS2报告设计 启动板,请参见 http://bazaar.launchpad.net/~DHIS2-devs-core/DHIS2/trunk/files/head:/resources/
设计基于SQL的标准报告¶
标准报告可能基于SQL查询。当您 需要访问DHIS2数据库中的多个表并进行自定义 选择并加入。
-此步骤为可选步骤,但在需要调试报告时非常方便 当您可以直接访问要使用的数据库时。请点击 在“报告数据源”按钮,“新建”,“数据库JDBC连接”上 然后点击“下一步”。在此窗口中,您可以给您一个连接名称和 选择JDBC驱动程序。 PostgreSQL和MySQL应该包含在其中 您的iReport。然后输入JDBC连接URL,用户名和密码。 最后三个是指您的数据库,可以从您的数据库中检索 DHIS2配置文件(hibernate.properties)。点击“保存”。你有 现在将iReport连接到您的数据库。
-转到标准报告,然后单击“添加新”,然后“获取报告 模板”。在iReport中打开此模板。此模板包含一个 一系列报表参数,可用于创建动态SQL 陈述。这些参数将根据报告替换 我们稍后将选择并包含在标准中的参数 报告。参数为:
-
句号-相对值的逗号分隔标识符字符串 期间
-
period _name-报告期间的名称
-
Organisationunits-所选组织单位的标识符
-
Organisationunit _name-报告组织单位的名称
-
Organisationunit _level-报告组织单位的级别
-
Organisationunit _level _column-相应列的名称 在 _orgunitstructure资源表中
这些参数可以使用 $ P \!{periods}语法,其中“句点”代表参数。
-要在iReport中创建SQL查询,请单击“报告查询”按钮。 将查询写入或粘贴到文本区域。使用示例SQL查询 参数,这些参数将创建一个报告,在报告中显示原始数据值 组织单位层次结构中的第四层是:
选择district.name作为区,Chiefdom.name作为Chiefdom,ou.name作为设施,
bcg.value为bcg,yellowfever.value为yellowfever,麻疹.value为麻疹
来自组织单位ou
左外部联接_orgunitstructure ous
于(ou.organisationunitid = ous.organisationunitid)
左外加入组织单位区
在(ous.idlevel2 = district.organisationunitid)上
左外加入组织单位首领
在(ous.idlevel3 = chiefdom.organisationunitid)上
左外连接(
选择sourceid,sum(cast(值是double precision))作为值
从数据值
其中dataelementid = 359706
和periodid = $ P!{periods}
按sourceid分组)作为bcg在bcg.sourceid = ou.organisationunitid上
左外连接(
选择sourceid,sum(cast(值是double precision))作为值
从数据值
其中dataelementid = 35
和periodid = $ P!{periods}
按sourceid分组)为yellowfever.sourceid = ou.organisationunitid上的yellowfever
其中ous.level = 4
并且ous。$ P!{organisationunit_level_column} = $ P!{organisationunits}
按区名,酋长名,ou.name排序;
-最后,回到“添加新报告”屏幕,我们单击“使用JDBC” 数据源”。这使您可以选择任何相对期间和报告 报告的参数。相对时期是相对于今天的 日期。报告参数将在创建报告和 可以动态选择组织单位和期间 在运行时用于您的报告。对于上面的示例,我们必须 在相关期间下选择“报告月份”,然后选择“报告” 报告参数下的“月份”和“组织单位”。点击保存。 会将您重定向到报告列表,您可以在此处单击绿色 报告旁边的“创建”图标以进行呈现。
设计基于HTML的标准报告¶
可以使用纯HTML和JavaScript设计标准报告。这个 需要一点提到的开发经验 科目。基于HTML的标准报告的好处是它允许 以获得最大的灵活性。使用HTML,您可以准确地设计报告 您要根据以下内容在页面上放置表格,徽标和值 您的设计需求。您可以在以下位置编写和保存标准报告设计 常规文本文件。要将基于HTML的标准报告上载到DHIS2 请执行下列操作:
-
导航到标准报告,然后单击“添加新”。
-
给报告起一个名字。
-
选择“ HTML报告”作为类型。
-
如果您愿意,可以通过单击下载报告模板 “获取HTML报告模板”。
-
选择所需的相对时间-这些将在 报告中的JavaScript。
-
选择报告参数-这些参数将在JavaScript中提供 您的报告。
报告模板,您可以在选择报告类型后下载该模板, 是开发基于HTML的标准报告的有用起点。 它为您提供了基本结构并建议了如何使用JavaScript 和报告中的CSS。 JavaScript和CSS可以很容易地包含在内 标准脚本和样式标签。
如果在创建标准报告时选择了相对期间, 可以像这样在JavaScript中访问它们:
var period = dhis2.report.periods; //具有句点标识符的数组
var period = period [0];
如果在创建广告订单时选择了组织单位报告参数 标准报告,您可以在其中访问所选的组织单位 像这样的JavaScript:
var orgUnit = dhis2.report.organisationUnit; // 一个东西
var id = orgUnit.id;
var name = orgUnit.name;
var code = orgUnit.code;
设计这些报告时,您可以利用Analytics Web API 资源以在JavaScript中检索汇总数据。看一看 请参阅本指南的Web API章节中的详细说明。作为一个 完整的最小示例,您可以在 报告已加载,并使用该数据来设置报表的内部文本 这样的HTML元素:
<script type="text/javascript">
$(document).ready(function(){
$ .get(“ ../api/analytics?dimension=dx:FnYCr2EAzWS;eTDtyyaSA7f&dimension=pe:THIS_YEAR&filter=ou:ImspTQPwCqd”,function(json){
$(“ #bcg”).html(json.rows [0] [2]);
$(“ #fic”).html(json.rows [1] [2]);
});
});
</script>
<div> BGG覆盖率:<span id="bcg"> </span> </div>
<div> FIC覆盖范围:<span id="fic"> </span> </div>
其他一些技巧:要包含图形,可以将图像转换为SVG 并将SVG内容直接嵌入到报告中-DHIS2基于 HTML 5,其中SVG标签是有效的标记。要在其中包含图表和地图 您的报告可以使用Web API中的图表和地图资源。 您可以在自己的JavaScript中使用Web API的全部功能 报告-仔细阅读Web API章节以获取 所有可用资源的概述。