用友软件股份有限公司BO语义层2012YonyouSoftwareCo.,Ltd.基础培训语义层概念设置语义层参数模式设计构建语义层进阶&实例链接&公共维度聚合感知通过语义层设计实现同环比问题通过默认登录用户过滤权限课程内容2012YonyouSoftwareCo.,Ltd.语义层-概念Designer和UniverseDesigner一个BO中间层设计工具,利用该工具可为前台展现工具WebIntelligence等创建Universe什么是Universe?一个或多个数据库中间件的连接参数。称为对象的SQL结构,映射到数据库中的实际SQL结构,如列、表和数据库函数体现在数据库中使用的表和联接的模式。WebIntelligence用户连接到Universe,并依据数据库运行查询.他们可以进行数据分析,并使用Universe中的对象创建报表,而无需看到或了解有关数据库中的基本数据结构的任何信息。2012YonyouSoftwareCo.,Ltd.语义层-概念Universe有何作用Universe的作用是为WebIntelligence的非技术用户提供一个易于使用和理解的接口,使他们能依据数据库运行查询,以创建报表和执行数据分析。作为Universe设计员,您使用Designer来创建表示数据库结构的对象(例如列和数据库函数),用户需要访问和查询这些对象,以获得满足其业务需求所需的信息。您在Universe中创建的对象必须与最终用户的业务环境和词汇相关。这些对象的作用是将以业务为焦点的前端呈现为数据库中的SQL结构。下图显示了对象的作用,它用作数据库模式和WebIntelligence中的“查询”工作区之间的映射层,而用户使用该工作区创建依据数据库表运行的查询。2012YonyouSoftwareCo.,Ltd.语义层-设置语义层参数设置连接1、连接中保存了数据库的连接参数配置,通过连接确定前端报表如何访问数据。2、创建Universe时,必须选择或创建一个连接。可以随时修改、删除或替换连接。3、连接包含三个元素:•数据访问驱动程序•连接和登录参数•连接类型:个人、共享、安全(通常情况下使用安全连接,安全连接为最安全,如要通过CMS分发Universe,必须使用安全连接)查看连接编辑连接2012YonyouSoftwareCo.,Ltd.语义层-设置语义层参数设置资源控制提供了一系列可让您控制系统资源的使用的选项查询限制说明说明限制结果集的大小为指定的值在查询中返回的行数被限制为您指定的数量。限制了返回到WebIntelligence的行数限制执行时间为指定值查询执行时间被限制为您指定的分钟数限制长文本对象的大小为指定值为长文本对象指定最大字符数。2012YonyouSoftwareCo.,Ltd.语义层-设置语义层参数设置SQL限制查询限制说明说明为每个上下文使用多个SQL语句使最终用户在使用一个上下文时能创建包含多个SQL语句的查询。如果您在Universe中有任何上下文,请选择此选项。为每个度量使用多SQL语句在查询包含从不同表中的列导出的度量对象时,将SQL分为几个语句。允许选择多个上下文使最终用户能在多个上下文中的对象上创建查询,以及通过多个上下文生成一个结果集。如果您使用上下文来解决环路、断层陷阱、扇形陷阱或任何其他连接路径问题,则应清除此复选框2012YonyouSoftwareCo.,Ltd.语义层-模式设计创建模式何创建一个模式,该模式包含构建对象所需的所有SQL结构(WebIntelligence用户使用这些对象来构建报表)。这些SQL结构包括表、列、连接和数据库函数。构建正确的模式是构建满足所有其最终用户报告需求的Universe的基础。您通过使用表浏览器从目标数据库中选择表,在“结构”窗格中设计模式。创建连接以链接表模式设计有哪些阶段•插入和组织表。•创建联接和设置基数。•解决诸如环路、断层陷阱和扇形陷阱的联接问题。•测试模式的完整性。2012YonyouSoftwareCo.,Ltd.Universe模式示例表字段连接基数语义层-模式设计-创建表和连接的构架2012YonyouSoftwareCo.,Ltd.创建表通过从目标数据库中选择表,并在“结构”窗格中插入表示这些表的符号来开始设计模式。表浏览器是一个独立的窗口,它显示了目标数据库中的表和列的树形视图。使用表浏览器可查看和选择想插入模式的数据库中的表。创建派生表派生表是您在Universe模式中定义的表。您在这些表上创建对象,就像在任何其他表上创建一样。派生表由SQL查询在Universe级别定义,可用作Designer中的逻辑表。派生表具有以下优点:•减少了返回到文档供分析用的数据量。可以在派生表中包含复杂的计算和函数。这些操作在将结果集返回到文档之前执行,从而节省了时间和减少了在报表级别对大量数据进行复杂分析的需求。•减少了对数据库汇总表的维护。有时,派生表可以取代保存复杂计算的结果的统计表(通过使用聚合感知将这些结果合并到Universe中)。经常维护和刷新这些聚合表要付出很高的代价。派生表可以返回相同的数据并提供实时数据分析。派生表与数据库视图类似,并具有以下优势:派生表的SQL可以包括提示。语义层-模式设计-创建表2012YonyouSoftwareCo.,Ltd.创建连接在模式中插入了多个表后,必须在相关的表之间创建联接。在模式中,联接和表一样重要,因为它们允许您通过一种有意义的方式组合个表中的数据。连接包含相等连接、外部连接等。设置基数基数是联接的属性,它描述了一个表中有多少行与另一个表中的行匹配。基数表示为位于联接一端的列中的最小行数和最大行数,这些行与联接另一端的列中的行匹配。对于每个客户,可以有一个或多个预订(1,N)对于每个预订,只能有一个客户(1,1)语义层-模式设计-创建连接2012YonyouSoftwareCo.,Ltd.别名别名是对模式中现有的表的引用。别名是一个表,它是与原始表(基表)完全相同的副本,只是名称不同。该表中的数据与原始表完全相同,但不同的名称使查询的SQL“误以为”您在使用两个不同的表。在一个查询中多次使用表。这是使用别名的主要原因,并包括使用别名来解决环路和扇形陷阱。上下文上下文是一组联接的集合,它为WebIntelligence提供了有效的查询路径,以便生成SQL。可以出于以下目的在Universe模式中使用上下文:解决环路。•解决断层陷阱。•协助某些解决扇形陷阱的情况。•协助检测使用聚合感知的对象的不兼容性。语义层-模式设计-注意事项2012YonyouSoftwareCo.,Ltd.环路环路是一组连接,它定义了经过模式中的一组表的闭合路径。当连接形成查找表之间的多个路径时,将出现环路。下面显示了环路的一个示例这两组信息链接在一个形成环路的常见连接路径中。查找表DIM_MONTH,可以是上期存款的时间,也可以本期存款的时间。语义层-模式设计-注意事项2012YonyouSoftwareCo.,Ltd.解决环路:使用别名解决视环路的特性而定,您可以使用别名来中断连接路径,或使用上下文来分隔两个连接路径以使查询只能使用其中的一个路径,从而解决Designer中的环路。语义层-模式设计-解决环路问题2012YonyouSoftwareCo.,Ltd.解决环路:使用上下文解决可以采用从DIM_MONTH表到DIM_CORP_T表的两条不同路径:语义层-模式设计-解决环路问题ABCCAD2012YonyouSoftwareCo.,Ltd.断层陷阱断层陷阱是当两个“多对一”连接会聚在一个表上时三个表之间的一种连接路径,并且没有适当地分隔会聚连接路径的上下文使用上下文来解决断层陷阱可以为位于连接的“多”端的每个表定义一个上下文。在我们的示例中,您可以定义从SERVICE到RESERVATION_LINE以及从SERVICE到INVOICE_LINE的上下文。当您运行包括同时来自两个上下文的对象的查询时,将会创建两个Select语句,它们会同步在WebIntelligence中生成两个单独的表,从而避免了创建笛卡尔积。语义层-模式设计-解决断层陷阱问题2012YonyouSoftwareCo.,Ltd.扇形陷阱当“一对多”连接链接了依次由另一个“一对多”连接链接的表时,扇形陷阱是三个表之间的一种连接路径。当查询包括同时基于两个表的对象时,“一对多”连接的分散影响可能会导致返回不正确的结果。解决扇形陷阱:对包含初始聚合的表使用别名;参数:选择“文件”“参数”,单击“SQL”选项卡。选择“为每个上下文使用多个SQL语句”复选框。语义层-模式设计-解决扇形陷阱问题2012YonyouSoftwareCo.,Ltd.上下文解决扇形陷阱语义层-模式设计-解决扇形陷阱问题2012YonyouSoftwareCo.,Ltd.使用“检查完整性”验证Universe的完整性菜单-工具-完整性检测:语义层-模式设计-测试完整性2012YonyouSoftwareCo.,Ltd.定义类和对象类:类是对象的容器。类相当于Windows环境中的文件夹。对象:对象是Universe中一种命名的元素,它代表数据库中的一个列或函数。每个对象都代表最终用户业务环境中使用的一个有意义的实体、事实或计算。每个对象都映射到目标数据库中的一个列或函数,并且,当在“查询”窗格中使用时,每个对象都会推导出一个Select语句。Designer“Universe”窗格对象类型语义层-创建语义层-定义类和对象、条件2012YonyouSoftwareCo.,Ltd.定义条件条件对象是一个预定义的Where子句,可以插入到“查询”窗格中由对象推导出的Select语句。条件对象语义层-创建语义层-定义类和对象、条件2012YonyouSoftwareCo.,Ltd.层次:多维分析是对按一定意义排列的维对象所进行的分析。层次是一系列已排序的相关维。层次的一个示例是“地理”,它可以将诸如““Country(国家/地区)””、“Region(地区)”和“City(城市)”等维加以分组。钻取:用户可以使用“钻取”来浏览明细的分层级别。用户可以在层次上“向上钻取”或“向下钻取”。层次可以采用不同的形式。传统层次的示例包括:•地理:洲国家/地区区域城市•产品:类别品种产品•时间:年度季度月份星期日层次也可能是“混合型”的,如以下层次:地理/产品:洲国家/地区类别品种产品设置语义层表之间的一对多关系暗示了一个图形式层次语义层-创建语义层-使用层次2012YonyouSoftwareCo.,Ltd.基础培训语义层概念设置语义层参数模式设计构建语义层进阶&实例链接&公共维度聚合感知通过语义层设计实现同环比问题通过默认登录用户过滤权限课程内容2012YonyouSoftwareCo.,Ltd.链接链接的定义:链接的Universe是共享公共元素(如参数、类、对象或连接)的Universe。链接两个Universe时,一个Universe的角色为核心Universe,而另一个为导出的Universe。对核心Universe进行更改时,这些更改会自动传播到导出的Universe。核心Universe:核心Universe是其他Universe所链接到的Universe。它包含链接到它的其他Universe所共有的元素。核心Universe表示可重用的元素库。导出Universe:导出的Universe是一种包含指向核心Universe的链接的Universe。此链接使导出的Universe可以共享核心Universe的公共元素:链接的优点•减少了开发和维护时间。修改核心Universe中的某个元素时,Designer会将更改传播到所有导出的Universe中的同一元素。•可以将常用的元素集中到一个核心Universe内,然后将它们包含在所有新的Universe中。您无需在每次创建新的Universe时重新创建公共元素。•促进了专业化。可以在数据库管理员(建立基本的核心