《Essbase操作讲解》word版.doc_第1页
《Essbase操作讲解》word版.doc_第2页
《Essbase操作讲解》word版.doc_第3页
《Essbase操作讲解》word版.doc_第4页
《Essbase操作讲解》word版.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Essbase 操作讲解Essbase操作讲解2010-04-28 15:158.1实现一个多维模型在这一节我们描述如何使用DB2 OLAP或Hyperion Essbase来实现一个基本的多维模型。首先我们用Outline Editor手动定义这个模型,然后展现如何通过外部的输入文件或表和所谓的数据加载规则来建立模型。在定义模型后,我们通过加载和计算的程序来引导。8.1.1 TBC销售模型简介例子是假设的饮料行业中的一个公司。这个公司的主要产品是各种类型的饮料(例如:果汁饮料,乳酪苏打和乳液)。这些产品出售到美国市场,根据城市、州进行区域分类。我们的模型将用来分析财务据,例如所售商品的销售和费用。这些数据每月收集,一年或者是一季度汇总。初始的维度模型如下图所示。TBC销售的初始模型创建和加载在上图中表示的模型的DB2 OLAP(或者Essbase)立方图,有三个主要的步骤:1.定义模型可用两种不同的方法实现:手动由外部数据源驱动自动产生2.加载数据3.计算数据8.1.2手动创建数据库outline在这部分我们介绍怎样手动创建简单的TBC销售模型,按照以下几步:1.启动DB2 OLAP服务器2.打开DB2 OLAP服务器应用程序管理器3.连接DB2 OLAP服务器4.创建一个新的应用程序5.创建一个新的数据库6.创建维7.创建每个维的成员8.定义名称及成员9.存盘通过打开命令窗口并键入:Essbase,启动DB2 OLAP服务器接着输入DB2 OLAP服务器密码,并按回车或者在Windows NT开始菜单选择Program=Essbase Application Manager。(提示:DB2服务器可以作为一个Windows NT服务自动启动)从Windows NT开始菜单中依次选择Programs=DB2 OLAP Server=Essbase Application Manger打开DB2 OLAP管理窗口,并通过选择Server=Connect来连接DB2 OLAP服务器(见下图)。连接到服务器依次点击应用程序管理器窗口中的File=New=Application在服务器上创建一个叫做TBC的应用(见下面两图)。创建新的应用程序注意到位置选择标识DB2 OLAP服务器将应用程序的系统控制文件放在什么地方。在Essbase目录中,每个应用程序都有自己的子目录。注意,在DB2中没有创建立方图的关系表。创建TBC应用程序之后,我们必须在TBC中创建一个simple数据库。这将在服务器上创建数据库系统控制文件。注意到我们正在创建一个常规的数据库,而不是一个流通数据库。流通数据库能够转换各国货币。在应用程序管理器(Application Manager)窗口点击File=New=Datebase,在服务器端创建一个simple数据库(如下面两图所示)。创建数据库已经创建了数据库,现在可以创建outline了。DB2 OLAP将立方图的结构称为outline。它包含各个维度、各个维的成员以及事实。选择Application TBC=Datebase simple来创建主要的维,选择Database Outlines图标然后点击Open。在Outline Editor的上面是一系列图标,它们的含义在Application Manager窗口的底部显示出来。选择Add achild to the selected member图标,如下图光标位置显示,然后输入product作为第一个维度名。图创建维按回车,就可以在同一层次添加其他的维度,输入Market、Year、Measures三个其它的维度。这些就是我们立方图的主要维度。默认地,在DB2 OLAP服务器端,维度的结构和操作能力也做同样的处理。但是,DB2 LOAP服务器有两个常用的具体维度类型。一个是Time维,用于时间序列的计算,一个是Account维,用于数字事实。通过在第二行图标加亮选择year=Time Dimension Type,可以将Year指定为基于时间的维度。通过在第二行图标加亮选择Measures=Account Dimension Type,可以将Measure作为基于account的度量维。可以看到,在Year和Measures各自的旁边分别有红色的Time和Accounts(见下图)。现在需要在每个维度中输入各个成员。这能有效地在维度中建立层次。加亮选择Product,点击如下图显示的Add achild to the selected member图标。输入100,200,300和400这些产品组作为Product维度的成员(见下图)。图创建新的成员然后在产品组100下创建下一个层次,选择产品组100然后点击Add achild to the selected member图标。用同样的方式输入产品类100-12,100-20和100-30作为产品组100的孩子节点。另外构造Measures维度的层次结构,输入Quantity Sold并在一层中输入Profits,Sales和CoGs(所售商品的成本),如下图所示。注意,当向立方图加载数据时,数据是加载到Measures维中,效果等同于一个星型事实表中的度量。注意,在我们添加成员时,默认的情况下。它们统一作为层次中的添加对象。因此,此时我们可以定义Profit为Sales+CoGs(这从业务角度来看是错误的)。随后我们将修改。创建度量目前我们输入建立的只是一个非常简单的模型。在这样的模型里,一个层次所有成员的值聚合为其上层成员的总数。但是,我们还需输入其它一些属性,例如产品组和产品类的名称。对于企业中的不同的用户,别名是获取信息的有用属性,使得模型具有更好的可理解性和可读性。尽管某一部门的用户可能习惯用产品数量,例如100和100-20,但这对于其它部门来说可能并不好理解。可以通过选择Define the attributes for the selected members图标来指定成员的属性。在Outline Editor中,选择产品组100,并点击Define the attributes for the selected members图标图定义别名并存储数据如上图所示,有多种属性定义。输入Colas作为产品组100的别名。在这个面板里,有一些常用到的属性设置:合并、添加、减、忽略、数据存储器、存储数据、动态计算和存储、动态计算、仅标识、共享成员。这些属性随后讨论:添加-在同层其它成员先前执行的计算结果中添加成员。减-乘以-1,添加到同层其它成员先前执行的计算结果的总和中。忽略-合并中不考虑该成员。存储数据-存储成员的数据值。动态计算-当用户要求时才计算数据,显示完结果后释放。动态计算及存储-当用户要求时才计算数据,然后存储。仅标识-只创建导航成员,即成员不含有数值。成员共享-在成员间共享数值,这使得成员能在多个不同的层次上合并。现在我们可以修改CoGs的属性,把加合并改为减合并,则Profit现在就成为Sales-CoGs。注意,上图显示的面板也提供了一种通过Add Sibling和Add Child按钮及Prev和Next按钮,手动输入维成员的快速方法。在outline中定义的维的结果如下图所示。图所生成的维当创建一个新的维度时,默认情况下,维度定义为密集的(dense)。在这个简单模型,也是这样。现讨论,如何根据设计需求,进行维度的密疏设置。如下图所示,在Essbase应用程序管理器窗口依次选择Settings=Data Stroage。图默认的密集维度在弹出的数据存储窗口上,我们可以选择Recommend按钮来查看可能的最佳建议。这给我们提供了可能的块和字节,及每块在维度定义中密疏的不同配置(见下图)。注意,DB2 OLAP服务器仅知道outline,并不知道将加载的输入数据或那些数据的特性。因此提供的推荐和等级都不应该仅看表面值。在设计立方体中,应该执行一个全面的需求和设计过程,并且它是立方体疏密设计的基础。图密集(Dense)和稀疏(Sparse)的配置选择应用程序管理器窗口中的File=Save As,在服务器端存储outline,如下图所示。就是在这个阶段,创建DB2中的关系表,各个维度有各自独立的表。成员名称和属性,连同它们的相应属性如别名,以及它们是否加减合并等,一起都插入到这些表中。图保存Outline如所见,手动输入outline的过程费时且易发生类型错误,因此不适宜具有很多成员的大量维度的情况。DB2 OLAP服务器可从外部数据源(如数据库表或文件)加载维度。例如,当我们考虑表示产品、市场或客户的维度时,它们可能有数以千万的成员,手动创建就不再可取。并且,这些维度的结构和层次可能会发生变化,例如引入了新产品或者定义了新的产品组。因此有必要动态地建立和维护outline。在这部分,我们将说明怎样在Visual Warehouse Business Views的帮助下和通过使用Data Load Rules的平面文件动态创建一个OLAP服务器数据库outline。外部的表和文件包含定义每个维度结构所需的信息。维度的每个成员与它在层次中的相应位置有关。这种映射可以通过三种不同的机制实现。输入的数据集中的每列与所在维度层次中对应的层次级别相关联;从底向上,从0开始的最细节的那一层(或者是叶子层)自下至上计算,直到最高的集聚层,如下图所示。这种参照方法称作层次参照。图层次参照输入的数据集的每列与所在层次中对应的生成数相关联;从1开始的最聚集的那一层数据自上而下计算,直到最细节的那一层数据,如下图所示。这种参照称作生成参照。图生成参照输入文件的记录包括两列直接的父/子描述参照,如下图所示。图父/子参照也可以用这种技术来定义维度的描述和属性。理想的情况下,模型的每个维度只有一个输入数据集(文件或表)。通过Data Load Rules可以建立列和对应的参照间的映射。它们可由Data Prep Editor维护。创建产品维度(使用层次参照)在这个例子中,假定outline已经包含Porduct维度的一个实体。因此,我们需要把初始表中的数据与outline中的维度联系起来。我们用一个SQL表,在我们数据集市的关系存储范围内定义为一个Visual Warehouse Business View(业务视图),作为Product维度的初始表。这个SQL表叫IWH.PRODUCTS,是一种产品主表,其中每个产品一行(见下图)。在113页5.3TBC销售模型事务观察对和ALL_PRODUCTS表相关的事务观察有所描述。图所有产品的业务视图(样本内容)为Product维度创建数据加载规则(Data Load Rules):1.连接服务器2.选择数据库和应用程序3.点击Data Load Rules按钮4.在服务器窗口上,点击New按钮。打开Data Prep编辑器5.在应用程序管理器窗口上,点击File,选择Open SQL实体6.在选择的服务器,应用程序和数据库窗口上,验证正确的实体,单击OK(见下图)图Essbase应用程序管理器7.用Define SQL窗口来定义数据库,从Product维度的初始表中选择检索相关列的语句从ALL_PORODUCTS表选出的每行对应于outline中Product维度的一个成员。为了避免重复行,这些行在创建维度时将被舍弃,在我们的SQL语句中应包括Distinct子句(见下图)。图定义SQL语句当点击OK/Retrieve按钮,将看到SQL Connect窗口。如果已经录入正确的用户ID和密码,点击OK即可。否则,输入正确的用户ID和密码然后点击OK。此时,Data Prep编辑器里有查询的结果(见下图).图Data Prep编辑器中的结果注意:当连接到数据库,但是SQL语句的定义错误时,可能会返回一个错误信息(参见下图)。检查DB2 OLAP服务器应用程序日志文件调查错误的原因。图SQL存取错误信息检索完Product维度的设计,接下来定义将数据加载进outline的规则。首先我们必须使一个outline与我们的数据加载规则关联。在Data Prep编辑器中,点击Associate Outline图标(见下图),从列表框中选择正确的服务器,应用和数据库,双击将返回Data Prep编辑器。图Data Prep编辑器图标在这一步,确保已单击过View Dimension Building Fields按钮。接下来我们需要将字段属性和输入文件相关联。也就是把SQL结果列与outline中维度定义的相应结构关联起来。我们前面讲到的层次参照。0层往往是层次中的最底层或叶子层;也是进行加载操作时数据加载层。在立方体建立过程的计算期间,更高层的数据被聚集。在我们的例子的Product层次中,PROD_CLASS_CODE(例如100-10)作为最低层,PROD_GRP_CODE(例如100)作为下一个稍高的层次。单击Define Attributes图标(见上图),打开Field Attributes窗口(见下图)。图维度构建属性在我们这种情况下,Global Attributes可以用默认设置。对于输入表中的每个列,单击Dimension Building Attributes标签定义类型和对应的维,确保从outline中选择出正确的维。每层或每个元素的别名(描述)可以用相同层的参照数来关联。由于没有定义字段的合并属性,在维度计算期间,默认属性+用来为当前总数添加度量。现在用对话框Dimension Building settings来设置选项,应用到我们动态建立的所有维上。应已选中Global Settings标签。由于我们没有用一个别名表为每一个元素名称存储别名,所以可以用默认设置。如果列表框为空,单击outline按钮把outline与维度构建规则文件相关联。在Data Configure选项框中,我们定义是否用我们自己的设置来指定数据的密疏,或者由Essbase选择这些设置。对于TBC Product维,我们设置为密。图维度构建设置通过维度构建设置(Dimension Build Settings),我们可指定前面描述的哪些方法用于,在动态维度构建期间,将初始表的列映射到维度层次内的具体的层次。单击Dimension Build Settings标签,打开对话框。如果维列表为空,单击Outline按钮,并把规则文件与outline关联。Essbase将维列表和outline的维关联。为Product维选择相应的构建方法(在本例中,用层次参照方法)。在已有的成员(Existing Member)选择框中,我们可以指定Essbse怎样改变outline中的已有的成员。在本例中,如果在数据源中指定新的属性,激活Allow Attributes Changes选项框,以便可以改变已有成员的属性。由于源中数据可能没有被分类排序,并且我们可能会把源和已有的成员合并,因此,我们可以选择升序(元素排序选择框)对成员分类排序。在成员更新(Member Update)选择框中,默认的选择是将新成员和outline中已存在的元素合并。现在单击维度定义(Dimension Definition)标签。在这里,我们可以指定某个维是否源于一个已有的outline还是在加载规则中定义。当创建新的维时,必须在加载规则中定义它们。本例用的是outline。数据加载规则定义的下一步也是最后一步,在数据库outline中验证所有参数的正确的设置。单击Verify按钮打开Verify Outline对话框。如果都正确,将返回一个Ok消息,它意味着创建维度outline的所有所需的信息都是可用的,句法上正确的。如果不是这种情况,列表框列出的成员的项目名称(Item Name)有潜在错误。错误列表框对所选成员提供一个错误描述或者警告信息。在验证成功之后,保存加载规则。现在我们准备加载outline。在Essbase应用程序管理器窗口选择Datebase=Load data。从数据加载(Data Load)对话框,可以从外部数据源j将数据加载到Essbase数据库outline,或者用外部的数据在已有的outline中创建维。图数据加载填写服务器、应用程序和数据库的正确信息。在类型选择框中选择加载数据源的类型。在本例中,从SQL加载数据。如果需要,输入SQL用户名和密码。当加载SQL数据源时,必须用数据加载规则(Data Load Rules)。Use rules选项框提示Essbase用加载规则加载数据源,并激活Find按钮。单击Find按钮激活打开服务器规则对象(Open Server Rules Object)窗口。在我们的Product例子中,可以选择正确的加载规则。单击OK返回数据加载窗口。错误输出文件(Error Output File)正文表列出错误日志文件的位置。可以指定任何文件。如果正文框为空则是没有捕获到错误。在组选框检查Modify Outline。这提示Essbase用关联的加载规则在加载期间改变outline,通过添加或者改变在outline数据源发现的和在加载规则中描述的元素和成员。因为我们不想此刻加载数据,LoadData检验栏必须未检验。当检验了Interactive检验栏,会提示加载失败。Essbase提示什么数据源加载失败并询问是否继续读取剩余的数据源。当单击OK按钮,outline同Product加载规则一起加载,Visual Warehouse Business View担当起初始表。正确加载之后,Product维的outline如下图所示。图加载Product规则后的Product Outline 创建另一个可选的聚合路径现在已经动态创建了所有产品在一个层次结构上分布的product维。然而,需要经常分析基于特定产品的不同分组和不同方式聚合的销售数据。因此,除了已创建的层次外,我们想引入另一个可替代的聚合路径。这样做的目的是为了利用共享成员。共享成员可以用来计算多组间的同样成员,也就是说可以在多个聚集中引用单个成员。在TBC销售分析的例子中,我们想定义一个包括所有Diet饮料的单独的组。因此我们想把所有在Product维的Diet饮料添加到一个新的产品组,并在这个层次上总计,但是我们不想这个总计扩散到整个Product维上。我们用叫做DIET_PRODUCTS的Visual Warehouse Business View来为共享的Diet元素加载outline。为此我们需要创建一个新的数据加载规则。用相同的步骤为标准Product维创建所需的数据加载规则,直到必须定义SQL语句。下图显示了所使用的SQL语句。图共享的Diet成员的SQL定义从DIET_PRODUCTS表检索出数据,需要定义维构建属性(Dimension Building Attributes)(在字段属性内)。当在同层创建共享成员,并使用层次参照构造方法时,必须确保存在与根层(例如100)的参照,并且新产品组(例如Diet)在每个输入记录里指定(见下图)。图Diet Product规则的规则文件编辑器在DIET_PRODUCTS业务视图中,有一个叫做PROD_GRP_ATTRIB的列。属性用来指定一个成员的具体行为。在本例中,这个列包含符号。当它创建outline时,这个属性提示Essbase从归并中排除这一层次。因为我们不希望Diet产品在Product层上被合并两次,我们也需要添加PROD_GRP_ATTRIB字段作为1层成员的属性。我们只希望Diet产品在它们自己的成员层次上汇总,并非在共享的元素层上。在运行过SQL查询和定义过维构建属性之后,规则文件编辑器(Outline File Editor)应该如前图所示,outline结果如下图所示。图插入Diet产品的Outline 构建市场(Market)维在前面部分我们看到怎样扩展维。现在我们将从头开始添加matket维。在outline中,这个维没有任何参照,因此我们首先需要定义新的基本维。创建Market维,与为Product维创建加载规则的步骤相同:1.打开Essbase应用程序管理器2.连接服务器3.选择TBC应用程序和Simple数据库4.单击Rules File图标,单击New,打开Data Prep编辑器5.从Essbase应用程序管理器中选择File=Open SQL.6.在选择服务器和数据库(Select Server and Database)窗口,选定参数,单击OK按钮。这将打开定义SQL(Define SQL)窗口。Market维的数据存储在IWH.REGIONS业务视图中。定义SQL的窗口为加载规则抽取数据,如下图所示。图Market维的定义SQL窗口7.为了定义新的Market维,单击Dimension Build Settings图标,并选择mension Definition标签(见下图)。出现的对话框可定义添加到outline中的新的维,或在一个动态维创建期间改变已存在的维。在Dimensions From下,指定规则文件选项,在名字文本框输入想建的维的名字。图维度定义8.单击Add按钮向维表中添加此维。这个新维名字也出现在outline的下拉菜单上。9.定义余下的层次和别名的过程与Product层次相同。因此我们必须定义SQL语句将数据加载到Data Prep编辑器中。结果如下图所示。我们还需根据检索到的数据来定义层,并关联outline文件。图Market维度规则的Data Prep编辑器为创建Market维,运行加载规则,新的Market维的outline如下图所示。图TBC销售模型的Market维度的Outline 创建时维(用父/子关联)另有一种创建维的方法是父/子方法。在数据源中对每个元素一定有一个父/子关系。这种父/子数据源一定包含至少两列:父亲列和儿子列。还可以有其它的描述列,例如别名属性,但是在单个列中包含的关系不能超过一种。图构建父/子Outline的文件结构对于TBC销售应用程序的年维度,我们创建了一个叫做TIMEDIM.TXT的文件,包括上图显示的父/子结构。如果这个文件放在客户端,当单击选择客户端时出现的File System按钮,就可以打开看见它。定义数据加载规则:1.在服务器窗口,单击Data Load Rules图标和New按钮2.将与outline相关的数据加载到规则编辑器,在Essbase应用程序管理器窗口中选择File=Open Date File,并选择正确的数据文件(见上图)3.选择Set Dimension图标,并在维构建设置窗口中单击Dimension Build Settings标签(见下图)。维列表列出用于选择的维。如果维列表为空,如果年维已存在于outline中,或者按前面所描述的定义一个新维,则单击Outline按钮。图Year维度的维度构建设置4.现在我们在构建方法(Build Method)选择框中指定Use Parent/child References选项。5.选择Define Attributes=File Attributes=Dimension Building Attributes。字段数量(Field Number)标签显示当前所选字段数目。6.在字段定义(Field Definition)组选框中,为当前所选字段设置字段类型、数量和维度,为字段1选择Parent,这表示这个字段包含一个父参照名字。7.为字段2选择Child,这意味着这个字段包含一个子参照名字8.选择Set Data File Attributes对话框。文件分隔符一定要用分号,与我们数据文件用到的分隔符匹配(见下图)。单击OK。图数据文件属性9.单击Verify图标验证规则定义。如果没有错误,就把规则文件存盘。10.用加载其它维的同一过程把Year维加载outline中,除了现在必须指定的Data Files(不是为执行维加载指定的SQL)。备份维、成员和outline在有些情况下,备份一个从一个数据库到另一个数据库的完整的outline是有用的。在其它情况下,在一个已存在的outline中,只需一个单一维的定义。DB2 OLAP服务器支持这两种情况。.1备份outline备份一个完整的outline只需用File=Open及一个不同的名字Save as..2备份一个维或者成员从一个应用程序或数据库到另一个应用程序或数据库,备份单个维或元素遵循以下步骤:1.打开将被复制的维或者成员的outline 2.选择备份的维和成员3.在Essbase应用程序管理器窗口单击Edit=Copy,将所选的对象备份到剪贴板4.打开复制到的应用程序或者数据库outline 5.选择维或成员,在其后放置新对象6.在Essbase应用程序管理器窗口单击Paste Sibing来粘贴剪贴板内容,作为已选成员的兄弟;或者单击Paste Child来粘贴剪贴板的内容,作为已选成员的孩子用这种方法,可很快为新的应用程序生成outline。8.1.4加载数据在前面部分,讨论了怎样为DB2 OLAP或Hyperion Essbase立方体动态创建维。对于加载数据,有相似的处理(例如,事实表)。通常,用了加载规则,输入数据文件的每列就会被描述。注意,也可以以自由形式加载文件而不需要加载规则,但是这种方法很少用到,因为手动创建是很复杂的。通常,当一个DB2 OLAP服务器的输出创建自由形式的输出文件,用它在立方体间移动数据。数据加载规则从本质上讲是操作集,当DB2 OLAP服务器把数据加载进DB2 OLAP服务器数据库时,DB2 OLAP服务器在数据上执行该操作集。操作存储在加载规则中,加载规则告诉DB2 OLAP服务器怎样加载SQL数据并将它映射到数据库outline。从一个SQL表中加载数据需要用到加载规则。在这一阶段,我们已经全部定义好立方体的所有维、成员和属性。按以下步骤加载数据并计算立方体。1.打开数据加载规则2.定义SQL输入文件(或平面文件输入)3.将维映射到输入文件的列4.将Measure映射到输入文件的列5.设置数据文件属性6.将outline和加载规则进行关联7.保存加载规则8.清空立方体中的数据(如果需要)9.加载数据于立方体从一个表中加载数据选择Data Load Rules File=New,打开一个新的加载规则。选择File=Open SQL.(如下图所示)。注意,与其它开发环境一样,建议用一个小的输入集来初始化立方体,直到立方体的设计得到确认。图定义SQL输入表下面我们需要选择所需的数据库和所需的SQL语句,提供我们加载的输入数据。在定义SQL窗口(下图)选择数据源TBC_TGT,键入:Select ORDER_MON_YY,PROD_CLASS_CODE,CITY,QUANTITY,SALES,COGS FROM IWH.LAUNCH_TABLE_FOR_S选择OK/Retrieve图标,在出现SQL连接对话框是单击OK。图连接到数据库加载到立方体的数据位于每个维的最低层。在本例中的立方体,维有:Product、Market、Year和Measures.为了加载数据,我们需要输入产品类别、城市和月这些数据,以及数量、销售和COGS的Measure成员的数值。有这些最低层的数据,DB2 OLAP服务器就可以在创建立方体过程的计算步骤期间,在每个维的层次结构中,对更高的层次进行聚合。但是,也有可能从层次结构的高层加载数据。为了避免计算期间低层丢失数据的聚合覆盖高层数据,在相应的计算脚本或在数据库设置窗口中,将AGGMISSG参数设置为OFF。如下图所示,DB2 OLAP服务器不能识别SQL表的列名。我们需要将输入列ORDER_MON_YY、PROD_CLASS_CODE和CITY映射到维Year、Product和Market,并将输入列称作Year、Product和Market。图加载的样本输入数据选择列ORDER_MON_YY,并单击Define attributes for the selected column图标.需要把此列与Year维关联。选择Outline=Year(见下图)。DB2 OLAP服务器使用名字参照确定将数据输入多维结构的什么地方。因此需要将SQL表中列名映射到outline定义中所用的名字。图Year维度的映射Measure维标识为Account维度,与它所保存的数值有一点不同。通过前面的例子可知,没有明确地命名列名,就没有办法标识每个数值代表什么。因此,三个Measure数据字段映射到Quantity Sold、Sales和COGS。注意,如果SQL表的列名就是Year、Product、Market,Quantity Sold、Sales和COGS,那么就不需要明确的映射了。图Measure维的映射对于Measure数据,经常会丢失或不知道。在这种情况下,DB2 OLAP服务器需要在输入文件的数据字段有值#M1或#MISSING。一种简单的方法是:对于每个Measure数据用加载规则把任何空值替换为#M1。当这些数据在立方体中被观察时,#MISSING也就被真正看到。注意,在下图中,实际上在替代区有一个空值。一旦一个空值键入,添加替代值的Add按钮将被激发。注意#MISSING实际上只适用于数字字段。如果用作维字段,DB2 OLAP服务器将会为维成员添加#M1,且在outline中也无法发现。例如,它将把一个维元素看作100#M1而不是100。在数据加载和维构建输入中,可以为数据字段定义多个替代字符串,每个输入字段可指定多个替代字符串。从上面的例子可以看出,数据加载规则可以用来实现许多相当复杂数据转换和清洗操作。但是,建议在数据正要进入OLAP环境之前,用数据加载子系统(也就是Visual Warehouse业务视图)的功能来获得数据。图用#M1替换丢失的数据值除了允许用其它值替代输入数据值,DB2 OLAP服务器也允许在数据加载规则中指定说明记录的选择和排斥。选择Record=Reject来排斥具体的记录。在排斥记录的过程中,也可以用布尔操作and和or。所以,对于从一个SQL数据源输入的数据,记录的选定和排斥和常规的可以指定子句的SQL一样。然而要注意的是,选定和排斥一般在SQL定义中执行。选定和拒绝对于输入平面文件数据非常有用。在下图的例子中,数据文件中Product包括Caffeine Free或Product等于100-10,DB2 OLAP服务器不会加载输入数据文件中的记录。图在数据加载规则中排斥记录注意,在下图中,对于被确认的映射,需要维名包括一个空格、双引号,例如Quantity Sold。图将Outline和加载规则进行关联下面的步骤是来保存加载规则定义,正如在构建维过程所做的。选择TBC销售outline,接着File=Save As,把加载规则以名称LOADDATA保存到服务器上(见下图)。图将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论