InfoSphere与Cognos集成架构概述
在 Cognos Framework Manager 中创建元数据
在使用挖掘结果创建报告之前,需要定义应该使用哪些资源(数据库、表或视图???。Framework Manager 还允许通过定义连接和新列(用表达式)来增加数据源。
这个简单的例子创建一个 Cognos Framework Manager 报告。定义有评价信息的结果表,并发布元数据。
打开 Framework Manager 并创建一个新项目:
可以从桌面启动 Cognos Framework Manager。
启动后,单击 Create a new project…。
在出现的对话框中,指定名称 HeartMetaData,并单击 OK。
选择 English 作为语言,并按 OK 按钮。
由于要从一个 DB2 表创建元数据,所以选择一个常见的 Data Sources,并单击 Next。
选择 DWESAMP 数据库, 并单击 Next。
现在需要选择要导入为元数据的数据对象。展开 HEALTHCARE 模式和 table 文件夹,选择在评价流执行期间创建的 NEW_PATIENT_CLASSIFICATION 表。单击 Next。
这个页面上的设置就完成了,单击 Import,然后单击 Finish。

图 7. Cognos 8 Framework Manager
在 Project Viewer 的左侧,可以浏览新创建的项目。现在,定义一个附加列,以组合评价流创建的 2 个预测列的洞察力。其思想是以一种容易理解的方式为医生提供挖掘出的洞察力。
为此,执行以下步骤:
展开 DWESAMP。可以看到评价流中创建的表 NEW_PATIENT_CLASSIFICATION。
双击该表。
这时出现 Query Subject Definition 对话框。进入 Calculations 选项卡(见图 8)。

图 8. Query Subject Definition 对话框
单击 Add 创建一个通过一个计算定义的新列。这时出现 Calculation Definition 对话框。
在 name 域中输入 Check,并在 Expression definition 文本域中输入以下表达式(在桌面上的 Calculation Definition.txt 文件中也可以找到这个表达式):
IF ( [DWESAMP].[NEW_PATIENT_CLASSIFICATION].[PREDICTED_CLASS] = 'y')
THEN (IF ([DWESAMP].[NEW_PATIENT_CLASSIFICATION].[CLASS_CONFIDENCE]>0.83)
THEN('necessary') ELSE('maybe'))
ELSE (IF([DWESAMP].[NEW_PATIENT_CLASSIFICATION].[CLASS_CONFIDENCE] > 0.9)
THEN('not necessary')
ELSE('maybe'))
上面的表达式根据 PREDICTED_CLASS(y 和 n)和 CLASS_CONFIDENCE 创建 3 个新的类别。该表达式将预测类别为 y 且相应的置信度超过 83% 的病人定义为高风险病人(意味着需要体检)。而预测类别为 n 且相应置信度超过 90% 的病人则属于低风险病人(意味着不必做体检)。其他病人归类为中等风险(可能需要体检)。图 9 是 Calculation Definition 对话框的一个例子。

图 9. Calculation Definition 对话框
单击 OK 关闭 Calculation Definition 对话框。
可以通过进入 Test 选项卡并单击 Test Sample 测试这个表达式。
单击 OK 关闭 Query Subject Definition 对话框。
创建一个包并发布它:
为了使新创建的元数据可被使用,进入 Project Viewer 并右键单击 Packages 文件夹,然后选择 Create > Package。
在 name 域中,输入 Heart,并单击 Next。
直接单击 Next,因为不用做其他事情。
在接下来的对话框中,将 DB2 添加到 Available function sets 列表中,然后单击 Finish。
在接下来的对话框中,单击 Yes 继续发布过程。
在 Publish 向导的 Select publish location 部分,单击 Next,因为不需要更改什么。
这个例子中不必指定安全设置。因此,单击 Next。
然后按下 “Publish” 按钮。
在提示您已成功地发布包的对话框中,单击 Finish。