分析是一种针对组织数据的查询,用于提供业务问题的答案。
利用分析,您可以直观地将数据显示在表、图形、数据透视表等视图中,以便浏览信息并与信息进行交互。可以保存、组织和共享分析结果。
所创建的分析可保存到 Oracle BI 表示目录中,并且可集成到任何 Oracle BI EE 仪表盘。可通过图形、结果布局、计算项和钻探等功能改进分析。
可以通过编辑器使用分析。
要使用分析,请使用以下编辑器之一:
“分析”编辑器 - 一个功能丰富的编辑器,可用于直观地将数据显示在表、图形和数据透视表等视图中,以便浏览信息以及与信息进行交互。有关详细信息,请参阅什么是“分析”编辑器?
如果管理员已授予您对“分析”的访问权限,则您有权访问此编辑器。
BI 编写器向导 - 一个简单易用的向导,可用于创建、编辑或查看分析,而无需使用复杂的“分析”编辑器。有关详细信息,请参阅使用 BI 编写器处理分析。
只有在管理员授予您对“BI 编写器”的访问权限之后,您才有权访问此编辑器。
可以在“我的帐户”对话框的“首选项”选项卡上指定您要使用的编辑器。但是,如果您在“登录”页或“我的帐户”对话框的“首选项”选项卡中启用了访问模式,则在访问模式下 BI 编写器向导将用作“分析”编辑器,而不考虑您的选择。
在处理分析时,将以逻辑 SQL 语句的形式向 Oracle BI Server 发送请求。
BI Server 然后会针对适当的数据源生成查询。当 BI Server 收到查询结果时,这些结果的格式还不适合返回给用户。BI Server 会合并这些结果并应用与这些结果相关的任何附加计算或过滤器。然后,BI Server 会将数据发送给 Oracle BI Presentation Services,后者将对这些结果进行格式设置以供显示。
如果在仪表盘中嵌入分析,则在每次访问仪表盘时都会自动执行分析并显示最新结果。
例如,如果您是一名销售主管,您所在的公司每天都会捕获销售数据,那么您可能希望在仪表盘的首页看到当天所销售产品的美元金额。
可以使用“仪表盘”编辑器嵌入保存的分析。有关“仪表盘”编辑器的信息,请参阅将内容添加到仪表盘。
主题区域和列是分析的构建块。
主题区域包含文件夹、度量列、属性列、分层列以及表示有关组织业务区域或有关组织中的用户组的信息的层次级别。主题区域通常具有与所包含的信息类型对应的名称,例如营销合同、服务请求和订单。
主题区域与 Oracle BI 元数据资料档案库中的表示层相对应。在资料档案库中,主题区域是表示层中最高级别的对象,表示最终用户在创建或编辑分析时所看到数据的视图。
相关主题区域是连接到分析中主要主题区域的外部数据源。
设计和构建元数据资料档案库的个人(例如 Business Intelligence 策略专家、元数据提供方或提取、转换、加载 (ETL) 开发人员)可使用 Oracle BI 管理工具创建主题区域。通常,他们并不为其公司的数据创建一个较大的主题区域,而是会创建多个较小的主题区域。这使他们可以在一个较小的主题区域中为一组特定用户或公司的特定区域提供其所需的最重要数据,并在从同一业务模型层创建的一个或多个相关主题区域中提供重要程度较低的数据。使用这些较小的主题区域可便于用户查找他们所需的数据。它还使维护数据变得更加容易。有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Creating Subject Areas。
注:
设计和构建元数据资料档案库的人员可以指定隐藏主题区域、文件夹 (及其子级) 或列 (包括属性列和分层列)。隐藏的主题区域、文件夹或列在“主题区域”窗格中不可见,但在别的地方 (例如分析或保存的过滤内容) 可见。(由于对象在别的地方仍可见,通过这种方式隐藏主题区域、文件夹或列不能解决安全性和访问控制问题。)如果现有分析标准包括的主题区域、文件夹或列在随后隐藏,分析将仍可访问,但主题区域、文件夹或列在“分析”编辑器的“标准”选项卡的“主题区域”窗格中将不再显示。
列中包含分析返回的各个数据片段。列通常具有指示所包含的信息类型的名称,例如帐户或联系人。列与过滤器和选择步骤一起决定分析包含的数据。
创建分析、过滤器或仪表盘提示时,首先选择要使用的主题区域。此区域称为主要主题区域并显示在“主题区域”窗格中。如果您在工作时发现需要更多数据,则可以添加与已选择的主要主题区域相关的附加主题区域。(仅当相关主题区域对主要主题区域可用并且您有权访问它们时,才能添加相关主题区域。)
注:
您还可以将自己的数据添加到分析中。有关信息,请参阅将外部数据添加到分析。通常,当您查询单个主题区域时,该主题区域中显示的所有度量列均与同一主题区域中显示的所有属性列和分层列兼容。然而,当您组合多个主题区域中的列时,必须确保不包含度量列与相互不兼容的属性列和分层列的组合。
例如,一个主题区域中的度量列可能不与“项目”属性列相关联。对于与另一个主题区域中的“项目”属性列关联的度量列,如果将这些度量列以及不与“项目”关联的列一起添加到分析中,则查询可能会无法返回结果,或者导致 BI Server 错误:请求的详细信息级别 XXXX 没有事实表。
必须至少选择一个要包含在分析中的列,才能使分析返回数据。
主题区域包含以下类型的列:
属性列 — 存放值的平面列表,这些值也称为成员。这些成员之间不存在层次关系,分层列的成员也是如此。属性列在以前发行版 (11g 之前) 中称为表示列。
示例包括 "ProductID" 或 "City"。
分层列 — 存放同时使用命名的级别和父/子关系组织的数据值。此列使用树状结构显示。各个成员按大纲方式显示。通过层次可以更深入地在数据中钻探,以查看更详细的信息。示例包括“时间”或“地理位置”。该插图显示了在“主题区域”窗格中展开的“时间”文件夹以及“时间”和“财政时间”层次。
分层列是以下类型之一:
基于级别的层次 — 由两个或更多级别的排序集组成。例如,时间层次可能具有“年份”、“季度”和“月份”三个级别。基于级别的层次还可以包含父/子关系。
父/子层次 — 由定义父/子关系中的层次的值组成,且不包含命名的级别。例如,“员工”层次可能没有级别,但是具有由其他员工管理的员工的名称。员工可以具有职称,例如副总裁。副总裁可能需要向其他更高级别的副总裁报告,且不同副总裁在层次中处于不同的深度。
除了基于级别或父/子关系,分层列还是以下类型之一:
不齐整 — 在这种层次中,所有最低级别的成员并非都具有相同的深度。例如,“时间”层次在天级别可能具有当前月份的数据,在月份级别可能具有上个月的数据,在季度级别可能具有过去 5 年的数据。此类型的层次也称为不平衡层次。
跳过级别 — 在这种层次中,某些成员不具有某些较高级别的值。例如,美国哥伦比亚特区的华盛顿市不属于某个州。预期结果是用户仍可以从国家/地区级别 (美国) 导航到华盛顿以及较低级别,而不需要导航到某个州。
度量列 — 存放数据值的简单列表。它是 Oracle BI EE 资料档案库中的列,通常位于事实表中,可以针对每个记录更改该列,并且可以通过某种方式将该列相加或进行聚合。示例包括“Revenue”或“Units Sold”。
在本指南通篇中,术语“列”本身通常是指所有这三种类型。在必要时包含特定类型列的名称。
必须先配置双列,然后才能显示代码列和显示用于数据的列。
Oracle BI EE 提供了一种称为“双列”的功能。在为资料档案库配置双列功能后,列数据会包含一个显示列和一个映射到显示列的代码列 (也就是说,列数据具有双列)。显示列包含列数据的显示值,例如“优秀”、“良好”和“较差”。代码列包含唯一标识显示值的代码值,这些代码值在用户或区域设置之间是一致的,例如代码值 1 (唯一标识“优秀”)、2 (唯一标识“良好”) 和 3 (唯一标识“较差”)。
在 Oracle BI EE 处理双列 (例如,作为分析标准的一部分或过滤器基础进行处理) 时,它会生成 SQL 语句并将这些语句发布到 Oracle BI Server,后者将使用代码值而不是显示值,从而使过滤器与语言无关。
通过双列功能可以:
构建按语言无关代码自动进行过滤的国际化分析。(在以前发行版 (11g 之前) 中,过滤器是与语言相关的。)例如,可以构建一个可同时供法语用户和英语用户使用的过滤分析。
构建可在各组之间共享的公用分析,即使这些组需要不同的显示值也可共享。例如,可以构建这样一个公用分析:向一个组显示“状态”字段的值“优秀”、“良好”和“较差”,向另一个组显示“状态”字段的值“很棒”、“较好”和“不好”。
在不破坏现有分析的情况下更改显示值。例如,假设有一个分析是按显示值“优秀”进行过滤的。如果这是双列,则按其代码列执行过滤,该代码列具有“优秀”的代码值而不是“优秀”的显示值。这意味着可以将显示值“优秀”更改为“很棒”,而不会破坏现有分析。
此外,如果您所在的组织允许在 Oracle BI EE 中显示代码值,则可以在某些对话框 (例如“新建过滤器”对话框) 中使用代码值而不是显示值。例如,这意味着在应用过滤器期间指定要使用的值时,可以指定代码值而不是显示值。
在使用双列功能之前,管理员必须先配置资料档案库,将代码列映射到显示列。要确定是否为资料档案库配置了双列,请与管理员联系。
利用“分析”编辑器,您可以直观地将数据显示在表、图形和数据透视表等视图中,以便浏览信息以及与信息进行交互。
可以将所创建的视图包含在分析中以供在仪表盘中显示。
“分析”编辑器包含以下选项卡:
“标准”选项卡 - 可用于指定分析标准,包括列和过滤器。可以指定应返回结果的顺序、格式设置(例如标题、小数位数、诸如字体和颜色之类的样式及条件格式设置)以及列公式(例如添加排名或百分比段函数)。另外,您可以更改主题区域和主题区域文件夹的排序顺序 (有关其他信息,请参阅更改主题区域和主题区域文件夹的排序顺序)。
“结果”选项卡 - 可用于创建不同的分析结果视图,例如图形、指示器和数据透视表。此外,您还可以添加或修改选择步骤。
“提示”选项卡 - 可用于创建提示;利用提示,用户可以选择对仪表盘上的分析进行过滤的值。利用提示,用户可以选择动态过滤分析中的所有视图的值。您也可以创建用于选择步骤的提示,这适用于成员选择步骤和限定条件步骤。
“高级”选项卡 - 可用于编辑 XML 代码以及检查为分析生成的逻辑 SQL 语句。可以将现有 SQL 语句作为创建新分析的基础。
“分析”编辑器的各选项卡组织为不同的窗格和区域。在工作时,您可以根据需要管理这些窗格。请参阅管理“分析”编辑器选项卡中的窗格。
创建 (或编辑) 分析时访问“分析”编辑器。请参阅创建新分析。
注:
如果您是在访问模式下使用 Oracle BI EE,则在创建 (或编辑) 分析时,“分析”编辑器将替换为 BI 编写器向导。有关 BI 编写器的详细信息,请参阅使用 BI 编写器处理分析。有关访问模式的详细信息,请参阅可访问性功能。“分析”编辑器中的每个选项卡由多个窗格组成。
例如,“结果”选项卡包含“主题区域”窗格、“目录”窗格、“视图”窗格、复合布局和“选择步骤”窗格。
在工作时,您可以管理这些窗格,使自己获得最充足的工作区域来处理正在执行的任务。例如,如果您向“结果”选项卡上的复合布局添加多个视图,可能希望隐藏“结果”选项卡上的其他窗格,使显示正在添加的视图的区域最大化。您可以执行以下操作:
通过单击显示在左侧和右侧之间的左右三角形按钮,显示或隐藏位于“分析”编辑器左侧的窗格。
通过单击各窗格标题栏中的加号或减号按钮,展开或隐藏该窗格。
通过拖动扩展窗格的分割条,调整该窗格的大小。例如,可以向上拖动“目录”窗格上方的分隔条,增加该窗格的高度。
通过单击窗格的显示/隐藏按钮(如果工具栏上为该窗格提供此按钮),显示或隐藏该窗格。例如,可以通过单击工具栏上的显示/隐藏过滤器窗格,显示或隐藏“标准”选项卡中的“过滤器”窗格。
创建有用的分析需要几个步骤。
注:
如果您在访问模式下使用 Oracle BI EE,或者已选择向导 (有限功能) 作为“分析”编辑器,则可使用 BI 编写器向导而不是“分析”编辑器来构建分析。有关 BI 编写器的详细信息,请参阅使用 BI 编写器处理分析。有关访问模式的详细信息,请参阅可访问性功能。
构建分析的过程包括以下步骤:
此过程是构建分析过程中的一个步骤。
有关详细信息,请参阅构建分析的过程是什么?
使用“分析”编辑器的“标准”选项卡可以指定分析标准,包括列、过滤器和选择步骤。您还可以指定:
在分析结果中显示列的默认顺序
显示在视图中的值的默认排序
默认格式设置(例如标题、小数位数、条件格式和系统范围默认值)
列公式 (例如添加排名或百分比段函数)
列总计的聚合规则
“主题区域”窗格中主题区域文件夹和文件夹对象的排序顺序
要指定分析标准,请执行以下操作:
现在可以向分析中添加视图。请参阅显示分析结果。
请记住下列准则:
通常,分析中应至少包含一个度量列。度量列是业务绩效的关键附加度量,例如每个店铺的美元销售额或每天未完成和已完成的服务请求数。不带任何度量列的分析通常是没有意义的,会导致较差的查询性能或意外结果。如果要构建不带任何度量列的分析,请首先与管理员联系。
通常,应避免在同一分析中同时包含分层列和分层列中较低级别的属性列,除非已执行选择步骤将分析中的数据限制为仅与属性列相同级别的数据。如果这样做,属性列所在级别以上所有级别的数据将会不正确。
例如,假设有一个名为“Merchandise Hierarchy”的分层列,并具有以下级别:
Total Product Brand LOB Product Type Product
并有另一个名为“Product Name”的属性列,其级别与“Product”级别相同。如果在同一个分析中同时包括“Merchandise Hierarchy”和“Product Name”属性列,“Product”级别以上的数据将会不正确。
如果在显示分析结果之后将“主题区域”窗格中的列添加到“所选列”窗格,则现有视图中可能包含(即,显示在视图中)或排除该列,具体取决于“分析属性”对话框“数据”选项卡中的显示在“标准”选项卡中添加的列选项的设置:
如果为显示在“标准”选项卡中添加的列选项选择了在现有视图与新视图中显示选项,则该列将包含在现有视图以及您添加的所有新视图中。
如果为显示在“标准”选项卡中添加的列选项选择了从现有视图中排除,但在新视图中显示选项,则该列将从现有视图中排除 (即,放在“布局”窗格的“已排除”放置目标中),但包含在您添加的所有新视图中。
有关“已排除”放置目标的详细信息,请参阅了解放置目标。
内容设计者需要指定是否将显示空值。
默认情况下,隐藏所有分析的空度量值。作为内容设计者,有时您可能需要在分析中包括空值以帮助总体了解数据。您可以通过选择包括空值选项来设置为分析和视图级别的数据显示空值。
选择包括空值选项时,以下方面适用于分析或视图:
将显示列成员。
在关闭了空值隐藏的维边上钻探列时,将为该维边上的所有列关闭空值隐藏。
成员选择和条件应用于维边并首先进行过滤。
注:
空值可能会由于应用的条件而不显示。计算项、组、总计、合计、将数据显示为百分比以及服务器运行聚合 (例如,运行总和) 不受包括空值 设置的影响。
注:
Oracle BI Presentation Services 根据位于 NQSConfig.INI 文件中的NULL_VALUES_SORT_FIRST
设置对空值进行排序。注:
如果在度量上设置了标准过滤器,则表视图中将禁止显示空值。无法对以下内容关闭空值隐藏:
直接数据库请求。有关其他信息,请参阅使用直接数据库请求。
已组合的分析。有关其他信息,请参阅使用集合操作组合列。
手动编码的逻辑 SQL 分析或已通过使用高级逻辑 SQL 设置转换的任何分析。有关其他信息,请参阅检查分析的逻辑 SQL 语句。
要在分析级别关闭空值隐藏,请执行以下操作:
在“标准”或“结果”选项卡中,单击分析属性按钮。
选择包括空值选项以对所有视图关闭空值隐藏。
注:
可以在视图级别为漏斗图、计量表、图形、表、数据透视表和格状图覆盖空值隐藏。要在视图级别为漏斗图、计量表、图形、表、数据透视表和格状图关闭空值隐藏,请执行以下操作:
显示特定视图的“结果”选项卡。有关其他信息,请参阅编辑视图。
单击属性按钮。
选择视图相应的包括空值选项。例如,如果要对数据透视表中的行和列关闭空值隐藏,请选中包含仅具有空值的行和包含仅具有空值的列复选框。此设置显示具有数据的对应维以及空值。
注:
如果视图包含提示或区域维边,则它们还将从行或列维边继承空值隐藏值。注:
关闭空值隐藏可能会增加返回的数据量并影响性能。有关其他信息,请与管理员联系。如果包含空值的分析结果不是预期的,请确保源中的数据保持一致。有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Ensuring That Data in Multiple Sources Is Consistent。
此示例显示带有不同行维边过滤选项的数据透视表。
假定您有一个行维边为 Year 的数据透视表,并在“数据透视表属性”对话框中选择了包括空值(即,不隐藏空值)。
该插图显示未隐藏空值的行维边上的“T05 Per Name Year”示例。
该插图显示未隐藏空值且标准过滤器设置为 2011 和 2012 的行维边上的“T05 Per Name Year”示例。为属性列设置标准过滤器时,将应用该过滤器并从分析中删除对应行。
此示例显示数据透视表,其中将一个过滤器应用于包含空值的表数据。
假定您有同一个行维边上为“Year”的数据透视表,并在“数据透视表属性”对话框中选择了空值 (如示例 1:当包括空值时将过滤器添加到度量上的行维边中所示的相同标准)。但这次在度量“1 - 收入”上设置过滤器,其中值为“大于 23,000,000”。
该插图显示了结果示例。Oracle BI Server 为未隐藏的维边查询返回所有年份 (不考虑度量过滤器)。因为“T05 Per Name Year”的度量值等于 23,000,000,所以将过滤出该行的值,但该行仍将显示。
此示例显示在将“不为空值”过滤器应用于具有空值的数据透视表时呈现的内容。
假定您有同一个行维边上为“Year”的数据透视表,并在“数据透视表属性”对话框中选择了包括空值 (如示例 1:当包括空值时将过滤器添加到度量上的行维边中所示的相同标准)。但这次将度量“1 - Revenue”上的过滤器设置为不为空值。
该插图显示了结果示例。Oracle BI Server 返回所有值并针对成员遵从包括空值选项。因此,显示具有空值的所有行。
在指定分析标准时,可以编辑属性列和度量列的公式。
此编辑操作仅在分析上下文中影响列,不会修改主题区域中原始列的公式。此外,还可以定制表和列标题以及指定列总计的聚合规则。(此功能不适用于分层列。)
列公式指定列值所表示的内容。在最基本的公式形式 (例如 "Base Facts"."1 - Revenue") 中,列按原样从数据源中获取数据。可以编辑公式以添加函数、条件表达式等等。此编辑操作使您可以通过各种方式呈现分析结果。例如,假定您要执行假设分析,并且在收入增加 10% 的情况下按产品显示收入可能是多少。您只需通过更改“1 - Revenue”列的公式来显示增加 10% 后的收入,便可了解增加了多少。该插图使用一个数据透视表显示分析,其中包含“1 - Revenue”列 (显示数据源中的收入) 和“1 - Revenue Increased by 10%”列,在此已对“1 - Revenue”列的公式进行了编辑以计算增加 10% 后的收入。
您可以使用集合操作来组合列,以不同方式显示数据。
在为分析选择了主题区域后,可以使用集合操作 (例如并集或交集) 组合一个或多个主题区域中的列。通过组合列,可以创建一个以不同方式显示数据的列。
如果满足特定准则,则可以组合列。
选择要组合的列时,请牢记以下准则:
要组合的列的编号和数据类型必须相同。为每个列返回的行数可以不同。
可以从同一主题区域中或不同主题区域中选择列,但这些列必须具有某一共性。
只能为一个标准集合指定一个集合操作。例如,如果从“A-Sample Sales”主题区域创建标准,只能向这些列应用一个集合操作。不能向标准集合中的不同列应用不同的集合操作。
在合并标准时,不能使用分层列、选择步骤或组。
集合操作与添加列之间存在明显的不同。
使用集合操作组合列与从相关主题区域添加列产生的结果不同:
使用集合操作组合列时,分析结果会显示由集合操作控制的单个新组合列。有关示例,请参阅示例:组合一个主题区域中的列。
在将相关主题区域中的列添加到分析时,结果会单独显示每个添加的列。例如,如果您具有适当的权限,则可以通过以下方法创建分析:从主要主题区域选择一列并从相关主题区域选择另一列。
有关信息,请参阅什么是主题区域和列?
可以组合单个主题区域中的两列来创建综合数据集。
“A-Sample Sales”主题区域包含“Offices”文件夹,该文件夹又包含“D1 Office”和“D2 Department”列。您可以将这两列组合起来,创建一个名为“Offices & Departments”的列。可以包含并集集合操作来指定这一新列,从而将前两个列中的所有值显示在表的单个列中。
可以将列保存到目录以在其他分析中重用。
例如,在编辑了某一列的公式或设置了列属性并希望保存以在其他分析中重用时,保存列非常有用。
将列保存到目录时:
Oracle 建议将列保存到主题区域文件夹。如果 /My Folders 文件夹或 /Shared Folders 文件夹中没有主题区域文件夹,则 Oracle BI EE 将创建主题区域文件夹,“另存为”对话框将保存路径默认为 /My Folders/Subject Area Contents/<主题区域>。将列保存到主题区域文件夹可以确保在为相同主题区域构建分析时可以使用该列。
选择、过滤器、条件操作链接和条件格式不会保存。
对列的引用将从主题区域更改到目录。
通过从“目录”窗格中拖放其他分析中的已保存列,可以重用该列。
您可以从“目录”窗格、从“目录”页或者在重用的分析中编辑已保存列。
从“目录”窗格和“目录”页进行的更改会应用到已保存列的所有版本。在分析中进行的编辑仅应用到该分析。
要将列保存到目录,管理员必须已向您授予“保存列”权限。
要将列保存到目录,请执行以下操作:
用户可以变更“主题区域”窗格中文件夹的排序顺序。
默认情况下,主题区域文件夹按照在“我的帐户”对话框的“首选项”选项卡中指定的排序顺序显示在“主题区域”窗格中。对于所有分析(在 Oracle BI 元数据资料档案库中建立,最初由管理员设置),您可以通过修改“首选项”选项卡中的主题区域排序顺序选项,来更改主题区域、主题区域文件夹和主题区域文件夹中列的此排序顺序。有关其他信息,请参阅更改主题区域和主题区域文件夹的排序顺序。
在全局标题中,单击登录身份:用户名,然后选择我的帐户。
在“首选项”选项卡中,单击主题区域排序顺序列表,然后进行相应选择。有以下选项:
从 A 到 Z 排序 (升序)
从 Z 到 A 排序 (降序)
按保存的顺序排序 (在分析中指定的主题区域排序顺序保存作为默认值,并接下来用作默认排序顺序。)
默认 - 按保存的顺序排序 (主题区域排序顺序最初在资料档案库中定义。)
注:
在创建分析时指定的主要主题区域始终固定在顶部;即始终作为第一个主题区域显示在“主题区域”窗格中。例如,如果您有三个主题区域 (A - Sample Sales、B - Sample Quotas 和 C - Sample Headcount) 参与到分析中,C - Sample Headcount 作为主要主题区域,并且排序顺序为升序,则主题区域显示如下所示:C - Sample Headcount
A - Sample Sales
B - Sample Quotas
单击确定以保存更改。
对于当前正在创建或修改的分析,您可以更改其主题区域文件夹以及各文件夹中对象的排序顺序。
注:
主题区域排序不区分大小写。主题区域排序顺序显示在界面的若干部分中。
除了在“标准”选项卡的“主题区域”窗格中查看主题区域排序顺序之外,您还可以在以下位置查看反映的在“主题区域”窗格中配置的主题区域排序顺序:
在“过滤器”窗格中选择更多列选项以显示“选择列”对话框。请参阅创建列过滤器。
在“过滤器”窗格中选择更多选项,然后选择添加 EVALUATE_PREDICATE 函数以显示“新建 EVALUATE_PREDICATE 函数”对话框。请参阅使用 EVALUATE_PREDICATE 函数。
为“标准”选项卡中的列选择更多选项按钮,此时“可用”窗格将显示在“编辑列公式”对话框的“列公式”选项卡中。请参阅编辑列公式。
为“标准”选项卡中的列选择更多选项按钮,此时将显示“编辑列公式”对话框的“列公式”选项卡。单击过滤器按钮以显示“插入过滤器”对话框。请参阅编辑列公式。
选择“分析”编辑器的“提示”选项卡,然后单击新建按钮,并选择列提示 - 更多列以显示“选择列”对话框。请参阅将提示添加到分析。
单击显示/隐藏选择步骤窗格按钮以显示“选择步骤”窗格。单击然后,新建步骤并选择应用条件。从“新建条件步骤”对话框中,选择“条件类型”以显示“度量”下拉列表。请参阅创建选择步骤。
您还可以在“结果”选项卡的“主题区域”窗格中查看主题区域排序顺序。“结果”选项卡反映了主题区域排序顺序,但列的值不进行排序。此插图显示了对“A - Sample Sales”按降序排序的示例。D52 Country Name 的值(例如,Australia、Brazil、China 等)将按降序排序。
此过程是构建分析过程中的一个步骤。
有关详细信息,请参阅构建分析的过程是什么?
使用“分析”编辑器的“结果”选项卡可以添加不同的结果视图,例如图形、指示器和数据透视表。有关您可以添加的视图列表,请参阅有哪些视图类型可用?
在创建分析并显示“结果”选项卡时,您会在复合布局中看到标题视图以及根据以下条件默认显示的表视图或数据透视表视图:
如果分析中只包含属性列和度量列,则默认显示表。
如果分析中至少包含一个分层列,则默认显示数据透视表。
管理员可能已配置默认情况下在“结果”选项卡中显示其他视图。
在复合布局中,可以组合视图并将视图放在任意位置。例如,可以创建反映不同数据视图的并排数据透视表、用于深入研究相互关系的图形以及用于限制结果的过滤器。
所有这些视图统称为复合布局。可以创建附加复合布局,如创建附加复合布局中所述。
您可能希望更改向用户显示的无结果默认消息。
当分析结果未返回任何数据时,将向用户显示以下默认消息:
没有结果。指定的标准未产生任何数据。这通常是由于应用限制过多或包含不正确值的过滤器和/或选择造成的。请检查您的分析过滤器,然后重试。下面显示了当前已应用的过滤器。如果不希望显示默认消息,则可以创建定制消息来提醒用户。通过此消息,您可以提供自己对于分析为何未返回数据的解释。
此过程是构建分析过程中的一个步骤。
可以使用“分析”编辑器的“提示”选项卡创建提示,使用户能够选择用于过滤分析的值。用户使用提示可以选择动态过滤分析中的所有视图的值。有关详细信息,请参阅构建分析的过程是什么?
此过程是构建分析过程中的高级步骤。
有关信息,请参阅构建分析的过程是什么?
使用“分析”编辑器的“高级”选项卡可以检查 XML 代码以及为分析生成的逻辑 SQL 语句,还可以根据该 SQL 语句创建分析。通常,不必使用此选项卡的功能,因为执行分析的大部分功能是通过用户界面提供的。以下列表提供可能需要检查 SQL 语句的情形示例:
可以使用“前缀”区域覆盖已标记为要更新的任何用户变量或会话变量。可以指定多个要使用一行代码更新的变量。
要覆盖变量,请使用以下语法:
SET VARIABLEvar-name=value
例如,可以设置在以下代码行中显示的变量:
SET VARIABLE "My Variable"=4, DISABLE_CACTHE_HIT = 1, LOGLEVEL = 2;
有关变量的信息,请参阅在何处可以引用变量?
可以临时更改分析的日志记录级别以进行故障排除,即使对分析禁用日志记录也是如此。在“高级”选项卡的“前缀”区域中,可以指定以下内容:
SET VARIABLE LOGLEVEL=4;
本规范在级别 4 运行分析,这有助于进行高级故障排除。默认级别为 0,这指示无日志记录。可以使用“管理:管理会话”页上的查看日志链接查看日志。
有关日志记录级别的信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Setting Administration Tool Options。
您可以输入自己的逻辑 SQL 语句。输入自己的语句将会无法使用许多 Oracle BI EE 功能 (例如分层列、选择步骤、组以及格式设置),但您可以使用 SET 操作等功能。
可以使用现有分析中的 SQL 语句开始创建分析。
使用“高级”选项卡之前,请记住以下要点:
此过程仅适用于具有访问“高级”选项卡的相应职责的高级用户和开发人员。前提条件是您了解高级 SQL 语句、具有使用 Oracle BI Server 元数据的专业知识、熟悉《Logical SQL Reference Guide for Oracle Business Intelligence Enterprise Edition》中的 SQL 信息并且了解基础数据源的内容和结构。
此选项卡提供“高级 SQL 子句”区域,您可以在其中向 SQL 语句添加子句并添加其他熟悉的高级功能。对于包含分层列、成员选择或组的分析,将禁用这些功能 (指定前缀除外)。
注:
通过插入逻辑 SQL 视图可以查看分析所使用的逻辑 SQL 语句。您还可以使用“管理:发出 SQL 语句”页输入 SQL 语句。此过程是构建分析过程中的一个步骤。
有关详细信息,请参阅构建分析的过程是什么?
可以将分析保存到以下位置:
个人文件夹。只有您能够从个人文件夹中访问分析。
顶级个人文件夹称为“我的文件夹”。具有唯一用户名的每个用户都有一个名为“我的文件夹”的文件夹。它专门用于保存最常运行的分析以及经常访问的其他内容。
当单击窗格底部的刷新显示链接时,分析会列在保存它的文件夹下方。
共享文件夹。具有该文件夹访问权限的用户都可以从中访问分析。
Lotus Notes 数据库,保存方法是:
将分析保存到一个 Web 档案文件 (文件扩展名为 .mht),然后将该文件上载到 Lotus Notes 数据库。
保存分析并使用代理将其调度为自动通过电子邮件发送到 Lotus Notes 服务器上的特定地址。这样,Lotus Notes 服务器便可处理该电子邮件并将其写入数据库。
要保存分析,请执行以下操作:
在“分析”编辑器中,单击保存分析按钮以显示用于保存分析的对话框。
如果要将分析保存到个人或共享文件夹,请执行以下操作:
在保存位置框中,选择要保存分析的个人或共享文件夹。
在名称字段中,输入分析的名称,例如 forecasted_sales。
单击确定。
如果要使用 Web 档案文件将分析保存到 Lotus Notes 数据库,请执行以下操作:
在保存位置框中,选择要保存分析的文件夹。
在名称字段中,输入分析的名称,包括 .mht 文件扩展名,例如 forecasted_sales.mht。
单击确定。
将 .mht 文件上载到 Lotus Notes 数据库。
如果要使用代理将分析保存到 Lotus Notes 数据库,请执行以下操作:
在保存位置框中,选择要保存分析的文件夹。
在名称字段中,输入分析的名称,例如 forecasted_sales。
单击确定。
创建代理,将分析调度为通过电子邮件发送到 Lotus Notes 服务器上的特定地址。
有关创建代理的详细信息,请参阅创建代理。
可以直接从分析创建代理。
创建一个基于分析的条件,然后将该条件添加到“代理”编辑器的“条件”选项卡。
将分析作为传送内容添加到“代理”编辑器的“传送内容”选项卡上。
可以通过这种方式编辑任何分析,除非您在访问模式中。
注:
如果您在访问模式下使用 Oracle BI 企业版,则可使用 BI 编写器向导而不是“分析”编辑器来编辑分析。有关 BI 编写器的详细信息,请参阅使用 BI 编写器处理分析。有关访问模式的详细信息,请参阅可访问性功能。通过嵌入,自动在仪表盘中显示当前分析。
如果在仪表盘中嵌入分析,则会自动执行分析并在仪表盘中显示结果。该选项提供对当前结果的访问。例如,如果您是一名销售主管,您所在的公司每天都会捕获销售数据,那么您可能希望在仪表盘的首页看到当天所销售产品的美元金额。
可以使用“仪表盘”编辑器嵌入 Oracle BI 表示目录中以前创建的分析。有关“仪表盘”编辑器的信息,请参阅将内容添加到仪表盘。
具有适当权限的用户可以创建直接数据库请求并直接将其发布到物理后端数据库。
可以在“分析”编辑器中显示和处理请求结果,随后可将结果并入仪表盘和代理中。本部分包含以下主题:
管理员可以设置直接请求的访问权限。
Oracle BI Presentation Services 管理中的以下权限设置控制您是否能够修改和执行直接请求:
编辑直接数据库分析
如果为您设置了此权限,您可以创建和编辑直接数据库请求。
执行直接数据库分析
如果为您设置了此权限,您可以发布直接数据库请求并查看结果。
有关信息,请参阅《Security Guide for Oracle Business Intelligence Enterprise Edition》中的 Managing Presentation Services Privileges。
可以直接查询数据库。
您可以将直接请求从 Oracle BI EE 发送到数据库。
注:
在从 Oracle BI EE 发布直接数据库请求时,将绕过 Oracle BI Server 的数据安全规则,因而无法应用这些规则。
变量帮助确保在多个位置准确呈现同一个信息和文本。
可以在 Oracle BI 企业版的多个区域引用变量,这些区域包括分析、仪表盘、KPI、操作、代理和条件。例如,假设您要创建一个标题显示当前用户名的分析。可通过引用变量来实现这一点。
有五种类型的变量可供使用:
会话
资料档案库
表示
请求
全局
会话变量是在每个用户登录时进行初始化的变量。
当用户开始会话时,Oracle BI Server 会创建会话变量的新实例并进行初始化。
会话变量的实例与 Oracle BI Server 中的有效会话一样多。会话变量的每个实例都可以初始化为不同的值。
会话变量由初始化块 (INIT BLOCK) 中指定的查询填充。通常只在登录时执行一次这些会话 INIT BLOCK。但是,如果将 INIT BLOCK 标记为延迟,则可以在稍后引用相关变量时执行它。
会话 INIT BLOCKS 通常与查询语句相关联,但也可与轻型目录访问协议 (LDAP) 对象相关联。有关 INIT BLOCK 的详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Working with Initialization Blocks。
会话变量有两种类型:
系统 - Oracle BI Server 和 Oracle BI Presentation Services 用于特定用途的会话变量。
系统会话变量具有保留名称,这些名称不能用于其他类型的变量 (例如静态变量、动态资料档案库变量和非系统会话变量)。
非系统 - 管理员创建和命名的系统变量。例如,管理员可能会创建用于初始化用户销售区域的 SalesRegion 非系统变量。
管理员使用 Oracle BI 管理工具创建非系统会话变量。
注:
请求变量无法覆盖某些系统会话变量 (例如 USERGUID 或 ROLES)。可以覆盖 DATA_TZ 和 DATA_DISPLAY_TZ (时区) 等其他系统会话变量 (如果已在 Oracle BI 管理工具中配置)。有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Working with Repository Variables。
有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 About Session Variables。
资料档案库变量是在任意时间点都具有单个值的变量。
资料档案库变量有两种类型:
静态 - 这种资料档案库变量的值将予以保存,除非管理员决定更改,否则不会发生更改。
动态 - 其值由 INIT BLOCK 中指定的查询填充的资料档案库变量。可以指定刷新 INIT BLOCK 的时间间隔。动态 INIT BLOCK 自动按指定的时间间隔刷新其变量值。
动态 INIT BLOCK 只能与查询 (即,SQL 语句、ADF 查询或其他支持的数据源) 相关联。有关 INIT BLOCK 的详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Working with Initialization Blocks。
管理员使用 Oracle BI 管理工具创建资料档案库变量。
有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 About Repository Variables。
表示变量创建并用于仪表盘提示。
表示变量是可在创建以下任一类型仪表盘提示的过程中创建的变量:
列提示 - 作为列提示一部分创建的表示变量与某个列相关联,它可采用的值来自于列值。
要在“新建提示”对话框 (或“编辑提示”对话框) 中创建作为列提示一部分的表示变量,必须在设置变量字段中选择表示变量,然后在变量名字段中输入该变量的名称。
有关使用列提示的信息,请参阅创建列提示。
变量提示 - 作为变量提示一部分创建的表示变量不与任何列相关联,您可以定义它可采用的值。
要在“新建提示”对话框 (或“编辑提示”对话框) 中创建作为变量提示一部分的表示变量,必须在提示字段中选择表示变量,然后在变量名字段中输入该变量的名称。
有关使用变量提示的信息,请参阅创建变量提示。
表示变量的值由创建该变量时所使用的列提示或变量提示填充。也就是说,每次用户在列提示或变量提示中选择一个或多个值时,表示变量的值就会设置为用户选择的一个或多个值。
请求变量会临时覆盖提示数据库请求。
通过请求变量可以覆盖会话变量的值,但这只在从列提示或变量提示启动的数据库请求期间有效。
注:
请求变量无法覆盖某些系统会话变量 (例如 USERGUID 或 ROLES)。可以覆盖 DATA_TZ 和 DATA_DISPLAY_TZ (时区) 等其他系统会话变量 (如果已在 Oracle BI 管理工具中配置)。有关详细信息,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 Working with Repository Variables。
可在创建以下任一类型仪表盘提示的过程中创建请求变量:
列提示 - 作为列提示一部分创建的请求变量与某个列相关联,它可采用的值来自于列值。
要在“新建提示”对话框(或“编辑提示”对话框)中创建作为列提示一部分的请求变量,必须在设置变量字段中选择请求变量,然后在变量名字段中输入要覆盖的会话变量的名称。
有关使用列提示的信息,请参阅创建列提示。
变量提示 - 作为变量提示一部分创建的请求变量不与任何列相关联,您可以定义它可采用的值。
要在“新建提示”对话框(或“编辑提示”对话框)中创建作为变量提示一部分的请求变量,必须在提示字段中选择请求变量,然后在变量名字段中输入要覆盖的会话变量的名称。
有关使用变量提示的信息,请参阅创建变量提示。
请求变量的值由创建该变量时所使用的列提示或变量提示填充。也就是说,每次用户在列提示或变量提示中选择值时,请求变量的值就会设置为用户选择的这个值。不过,只有在从用户按提示的开始按钮到分析结果返回到仪表盘这一段时间内,该值才有效。
注:
只有字符串和数字请求变量才支持多个值。所有其他数据类型只传递第一个值。可以在许多区域中引用变量,但不能在每个区域中引用所有变量。
可以在以下区域中引用变量(但不能在每个区域中引用所有类型的变量):
标题视图。
叙述视图。
静态文本视图。
过滤器。
列公式。
条件格式设置的条件。
分析中的表标题和列标题。
直接数据库请求。
仪表盘提示和内嵌提示。
PDF 输出的页眉和页脚。
仪表盘中的链接或图像对象。
仪表盘中的文本对象。
用于指定图形数据条件格式的图形。
计量表阈值。
计量表限制。
代理。
用于指定参数的操作。
用于指定参数的条件。
用于覆盖步骤的选择步骤。
用于定义阈值的 KPI。
KPI 监视列表中包括的 KPI。
对话框中的 URL 字段。
有关用于引用变量的语法,请参阅引用变量的语法是什么?
可以在分析、仪表盘、KPI 和代理中引用变量。引用变量的方式取决于您所执行的任务。
对于通过对话框中的字段提供的任务,只能指定变量的类型和名称 (而不是完整语法),例如在过滤器定义中引用变量。
对于其他任务 (例如在标题视图中引用变量),可以指定变量语法。所使用的语法取决于变量类型,如表中所述。
注:
在此语法中,如果 @ 符号后面未跟随大括号 ({),则将其视为一个 @ 符号。变量类型 | 语法 | 示例 |
---|---|---|
会话 |
@{biServer.variables['NQ_SESSION.variablename']}
其中 variablename 是会话变量的名称,例如 DISPLAYNAME。 有关可使用的系统会话变量列表,请参阅《Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition》中的 About System Session Variables。 |
@{biServer.variables['NQ_SESSION.USER']} |
资料档案库 |
@{biServer.variables.variablename}
或
@{biServer.variables['variablename']}
其中 variablename 是资料档案库变量的名称,例如 prime_begin。 |
@{biServer.variables.prime_begin} 或 @{biServer.variables['prime_begin']} |
表示或请求 |
@{variables.variablename}[format]{defaultvalue} 或 @{scope.variables['variablename']} 其中:
注:将仪表盘提示用于可以具有多个值的表示变量时,语法会因列类型的不同而异。将多个值的格式设置为以逗号分隔的值,因此,任何设置格式子句将在各个值使用逗号联接起来之前应用。 |
@{variables.MyFavoriteRegion}{EASTERN REGION} 或 @{MyFavoriteRegion} 或 @{dashboard.variables['MyFavoriteRegion']} 或 (@{myNumVar}[#,##0]{1000}) 或 (@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{) 或 (@{myTextVar}{A, B, C}) |
全局 |
@{global.variables.variablename}
其中 variablename 是全局变量的名称,例如,gv_region。引用全局变量时,必须使用全限定名称,如示例中所示。 注:全局变量的命名惯例必须遵守 JavaScript 的 EMCA 脚本编写语言规范。名称不能超过 200 个字符,不能包含嵌入空格、保留关键字以及特殊字符。如果您不熟悉 JavaScripting 语言要求,请查看第三方参考。 |
@{global.variables.gv_date_n_time} |
您也可以在表达式中引用变量。下表中介绍了有关在表达式中引用变量的准则。
变量类型 | 准则 | 示例 |
---|---|---|
会话 |
|
"Market"."Region"=VALUEOF(NQ_SESSION."SalesRegion") |
资料档案库 |
|
CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END |
表示 |
注:如果 @ 符号后面未跟随 {,则将其视为一个 @ 符号。 使用可以具有多个值的表示变量时,语法会因列类型的不同而异。 在 SQL 中为指定列类型使用以下语法以生成有效的 SQL 语句:
|
"Market"."Region"=@{MyFavoriteRegion}{EASTERN REGION} 或 "Products"."P4 Brand"=(@{myTextVar}['@']{BizTech}) 或 "Products"."PO Product Number"=(@{myNumVar}{1000}) 或 "Sales Person"."E7 Hire Date"=(@{myDateTimeVar}{timestamp '2013-05-16 00:00:01'}) 或 "Time"."Total Fiscal Time"=(@{myDateVar}{date '2013-05-16'}) 或 "Time"."Time Right Now"=(@{myTimeVar}{time '00:00:01'}) 使用 SQL 时,对于多值 (指定的数据类型):
或
或
|
有关可引用变量的特定区域,请参阅在何处可以引用变量?
应用程序具有一组预定义的表示变量,您可以在各种输出中使用这些变量。
此表包含您可以在分析、仪表盘、KPI 和代理中引用的预定义表示变量的列表。(请注意,这些预定义表示变量的语法省略了 variables.
限定符,例如采用 @{session.locale}
而不是 @{session.variables.locale}
。)
注:
对于时区变量,必须将用户所在时区设置为默认值以外的值,才能使此变量生效。(用户在“我的帐户”对话框的“首选项”选项卡中设置其首选时区。)范围 | 表示变量 | 示例 |
---|---|---|
系统 |
productVersion |
system.productVersion = 11.1.1.3 (Build 090619.0110.000) |
系统 |
currentTime |
system.currentTime = 6/29/2009 7:35:59 PM |
会话 |
locale |
session.locale = en-us |
会话 |
language |
session.language = en |
会话 |
rtl
此变量指示登录页中的语言选择是否是从右向左书写的语言。例如,如果语言选择为“希伯来语”,则此变量会返回“真”。 |
session.rtl = false |
会话 |
timeZone |
session.timeZone = (GMT-06:00) Central America |
会话 |
timeZone.id
此变量返回未本地化的值。 |
session.timeZone.id = (GMT-06:00) Central America |
会话 |
timeZone.name
此变量返回本地化的值。 |
session.timeZone.name = (GMT-06:00) 中美洲 |
会话 |
timeZone.value
此变量返回本地化的值。 |
session.timeZone.value = (GMT-06:00) 中美洲 |
会话 |
loginTime |
session.loginTime = 6/29/2009 7:12:01 PM |
会话 |
logoutTime |
session.logoutTime = 6/29/2009 8:02:01 PM |
会话 |
lastAccessTime |
session.lastAccessTime = 6/29/2009 7:35:59 PM |
会话 |
currentUser |
session.currentUser = Administrator |
会话 |
currency.name |
session.currency.name = $ English - United States |
会话 |
currency.symbol |
session.currency.symbol = $ |
会话 |
currency.userPreference |
session.currency.userPreference = Global Currency 2 |
会话 |
accessibility
这指示是否为当前用户会话启用了访问模式。 |
session.accessibility = true |
用户 |
id |
user.id = Administrator |
用户 |
displayName |
user.displayName = Administrator |
用户 |
homeDirectory |
user.homeDirectory = /users/administrator |
仪表盘 |
currentPage |
dashboard.currentPage = page 1 |
仪表盘 |
xml |
dashboard.xml = 仪表盘 XML |
仪表盘 |
dashboard.currency.name |
dashboard.currency.name = Euro |
仪表盘 |
dashboard.currency.symbol |
dashboard.currency.symbol = $ |
仪表盘 |
dashboard.currency.userPreference |
dashboard.currency.userPreference = Global Currency 1 |
仪表盘 |
dashboard.path
此变量返回目录中的路径。 |
dashboard.path = /users/administrator/_portal/Sales |
仪表盘 |
dashboard.name |
dashboard.name = MyDashboard |
仪表盘 |
dashboard.caption
此变量返回仪表盘的本地化名称。 |
dashboard.caption = 销售 |
仪表盘 |
dashboard.location
此变量返回位置的 URL。 |
dashboard.location = Dashboard&PortalPath=/users/administrator/_portal |
仪表盘 |
dashboard.description |
dashboard.description = 按区域和行政区的销售额 |
仪表盘 |
dashboard.author |
dashboard.author = Administrator |
dashboard.currentPage |
dashboard.currentPage.name |
dashboard.currentPage.name = Sales page 1 |
dashboard.currentPage |
dashboard.currentPage.path |
dashboard.currentPage.path = /users/administrator/_portal/Sales/page 1 |
dashboard. current Page |
dashboard.currentPage.currency.name |
dashboard.currentpage.currency. name = USD |
dashboard.current Page |
dashboard.currentPage.currency.symbol |
dashboard.currentPage.currency. symbol = USD |
dashboard. current Page |
dashboard.currentPage.currency.userPreference |
dashboard.currentPage.currency.userPreference = Global Currency 2 |
分析 |
report.currency.name |
report.currency.name = $ English - United States |
分析 |
report.currency.symbol |
report.currency.symbol = $ |
分析 |
report.currency.userPreference |
report.currency.userPreference = Global Currency 2 |
在标题视图中引用变量可确保信息准确无误。
假设您创建了一个名为“Region”的仪表盘提示,该提示基于“D50 Region”列并创建一个名为“MyFavoriteRegion”的表示变量,如插图中所示。
此外,假设您还创建了一个按“Region”和“Area”显示“Revenue”的分析。您同时在“D50 Region”列上添加了一个设置为提示的过滤器,以便使用此“Region”提示来提示用户选择区域。
可以在标题视图中引用 MyFavoriteRegion 变量,使用户在“Region”提示中的选择显示在分析标题中。为此,请在“标题”编辑器的标题字段中输入该变量语法 @{variables.MyFavoriteRegion}
,如插图中所示。
此插图显示了用户在“Region”提示中选择“AMERICAS REGION”时在仪表盘页上显示的结果。此时您会看到,分析标题中的此变量已更新为用户选择的“AMERICAS REGION”。