高级自定义 > 业务逻辑自定义 > 报告生成 > Cognos 演示自定义
  
Cognos 演示自定义
目标
您想要创建一个可供从现有 Windchill 数据源查询数据的 Cognos 报告。
背景
Cognos 是与 Windchill 集成的第三方报告工具。该工具在 Cognos 中公开 Windchill 数据源对象,可用于 Cognos 报告以从 Windchill 中检索数据。Cognos 用于设置报告中数据的格式并显示数据。
范围/适用性/假设
本文档假定已成功安装并配置了 Windchill Business Reporting (WBR) 解决方案 (即 Cognos)。Windchill 实例名称称为 <WindchillInstanceName>。Cognos 的根 URL 称为 <WBRHomeURL>。通常,如果 WBR 解决方案安装在 <WBRHost> 上,则 <WBRHomeURL> 将为 http://<WBRHost>/Cognos/cgi-bin/cognos.cgi。假定您可以登录到 <WBRHomeURL>,并且您具有足够的 Cognos 权限来查看 Windchill 数据源对象和创建报告。
假定您将新报告命名为 <MyReport>,且该报告将使用 <MyDataSource> 对象从 Windchill 中检索数据。此外,假定您能够在 Windchill 中的站点上下文中创建报告对象。
WBR 解决方案提供了多个预设 Windchill 数据源对象。如果报告需要自定义 Windchill 数据源对象,请参阅 ReportTemplate 数据源自定义以了解详细信息。
预期结果
此解决方案的最终结果是在 Cognos 中创建报告。该报告的示例输出如下所示。
解决方案
通过 Cognos Report Studio 创建使用 Windchill 数据源的报告。
必备知识
要实现此目标,需要了解以下内容:
Cognos 报告创作
JMX 控制台基本用法
解决方案元素
元素
类型
说明
<MyDataSource > Cognos 数据源
Cognos 对象
用于从 Windchill 中查询数据的 Cognos 对象。
<MyReport> Cognos 报告
Cognos 对象
报告中包含查询定义并指定演示格式的 Cognos 对象。
<MyReport> Windchill 报告
Windchill 对象
Windchill 用户界面中显示给最终用户的 Windchill 对象。此对象用作相应 Cognos 报告对象的代理。
过程
本节包含有关下列自定义过程的详细信息:
创建报告。
在非站点上下文中创建报告
删除报告
创建报告
1. 使用 <WBRHomeURL> 登录到 Cognos。
2. 导航到 "Public Folders > Windchill"。
3. 启动 "Report Studio"。
4. 选择 <MyDataSource> 作为报告的数据源。这些数据源将出现在 "Insertable Objects" 窗口中的 "Source" 选项卡下。
5. 使用 Cognos Report Studio 功能来完成报告。
6. 将报告作为 <MyReport> 保存到 "Public Folders > Windchill" 顶级文件夹。
7. 在 Cognos 中验证报告。刷新 "Public Folders > Windchill" 文件夹,其中会列出 <MyReport> 对象。使用 "Run with options..." 操作运行报告。
8. 向 Windchill 公开报告。从已安装的 Windchill 快捷方式启动 Java 控制台。有两种方法可实现此操作:
连接到 Embedded Servlet Engine (基于 Tomcat) JVM 实例。从 MBeans 选项卡的 "com.ptc > Monitors > ReportingSystem" 中选择报告管理 bean。在 "Operations" 选项卡中,单击 "exposeReports"。
在 Windchill“站点”>“报告”中选择“刷新报告列表”按钮以刷新页面。
9. 在 Windchill 中查看 <MyReport> 报告。对象将显示在“站点”>“报告”中。请注意,对于此对象,“准备使用”列显示为“否”。这意味着,具有只读访问权限的其他用户将看不到报告。“准备使用”属性可用于限制在开发报告时最终用户对报告的访问权限。
10. 编辑 <MyReport> 以使最终用户可以访问报告。选择“编辑”操作,然后针对“显示上下文”选择“主页”,并选中“准备使用”复选框。单击“确定”保存这些更改。这样,<MyReport> 即对所有具有“站点”>“报告”和“主页”>“报告”读取权限的用户可见。
11. 在 Windchill 中验证报告。导航到“主页”>“报告”,并针对 <MyReport> 对象选择“查看报告”操作。
在非站点上下文中创建报告
在上述主要过程中,Cognos 报告是在 Cognos 中的 "Windchill" 公用文件夹中创建的。此文件夹与 Windchill 中的站点上下文相关联,并在此上下文中创建 Windchill 报告对象。主要过程的变化是在非站点上下文 (如组织) 中创建 Cognos 报告和相关代理 Windchill 报告。您需要在 Cognos 中创建一个文件夹结构,以与您要在 Windchill 中使用的非站点上下文相对应。例如,假定您有一个组织 <MyOrg>,其中包含产品 <MyProduct>,并且您想要在 <MyProductReport> 上下文中创建 <MyProduct> 报告。
在遵循上述主要过程步骤之前,请在 Cognos 中创建以下文件夹:
1. 在 "Public Folders > Windchill" 文件夹下,创建名为 "wt.inf.container.OrgContainer=<MyOrg>" 的文件夹。
2. 在 "Public Folders > Windchill > wt.inf.container.OrgContainer=<MyOrg>" 文件夹下,创建名为 "wt.pdmlink.PDMLinkProduct=<MyProduct>" 的文件夹。
3. 在上述过程的步骤 6 中,将报告作为 <MyProductReport> 保存到 "Public Folders > Windchill > wt.inf.container.OrgContainer=<MyOrg> > wt.pdmlink.PDMLinkProduct=<MyProduct>" 文件夹中。
4. 在步骤 6 中,将报告作为 <MyProductReport> 保存到 "Public Folders > Windchill > wt.inf.container.OrgContainer=<MyOrg> > wt.pdmlink.PDMLinkProduct=<MyProduct>" 文件夹。
5. 在步骤 8 中公开报告后,Windchill 报告将显示在 "Product: <MyProduct> > Reports" 中。
删除报告
通过删除 Cognos 和 Windchill 报告对象,可将不再需要的报告从系统中移除。假定您要删除 <MyReport>。
1. 使用 Cognos UI 浏览至 "Public Folders > Windchill" 文件夹中的 <MyReport> (如果该报告是一个非站点上下文报告,则位于子文件夹中),然后选择 "Delete" 操作。
2. 然后,使用 Windchill UI 定位 <MyReport>,然后选择“删除”操作。
* 
如果“报告”表格位于上下文中,并且您具有删除该上下文中 Windchill 报告对象的访问权限,则“报告”表格支持多行删除操作。
限制
Cognos 报告创作功能是面向多种不同类型的数据源而设计的。WBR 集成使用的是 XML 数据源。与其他类型的 Cognos 数据源相比,此类数据源可能存在一些限制。在大多数情况下,Cognos 能够实现 XML 数据源的类似功能,但其效能可能会受到影响。例如,可以应用聚合函数来汇总数据,但此类处理会在收到所有数据后在 Cognos 服务器中进行,而这可能会导致性能和伸缩性问题。
Cognos 报告与 Windchill 报告业务对象之间存在一对一的关联性。此对象可实现 AccessControlled 接口,以便应用标准 Windchill 访问控制。请注意,不存在“执行”权限访问控制概念。如果用户具有“读取”访问权限,则该用户还可以执行报告。针对为所有 Windchill 报告对象提供“读取”访问权限的站点上下文指定这些报告对象的预设访问控制策略。其他访问控制规则将基于类型继承应用于报告对象。例如,报告对象将扩展 WTObject,因此,在站点级别,对管理员授予完全访问权限。
Cognos 报告受到 Cognos 服务器访问控制策略的制约。将 Cognos 作为 WBR 的一部分进行部署时,除非将 Cognos 为共享 Windchill LDAP 以进行身份验证,否则此集成不会改变 Cognos 中的默认访问控制权限、用户或组。要进一步更改 Cognos 中的访问控制权限、用户或组,必须通过 Cognos 工具 (即通过 Cognos 文档中所述的相应 UI 或 API) 来完成。有关更多概述,请参阅 Cognos Administration and Security Guide (《Cognos 管理与安全指南》) 中的 "Initial Security" 一章。
* 
Cognos 不支持 FloatingPointWithUnits 属性值类型。有关详细信息,请参阅文章 CS000308408
示例代码
Windchill 代码中的用法示例:
Windchill 同时支持 Windchill ProjectLinkWindchill PDMLink 解决方案中的预设报告。有关详细信息,请参阅 Windchill 帮助中心中的基础管理部分。不支持直接修改关联的对象。
相关的包/类 Javadoc
CognosIntegration 模块
com.ptc.windchill.cognos
Reporting 模块
com.ptc.windchill.enterprise.report
相关自定义文档
Cognos 帮助 (http://<WBRHost>/Cognos/documentation/help_docs.html)
相关 Windchill 文档
基础管理
专业化管理
相关网站
http://www.ibm.com/cognos/support