165一.概览二.数据库和信息目录三.建立和修改表连接(Join)四.文件夹结构调整五.用户特征定义(UserProfile)六.性能七.移交与维护Impromptu管理166概览第一章167本章目标1.回顾什么是Impromptu,它给管理员和用户带来的好处2.了解Impromptu的不同版本3.了解Impromptu在Cognos业务智能套件的地位4.描述作为Impromptu管理员的角色5.描述规划过程168理解Impromptu对最终用户:Impromptu是强有力的查询和报表工具,它通过易学的交互界面,使最终用户从数据库中检索出数据并产生自己的复杂报表,而不必了解数据库结构和程序设计语言的复杂知识。对管理员:Impromptu实现了保护数据库的方法,使数据库不会受到最终用户的意外修改。而信息系统工作人员也不必自己去处理和传递报表。此外,管理员利用Impromptu可具有对数据库访问、安全、网络包、数据、报表发布的完全控制。169Impromptu软件·ImpromptuUser这是最终用户要安装的基本产品。包括Impromptu和Scheduler。用户可以建立报表或调度(Schedule)报表。但用户不能建立或修改信息目录,权限可能受到限制。支持的环境是Windows98和WindowsNT。·ImpromptuAdministrator这是Impromptu的管理员版本。可用它建立和修改数据库定义,建立和修改信息目录和文件夹,建立和管理用户类和用户权限。这个版本完全包含了ImpromptuUser的功能,可以建立标准报表和模板,并把它们分配给用户。170ImpromptuintheCognosBISuiteCorporateData•MultidimensionalAnalysisDrillthroughtodetails•DataMiningDatapreparationReportsReport•FocusedReportingPortfolio171Impromptu管理员的角色(Role)任务:Impromptu管理员任务是为企业的业务用户建立和管理有效的Impromptu查询和报表应用。目标:开发一个易于使用的Impromptu应用,简化报表任务的复杂性,使用户避开数据库结构和程序设计语言复杂性的困扰。你可能是:·DBA,对数据库知识有精深的了解。这种情况下你要密切关注企业的业务分析,了解用户会如何使用数据。·业务分析员或Impromptu的强用户,能准确了解用户群需要什么样的数据。这种情况下要与DBA配合,他会帮助你识别数据库中的表与列并决定取舍。管理员要充当了解数据结构的人与了解业务的人之间的桥梁。172规划(Planning)过程设计、构造和实现一个成功的Impromptu应用的最关键步骤就是规划(Planning)。作为管理员你要从项目规划(ProjectPlan)开始做起。在项目规划中要搞清数据源、数据需求、用户需要等。项目生命周期(ProjectLifeCycle)从“规划”开始:1.Plan,2.Implement,3.Deploy,4.Maintain本教程给出的仅仅是对于promptu应用的一般性指导,而有效的实现方法取决于本业务机构的个别需求和特定情况。PlanImplementDeployMaintain1234173一般性指导·关注最终用户·明确需求·做出逻辑设计·遵循项目生命周期·先做一个实验性的预产品·增加系统的灵活适用性·规划总体结构·制定技术支持计划·安排有效的培训计划174Impromptu项目生命周期(Step1-7)1.认准支持人员,这些支持人员具有数据库的知识和业务的知识。2.向支持人员进行Impromptu适当级别的培训。3.搞清自己的用户以及他们的数据需求。4.了解数据源,如何连接到数据库,建立数据库定义(第二章)。5.识别数据库表和列,搞清是否需要数据库中并不存在的派生信息,即,是否需要在信息目录中建立计算和条件。6.对所有的表(包括任何别名)制定一个连接(Join)方案(第三章),这些表包括了信息目录定义所需的全部数据项。7.确定文件夹结构(第四章),以反映数据的用户观点。决定给信息目录中的每一个数据项赋予什么名字。在文件夹结构中决定文件夹和数据项需移动到那儿,加到哪儿,从哪儿删去.175Impromptu项目生命周期(Step8-14)8.建立信息目录,建立连接(Join)(第二、三章)。9.修改文件夹结构,建立计算和条件(第四章)。10.定义用户特征定义和用户类,包括表和文件夹访问权限(第五章)。11.建立、分布标准报表和模板(见ReportBuildingwithImpromptu课程)。12.改进Impromptu应用的性能,例如Client/Server的负载均衡(第六章)。13.向最终用户提供Impromptu适当级别的培训和支持。14.移交维护Impromptu应用,包括评价它的效率,做必要的调整,处理对数据库和信息目录的修改等(第七章)。176小结1.回顾Impromptu是什么,它给管理员和用户带来的好处2.了解Impromptu的不同版本3.了解Impromptu在Cognos业务智能套件的地位4.描述作为Impromptu管理员的角色5.描述规划过程177数据库和信息目录第二章178本章目标1.描述信息目录和数据库之间的关系2.说明信息目录的好处3.定义逻辑数据库4.建立一个信息目录5.建立“内容摘要报告”(ContentOverview)179信息目录(Catalog)管理员的中心任务是组织数据使它们能有效地使用。组织数据的主要工具就是信息目录(catalog)。信息目录是把数据库中的数据按照用户的业务观点来组织。把用户所需的数据组织在多个信息目录或一个信息目录的多个文件夹中,对用户既有意义又便于访问。然后可以把数据传送给对应某个业务范围的数据组。用户使用信息目录去查询数据,他们不会直接接触数据库,所以不会破坏数据库中的数据。可以把用户设定成使用特定信息目录或文件夹的特定组。“用户特征定义”和“用户类”决定了如何访问数据库,谁能够访问,以及每个用户能被允许看到什么。这些在第五章介绍。一个信息目录是一个扩展名为.CAT的文件,它含有用户从数据库检索所需数据的全部信息。信息目录本身并不含数据,而只是告诉Impromptu如何得到数据。180信息目录的好处对用户的好处把用户和数据库隔离开来,用户不必去理会复杂的无关的专业化的数据库信息。提供了数据的业务观点。以易于理解的文件夹格式给出信息。因而减少了对用户的数据库培训。对管理员的好处可以服务于多种不同的用户群而不必修改数据库。能够帮助描述什么数据对用户是有用的,这些数据如何访问。它可能是维护整个Impromptu环境的要害点。181Folders信息目录(catalog)中含ColumnsCalculations+-/*ConditionsPrompts182信息目录(catalog)中含…文件夹Folders、列Columns、计算Calculations、条件Conditions提示Prompts文件夹是有意义的信息组集,类似数据库中的表。如果需要,文件夹中可以再含子文件夹。文件夹中可含有来自一个表或多个表的列,也可以含有‘计算’和‘条件’。在每一个文件夹内,信息的个别项表现为“列”,例如产品编号、产品类型等。类似数据库中的字段。相同的信息可以在多个文件夹中作为列。预定义的派生计算(例如利润)可以包含在文件夹中。这些信息可能在数据库中并不存在,但是却可以在基础数据检索进信息目录后把它们计算出来,这种情况下“计算”就特别有用。“条件”是预定义的过滤器,可通过它限制检索的范围。“提示”用来随机给定过滤条件。当打开一个报表时,先弹出一个或几个提示对话框,在这里临时指定本次数据检索的范围。183信息目录(Catalog)管理员能够把数据按用户的业务观点组织到信息目录的文件夹中。把数据源中的数据以另一种形式展现在用户面前。InventoryQualityAccountsReceivableCorporateData184PRODUCTPROD_NOPROD_TYPEPROD_LINEPRODUCTPROD_COSTPROD_PRICESTATUSPICTURESALES_92SALES_93SALES_94SALES_95COMMENTS数据库和信息目录的对应与区别信息目录结构为用户提供了一个业务视图,它以对用户更有意义的方式组织,而不是按数据库结构来组织。具有用户可以理解的名字。数据库表和字段信息目录文件夹和列名称层次┅185建立一个信息目录建立一个信息目录的主要步骤:1.定义逻辑数据库2.定义信息目录3.在数据库中挑选出所需的表与列4.为选中的表制定一个连接(join)方案5.改造文件夹结构6.设定用户权限186连接(Connect)到数据库“数据库定义”决定了Impromptu如何与数据库相连。Database187建立一个“数据库定义”“数据库定义”决定了Impromptu如何与数据库相连。建立信息目录从定义“数据库定义”开始。从Catalog菜单中选Databases命令,可以定义若干个“逻辑数据库”。确定了数据源,就必须建立一个“数据库定义”以使得信息目录能连接到数据库上。“数据库定义”是关于每个“逻辑数据库”要连接到哪个物理数据库、它在哪里、如何连接的说明。它要指明:(1)数据库的逻辑名(在Impromptu中使用);(2)数据库类型(如dBASE,Sybase,Oracle,DB2);(3)数据库在什么地方(本机目录或网络地址);除了这些基本信息外,视不同的数据库类型,可能还要指定一些本类型特殊要求的附加信息(后面以dBASE和Sybase为例说明)。188数据库定义管理先按数据库类型分类,在每类的里面再给出定义好的逻辑数据库名字。选中一个逻辑数据库后,按Edit按钮可进入编辑。或按“NewDatabase”按钮定义新的逻辑数据库。189dBASE数据库定义对话框Impromptu中定义的逻辑数据库名测试在指定路径下是否存在.dbf文件.dbf文件所在的路径190建立一个关于Sybase的“数据库定义”视数据库的类型,可能还要指定一些附加信息。比如,对于Sybase数据库:⑴“SQLServerName”:Sybase的客户端OpenClient做DSEDIT连接配置设定时给定的“连接逻辑名”,决定了本客户机要连接到哪一台服务器上,其中定义了服务器的网络地址和端口号。⑵LogicalDatabaseName:这是在Impromptu中使用的数据库名字。⑶DatabaseName:这是在服务器端Sybase数据库系统中的一个具体的数据库名。191Sybase数据库定义对话框Impromptu逻辑数据库名字Sybase连接逻辑名。其中定义了SQLServer所在服务器的网络地址和端口号Sybase系统中一个具体的用户数据库的名字测试是否能连通192配置Sybase的客户端DSEDIT是Sybase客户端的一个模块,用来配置客户端与服务器的连接。左侧Server框中的名字就是在Impromptu中看到的SQLServerName,一个名字对应一个网络地址及端口号。193建立一个关于Informix的“数据库定义”视数据库的类型,可能还要指定一些附加信息。对于Informix数据库:Informix客户端产品为“Iconnect”,其中有一个模块叫“setnet”,在这个模块中至少要指定或配置以下三个参数:HostName;ServerName;ServiceName在setnet中,这几项的设定要与服务器端的设定相呼应。194Impromptu逻辑数据库名字Informix数据库定义对话框Informix系统中