ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DB2 pureXML 为XML 数据创建业务报告

DB2 pureXML 为XML 数据创建业务报告

原创 Linux操作系统 作者:ArtCode 时间:2009-04-27 15:32:39 0 删除 编辑

XML 的发展

可扩展标记语言(Extensible Markup Language,XML)是于 1998 年首次提出的 World Wide Web Consortium (W3C) 标准,它是一种用于定义描述文档内容和逻辑结构的数据标记语言。XML 文档由数据值和描述数据的 “标记(markup)” 组成,比如,123-456-7890。使用 XML,企业可以指定使用某种格式的各种类型的数据,运行在任何平台上的应用程序都可以轻松导入和处理这种格式。XML 越来越多地被企业和政府机构作为一种内部数据格式,用于从电子表格捕捉数据(W3C 标准 XForms 就是一个例子)以及对业务建模。

此外,很多基于 XML 的行业标准也得到开发,从而提供了一种通用格式来简化企业内部和企业之间的数据交换和处理。这些标准针对不同的行业,比如,Association of Cooperative Operations Research (ACORD) 针对保险行业,Financial Information eXchange Markup Language (FIXML) 针对金融行业,Health Level 7 (HL7) 针对健康保健行业,National Information Exchange Model (NIEM) 针对政府机构,Association for Retail Technology Standards (ARTS) 面向零售业,Universal Business Language (UBL) 用于发票等的商业文档,而 Modernized e-File (MeF) 则用于纳税申报。

最初,许多企业仅仅将 XML 作为一种信息交换格式,构建它是为了发送和解析收到的内容,以从中提取所需的数据。然而,随着时间推移,XML 的使用日益频繁,其规模和复杂度也不断增长,它逐渐成为企业运营中的一个关键组成。因此,现在很多企业都力求原样存储 XML,以供日后进行处理和分析。由于 XML 数据具有重要的价值,这些企业现在都转向使用关系数据库来存储和管理数据、控制访问、管理备份和恢复流程,并支持应用程序在业务处理和报告方面进行交互。下一节将简要回顾 XML 数据管理方式。

XML 数据管理

过去,希望处理和存储 XML 的企业的选择很有限。他们只能使用两种方法:序列化完整的 XML 内容并存储到文件系统或数据库大对象列(CLOB 或 BLOB)中,或是解析 XML 并提取特定元素(丢掉其余部分),将提取出的项存储到关系表的列中。虽然第一种方法符合常规需求,但效率非常低,因为每次访问数据都需要传输整个文档让应用程序进行重新解析,从而获得内容。后一种方法会造成原始 XML 文档损失上下文,以及损失被丢掉的内容。这两种方法都会导致运行时低效和庞大的应用程序开销,因为需要不断传输、处理、集合和分解 XML 文档。

在 DB2 9 中引入 pureXML 后,出现了一种新的 XML 存储选择,从而为大多数应用程序提供了更好的方法。DB2 9 pureXML 支持以 XML 的原生的层次结构格式执行存储,而不要求应用程序对 XML 执行插入或检索操作。XML 文档的子集,甚至单独的元素和属性,都可以执行查询和检索。通过有效地管理 XML,可以避免需要执行大量工作的文档分解和重新构建流程,同时仍然可以保留 XML 内容的价值。要了解有关数据库中各种管理和查询 XML 方法的性能结果,请参见本文 参考资料 小节中的 “A performance comparison of DB2 9 pureXML and CLOB or shredded XML storage”。

DB2 pureXML 概述

DB2 pureXML 在可同时理解 XML 和关系数据的混合数据库中引入了使用原生方法存储 XML 层次结构数据的功能。原生 XML 存储指的是存储完整的 XML 数据,即存储每个文档的内部层次结构以及各个元素和属性的所有数据库内容。通过使用 pureXML,企业可以有效地存储、控制、查询和更新 XML 数据以及表中存储的现有数据。

DB2 pureXML 中的 XML 数据被表示为列形式的 XML,可以与传统关系型数据共存于一个表。DB2 对其涉及传统关系数据和 XML 列数据的常用服务进行了扩展,例如优化、索引、并行控制和实用工具。DB2 不仅支持使用行业标准 SQL 或 XQuery 语言编写的查询,而且支持同时包含 SQL 和 XQuery 表达式(有时称为 SQL/XML)的 “混合” 查询,这些查询都可以访问和操作 XML 数据。图 1 展示了这种混合数据库功能。通过引入 pureXML,DB2 9 可以方便地将 XML 存储在大对象中,后者可以分解为关系列或作为 XML。用户逐渐使用原生的 XML 存储方式 pureXML,以利用其强大的灵活性并节省应用程序开销。本文重点介绍如何为在 DB2 中以 XML 列形式原生存储的 XML 数据生成报告。


图 1. 原生支持关系数据和 XML 数据的 DB2 架构
原生支持关系数据和 XML 数据的 DB2 架构

DB2 pureXML 使只能处理具体字符或数值型数据元素(例如关系数据列)的应用程序能够将 XML 数据动态转换为由传统 SQL 数据类型组成的结果集。实现这个目的的最简单方法就是使用 XMLTABLE 的 SQL 函数,该函数可以准确地描述如何以关系(或表)格式检索 XML 数据。接下来将会看到,类似于 DataQuant 的报告工具就是使用这种方法直接处理 DB2 pureXML data 数据的。有关 DB2 pureXML 以及 XMLTABLE 的更多信息,请参见 参考资料 小节。

注意:pureXML 可用于 DB2 9 for Linux®, UNIX®, and Windows® 和 DB2 9 for z/OS®,而 DataQuant 同时支持这两种 DB2 数据库。本文的示例使用的是 DB2 for Linux, UNIX, and Windows。

IBM DataQuant 概述

DataQuant 是 IBM 的通用商业智能(Business Intelligence,BI)工具,它建立在 Eclipse 开放开发平台的基础上,并可用于包括 IBM System Z™、Linux、Microsoft® Windows、IBM AIX® 和 Solaris 在内的各种系统。DataQuant 提供了创建和部署报告、图表、指示板和交互式数据可视化解决方案等功能。DataQuant 支持为所有 IBM DB2 平台创建查询、报告和指示板解决方案。对于熟悉针对 Windows 的 Query Management Facility (QMF) 或 QMF Distributed Edition 的人员来说,DataQuant 可以作为一款后续产品。在 z/OS 平台上,DataQuant 可以独立进行部署,或是作为 QMF 的扩展进行部署,其中的查询和表单等对象可以一起创建和共享。

DataQuant 提供了一组完善的 BI 功能。这些功能非常强大,而且易于使用。用户可以从这些 DataQuant 功能中获益,其中包括了大多数经常执行的 BI 任务和灵活的安全基础设施,以及资源管理和使用审计。BI 解决方案基于 DataQuant,可以同时满足大型和小型数据报告需求,并且用户可以对界面和对象进行定制和个性化。

关于 DataQuant 的更多信息,请参见 参考资料 小节列出的 DataQuant 网站。

DataQuant 包含以下组件:

  • DataQuant for Workstation:一个基于 Eclipse 的、跨平台的工作站应用程序,运行 Linux、Solaris 和 Windows 系统,被称为 “胖客户机”。
  • DataQuant for WebSphere:一个基于应用服务器的解决方案,使用 “瘦客户机”、基于浏览器的部署模型实现广泛的企业部署。

图 2 给出了部署这些 DataQuant 组件的基本架构。它展示如何将 DataQuant 部署为由应用服务器托管的 “胖客户机” 和 “瘦客户机”,甚至同时结合两者。本文描述了胖客户机的安装步骤,但是报告可以在任一种客户机配置中执行。


图 2. DataQuant 架构
DataQuant 架构

示例数据库

要演示为行业中使用的复杂 XML 数据生成 XML 报告,需要使用一个包含样例企业纳税申报信息(基于 U.S. Government Tax1120 eFile XML 格式,目前称为 Modernized eFile 或 MeF)的数据库。IBM 提供了一些免费的可下载包来开始使用 DB2 pureXML 和行业格式数据,包括一个 Tax1120 包。这些包包括一个用于创建测试数据库并插入样例数据的脚本,以及一些针对该脚本运行的示例查询。本文使用 Tax1120 包的数据库结构作为示例数据库,因此下载这个包后可以使用该环境运行报告(要下载这个包,请参见 参考资料 小节)。

可以使用一个电子表单来捕捉数据并使用特殊的 XML 格式提交(比如 Tax1120 MeF 格式)。图 3 展示在 Lotus Forms 中创建用于税务表格 1120 归档的样例电子表单,并生成了 Tax1120 XML 格式。这种表单生成的 XML 文档提供了您在本文中创建报告所需的数据。


图 3. 用于 Tax1120 归档的样例电子表单
用于 Tax1120 归档的样例电子表单

本文描述如何为同时包含关系数据和 XML 数据的表格中的 XML 数据生成报告。表 1 展示了此表(TAX1120TABLE)的结构。


表 1. TAX1120TABLE 结构
ID COMMENT DATA
INTEGER VARCHAR XML

如果要使用 Tax1120 包,只需要遵循该包的用户向导创建数据库并插入样例数据。如果您亲自创建表格而不是使用 Tax1120 包,则要使用下面的语句创建 TAX1120TABLE ,然后根据本文 下载 小节附带的样例数据步骤将样例数据导入到数据库中。

CREATE TABLE TAX1120TABLE (
ID INTEGER PRIMARY KEY NOT NULL,
COMMENT VARCHAR(500)
DATA XML)

“ID” 是一个类属键(generic key)列,但是未在报告中使用。“DATA” 是存储 TAX1120 XML 数据实例的列。注意,表中的 “DATA” 列被定义为 XML 类型。这使 DB2 可以将输入的 XML 数据存储为原生的层次结构格式。

XML 数据通常被深度嵌套并且可以非常庞大。本文生成的报告基于 Tax1120 格式,并且特定于样例数据库中存储的文档的 XML 结构和内容。要学习如何生成 XML 报告,您不必具有 XML 或数据库方面的专业知识,但是必须了解希望为其生成报告的 XML 文档的结构(层次),这样就可以选择相应的数据项(元素或属性)来生成报告。

图 4(源视图)和图 5(树视图)中使用 DB2 Control Center 文档查看器显示了样例 Tax1120 文档的部分 XML 内容,DB2 Control Center 是 DB2 附带的管理工具。有些人觉得树视图更加方便浏览(IBM Data Studio 是一款基于 Eclipse 的数据库开发环境,也支持用户使用源格式或基于树的格式查看 DB2 pureXML 数据)。


图 4. 在 DB2 Control Center 中的源视图中显示样例 Tax1120 数据
在 DB2 Control Center 中的源视图中显示样例 Tax1120 数据

图 5. 在 DB2 Control Center 中的树视图中显示样例 Tax1120 数据
在 DB2 Control Center 中的树视图中显示样例 Tax1120 数据

为 XML 数据生成报告

与关系数据库结合使用的报告和 BI 工具(比如 DataQuant)专门用于处理不同的简单数值列或文本字符串列。尽管有些工具可以访问 XML 列中的数据,但是大部分都不能够将复杂 XML 格式化为对报告有用的结构。为了使这些 XML 数据能够利用这类工具的报告和分析功能,必须将相关数据从整个 XML 文档中分离出来。

下面介绍 DB2 pureXML 提供的两种不垃圾广告法,它们可以将 XML 数据格式化为适合在 DataQuant 中生成报告的数值或文本字符串。第一种方法发出 SQL/XML 语句,将 XML 动态转换为报告所需的数据,从而提供适合生成报告的数据结果。第二种方法首先使用包含需要生成报告的 XML 文档数据的列创建一个关系视图,然后对该视图发出 SQL 语句来生成报告内容。使用这种方法的话,DataQuant 中所有操作关系表的功能都可以访问此视图中的数据。

在 DataQuant 中,从 SQL(根据关系视图用 XML 数据发出)生成报告与从 SQL/XML 查询动态返回的结果集生成报告的步骤非常相似。后面的小节将加以描述。

使用 SQL/XML 查询返回的结果集生成报告

DataQuant 中用来生成报告的数据可以直接使用 SQL/XML 查询获得,与从传统关系列生成报告数据的 SQL 查询非常相似。这种方法实际上可以动态地生成所需的数据,从 XML 文档中识别特定的元素和属性,以通过 SQL/XML 查询用于报告。通过使用特定的 SQL/XML 查询,可以从 XML 文档中灵活地选择用于生成报告的数据。

使用 XML 数据的关系视图生成报告

如前所述,DB2 提供了为 XML 列中存储的结构数据创建关系表示的功能。通过根据 XML 数据的关系表示创建视图,可以对这一功能进行扩展。为此,管理员可以编写一个提供视图定义的 SQL/XML 查询,构成视图定义的列包含提取自 XML 文档用来生成报告的所有数据。查询将一个或多个特定 XML 元素或属性节点值映射到同等数量的关系数据列(参见图 6)。为此,需使用一个 XPath 表达式来识别由 XML 数据组成的部分,通常为一个特定的 XML 文本节点,它会返回所有关系数据值。SQL 标准 XMLTABLE 函数提供了一种简单的方法,可以提供一组将 XML 映射到相应关系值的 XPath 表达式。定义一个视图,使用一个 XMLTABLE 函数从 XML 创建关系列。


图 6. 将 XML 数据映射到关系数据列
将 XML 数据映射到关系数据列

要了解更多有关 SQL/XML、XPath 表达式或 XMLTable 的信息,请参见 参考资料 小节中关于 DB2 pureXML 的内容。

比较两种报告生成方法

图 7 演示了两种针对 XML 列的数据生成报告的方法。


图 7. 两种针对 XML 数据生成报告的方法
两种针对 XML 数据生成报告的方法

如前所述,第一种方法直接查询 XML 文档,选择报告生成所需的元素和属性值。这种方法实际上可以动态生成与视图方法相同的结果。SQL/XML 方法避免了视图对象这一系统开销,并且可以更加灵活地从 XML 文档选择生成报告所需的数据,但这要求生成报告的用户能够编写特定的 SQL/XML 查询。

第二种方法生成一个已经从 XML 文档(2a)提取了关键数据元素和属性的视图,并对视图应用传统的 SQL 语句生成结果(2b),从而简化了生成报告所需的查询。由于视图可以由管理员创建,DataQuant 报告用户不需要理解底层 XML,或是具有使用 SQL/XML 或 XPath 语句的经验。可以使用简单的 SQL 语句选择要包含在报告中的列,或者用户可以像对关系表那样对视图使用形象的构建器工具,直观地为报告内容选择列数据。视图方法的一个缺点是,报告构建器必须提前设计好希望使用哪些 XML 元素和属性,这样数据库管理员才能生成相应的视图。对视图定义进行修改需要进行计划并花费一些时间。此外,还有另一个潜在的缺陷。由于可以编写 SQL/XML 查询以直接利用 XML 数据文档上的索引,因此针对视图编写的查询需要由系统间接地匹配索引。DB2 9 for z/OS 允许针对视图编写 SQL 查询来利用底层 XML 上的 XML 索引。这有助于提高性能。

创建 DB2 视图

下面的语句创建了将在报告部分使用的 TAX1120VIEW。这是一个关系视图,包含从 Tax1120 XML 数据中选择的信息。TAX1120VIEW 视图包含表示 Employer Identification Number、Company Name、Total Income 和 Total Tax 的列。这些都是由上面描述的 XMLTABLE 函数生成。您可以使用 DB2 命令行或其他查询工具执行这些语句来创建视图。

CREATE VIEW TAX1120VIEW AS
SELECT T.EIN AS "EIN", 
       T.COMPANYNAME AS "Company Name", 
       T.TOTALINCOME AS "Total Income", 
       T.TOTALTAX AS "Total Tax"
FROM TAX1120TABLE, XMLTABLE(XMLNAMESPACES(DEFAULT 'http://www.irs.gov/efile'),
     '$d/Return' PASSING DATA AS "d" 
     COLUMNS EIN VARCHAR(20) PATH 'ReturnHeader/Filer/EIN',
             COMPANYNAME VARCHAR(100) PATH 
                         'ReturnHeader/Filer/Name/BusinessNameLine1',
             TOTALINCOME DOUBLE PATH 'ReturnData/IRS1120/TotalIncome',
             TOTALTAX DOUBLE PATH 'ReturnData/IRS1120/TotalTax'
     ) AS T

表 2 解释了由以上语句生成的视图结构。


表 2. TAX1120VIEW 的结构
EIN COMPANYNAME TOTALINCOME TOTALTAX
VARCHAR VARCHAR DOUBLE DOUBLE

在开始生成报告之前,管理员需要在 DataQuant 中设置报告环境,包括识别库存储和数据库连接信息。下面将描述这些步骤。

设置 DataQuant 报告环境

安装好 DataQuant 后,在 DataQuant 用户或管理员为数据库中的数据创建报告之前,必须首先提供对数据源的访问并为生成报告创建工作区环境。数据源设置是一个一次性的流程,包括创建存储对象的库、安全模型以及源代码用户。提供对数据源的访问包括以下这些步骤:

  1. 创建库存储。定义并命名存储来存放 DataQuant 用户库。
  2. 在库存储中创建库。
  3. 创建数据源。定义到每个库的连接。
  4. 创建一个连接。配置库内部的数据源信息。

下面的小节将介绍这四个数据库设置步骤。注意,这里跳过访问 JDBC 驱动程序的配置步骤,因为我们假设每个数据库用户已经具备了这些配置。如果您还未进行配置的话,请遵循 DataQuant 向导中的步骤进行配置。下面的示例使用 DataQuant 作为 Windows 上的工作站安装,在同一个系统上连接到 DB2 9 数据库。如果您使用不同的配置,那么具体步骤可能稍有不同。启动 DataQuant 并执行步骤 1。

步骤 1:创建库存储

  1. 从菜单栏中的 Window > Open Perspective > Administrator 打开 Administrator 透视图。
  2. 右键单击 Repositories 视图并选择 New > Repository Storage
  3. 选择 Database-based Repository Storage 并单击 Next
  4. 对 JDBC driver 字段选择 DB2 JDBC Universal Driver。在该字段中填充 JDBC URL,本例中为 “jdbc:db2://localhost:50000/TAX1120”。使用您的 DB2 用户 ID 和密码填充用户名和密码字段。单击 Next
  5. 选择 Create or upgrade repository storage tables。单击 Next。再次单击 Next,然后单击 Finish

图 8. 创建新的库存储
创建新的库存储

步骤 2:创建一个库

  1. 右键单击 Repositories 视图中的库存储,并选择 New > New Repository
  2. 为库指定一个名称。本例中命名为 “Tax1120Repository”。单击 Finish

步骤 3:创建一个数据源

  1. 右键单击 Repositories 视图中的库,并选择 New > Relational Data Source
  2. 为数据源指定一个名称。在本例中命名为 “Tax1120DataSource”。对 JDBC driver 字段选择 DB2 JDBC Universal Driver。填充 JDBC URL、用户名和密码字???。单击 Next。再次单击 Next,然后单击 Finish

图 9. 创建新的数据源
创建新的数据源

步骤 4:创建一个连接

  1. Window > Show View > Other 中打开 Repository Connections 视图。
  2. 右键单击 Repository Connections 视图,然后选择 New > Repository Connection
  3. 选择 Database-based repository
  4. 为连接指定一个名称。在本例中命名为 “Tax1120Connection”。对 JDBC driver 字段选择 DB2 JDBC Universal Driver。填充 JDBC URL、用户名和密码字段。对 Repository name 字段单击 Refresh 以选择一个库。选择 Unprotected 并单击 Finish

图 10. 创建一个新的库连接
创建一个新的库连接

连接创建完毕之后,可以在 Administrator 视图中查看库和连接。如图 11 所示。


图 11. DataQuant 的 Administrator 视图
DataQuant 的 Administrator 视图

现在管理设置完成后,可以继续访问数据并创建报告。

创建报告

DataQuant 中的报告创建步骤可以分为两大步骤:

  1. 创建查询:识别查询以为报告生成备用数据内容。
    • 本节展示了 图 7 所示的两种方法的查询,因此可以更加方便地进行比较。
  2. 创建报告:开发报告布局。

使用以下步骤在 DataQuant 中创建报告。

步骤 1:创建查询以生成备用数据

  1. 从菜单 Window > Open Perspective > User 中切换到 User 透视图。右键单击 Workspaces 视图并选择 New > Query
  2. 为查询指定一个名称,本例中命名为 “Query1”,并选择前面创建的数据源(比如 Tax1120DataSource)。单击 Finish
  3. 为报告创建查询(下面解释了前面介绍的两种方法):
    • 要直接针对 XML 文档创建报告,输入下面的 SQL/XML 查询语句(或 创建 DB2 视图 小节中使用 XMLTABLE 的 SELECT 部分)。

      SELECT XMLCAST(XMLQUERY('declare default element
                     namespace "http://www.irs.gov/efile";
                     $d/Return/ReturnHeader/Filer/EIN/text()'
                     PASSING DATA AS "d") AS VARCHAR(20)) AS "EIN",
             XMLCAST(XMLQUERY('declare default element
                     namespace "http://www.irs.gov/efile";
                     $d/Return/ReturnHeader/Filer/Name/BusinessNameLine1/text()'
                     PASSING DATA AS "d") AS VARCHAR(100)) AS "Company Name",
             XMLCAST(XMLQUERY('declare default element
                     namespace "http://www.irs.gov/efile";
                     $d/Return/ReturnData/IRS1120/TotalIncome/text()'
                     PASSING DATA AS "d") AS DOUBLE) AS "Total Income",
             XMLCAST(XMLQUERY('declare default element
                     namespace "http://www.irs.gov/efile";
                     $d/Return/ReturnData/IRS1120/TotalTax/text()'
                     PASSING DATA AS "d") AS DOUBLE) AS "Total Tax"
      FROM TAX1120TABLE

      上面的查询语句返回与 TAX1120VIEW 视图所含内容相同的信息。这里并没有定义视图,而是动态地生成数据。上面的查询可以代替使用 XMLTABLE 定义视图的查询。它生成相同的结果,但构造和解释有一些复杂,因此一般建议使用 XMLTABLE 从 XML 构造关系数据列,不管是动态构造还是根据视图进行构造。在本例中这两种查询都可以使用。注意,XMLCAST 是一个将 XML 数据转换成关系数据类型的 SQL/XML 函数。更多相关信息见 参考资料 小节。

    • 要根据前面创建的 XML 的关系视图创建报告,输入下面的查询语句:

      SELECT * FROM TAX1120VIEW

      可以看到,定义 TAX1120VIEW 精确地包含 XML 文档中需要生成报告的数据之后,接下来仅需使用一个非常简单的报告生成查询。即使是只从视图中选择列的一个子集,也能用一个简单的 SQL 查询实现。此外,报告可以通过 DataQuant 的可视构建器功能从视图源代码中构建,进一步分离最终用户和数据细节。要使用可视的构建器,请遵循下面的步骤:

      1. 单击 Query1 窗口下方的 Prompted 标记。
      2. 单击 Add Table 向查询添加一个源表格。
      3. 单击 Add From List...
      4. 输入 “Table Owner” 名称(这是创建视图的 DB2 用户),然后单击 Refresh List
      5. 选择 TAX1120VIEW 并单击 Add,向查询添加一个视图。单击 Close
      6. 默认情况下,选择所选的表/视图中的所有列。单击 Add Column 向查询添加具体的列,或单击 Change ColumnDelete Column 修改或删除查询中的列。


      图 12. 根据表/视图可视地创建查询语句
      根据表/视图可视地创建查询语句

      如图 12 所示,上面的步骤可视地创建了一个查询语句,生成与 SELECT * FROM TAX1120VIEW 相同的结果。这种方法使不了解 SQL 的用户能够创建报告。

  4. 保存 “Query1”。从菜单栏中选择 Query > Run 或单击工具栏中的 Run 来执行查询。执行完毕后,将显示查询结果,如图 13 所示。

    图 13. 样例查询的结果集
    样例查询的结果集

步骤 2:从查询结果创建报告

无论使用何种方法为报告创建查询结果(通过视图或直接创建),都使用下面的步骤创建报告:

  1. 从菜单栏选择 Results > Display Report...
  2. 选择 Create a new report 并单击 Next
  3. 使用预先选择的选项,即 “Create a visual report” 下的 Generated based on current query。单击 Finish。DataQuant 还提供了另外两种报告选项,经典报告和 BIRT 报告,本文未作讨论。
  4. 要对报告进行调整,单击窗口底部的 Design 选项卡以切换到 Design 视图,如图 14 所示。

    图 14. 生成报告的 Design 视图
    生成报告的 Design 视图

  5. 您可以在 Design 视图内调整报告对象的大小和位置、报告数据的格式,以及其他可视的报告属性。例如,要使用精确到小数点右侧两位的数字显示 Total Income 值,选择 “Detail1” 部分的 “Total Income” 列下面的单元格。将 Properties 视图中的 “Text” 字段修改为 =formatNum("0.00",[Total Income])
  6. 使用窗口底部的选项卡切换回到 Preview 视图,查看如图 15 所示的报告。保存为 Report1 并关闭报告。

    图 15. 完成报告后的 Preview 视图
    完成报告后的 Preview 视图

这就是使用 DataQuant 为 XML 数据生成报告所需的全部步骤。现在看一下另一个表示选项 Visual Dashboard,下一小节将对此进行介绍。

使用 Visual Designer 生成 Visual Dashboard

Visual Dashboard 是一种可视化项目,可以为广泛的用户显示交互式或持久性数据。Visual Dashboard 可以从多个异构数据源同步提取数据,并使用各种图形、图表和图形部件表示数据。内容开发人员可以创建一种图形化的指示板,多个用户可以通过 Web 浏览器或面向工作站的 DataQuant 的瘦客户机版本查看这个指示板。

使用 Tax 1120 XML 数据创建可视指示板:

  1. 通过选择 Window > Open Perspective > Visual Designer 打开 Visual Designer 透视图。
  2. 通过选择 Window > Show View > Other... 打开 Palette 视图,然后选择 General > Palette
  3. 在 Project Explorer 视图中,右键单击 Visual Dashboards 并选择 New Visual Dashboard...
  4. 为报告指定一个名称。本例中名为 “Dashboard1”。单击 Finish
  5. 在 Project Explorer 视图中,右键单击 Visual Dashboards > *Dashboard1 > Connections 并选择 Insert Connection...
  6. 选择 Data Sources > Tax1120DataSource 并命名连接。在本例中命名为 “Connection1”。单击 Finish
  7. 在 Project Explorer 视图中,右键单击 Visual Dashboards > *Dashboard1 > Queries 并选择 Insert Query...
  8. 选中 Attach an existing query 选项,并单击 Select Query From Repository 符号。选择 Open from Repository 并单击 Next。选择 Workspaces > Default > Query1 并单击 Finish。为查询指定一个名称。在本例中命名为 “Query1”。单击 Finish
  9. 在 Palette 视图中,选择 BarChart 并单击 *Report2.MainPage 窗口中的 Detail1 区段以创建一个图表。
  10. 选择 Query1 并单击 Next。将 “Total Income” 和 “Total Tax” 字段添加到 Fields to be displayed 区域,然后单击 Next。单击 Include a label 框并在 Label field 下拉菜单中选择 “Company Name”。取消选中 Display the value of each bar 复选框。单击 Finish
  11. 根据需要调整图表的大小、位置和属性。单击 Runtime 选项卡显示指示板,如图 16 所示。保存为 Dashboard1,然后关闭指示板。

    图 16. 可视指示板的 Runtime 视图
    可视指示板的 Runtime 视图

结束语

DB2 pureXML 逐渐发展为用于存储和管理 XML 数据的库。本文介绍了两种使用 DataQuant 从 DB2 pureXML 数据创建报告的方法,并提供了具体步骤。第一种方法直接执行 SQL/XML 查询从 XML 生成数据作为 DataQuant 报告的输入。第二种方法使用了两个步骤,首先创建一个 XML 数据的关系视图,然后构造简单的 SQL 查询(或使用 DataQuant 的向导)从关系视图生成报告。本文还展示了如何在 DataQuant 中创建一个图形化指示板来动态地展示数据。要了解有关 DataQuant 或 DB2 pureXML 的更多信息,请参见 参考资料 小节中引用的资料。

致谢

Isayas Sium、Cindy Saracco、Jason Cu、Blanca Borden、Mary Desisto 和 Kate Riley Tennant 为本文提供材料或参与审校,本文作者对他们表示衷心感谢!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15082138/viewspace-591937/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-08-05

  • 博文量
    269
  • 访问量
    556528