Essbase

概要

Item Description
发布状态 一般可用性
Products Power BI (语义模型)
支持的身份验证类型 基本(用户名/密码)
功能参考文档 Essbase.Cubes

先决条件

支持 Essbase 11.1.2.x 版本。

支持的功能

  • Import
  • 直接查询 (Power BI 语义模型)
  • 高级选项
    • 命令超时(分钟)
    • Server
    • Application
    • MDX 语句

从 Power Query Desktop 连接到 Essbase

连接到 Essbase 服务器:

  1. “获取数据”体验中选择 Essbase 选项。

  2. 输入 Oracle Essbase Hyperion 服务器的 URL 。 通常,URL 如下所示 http://[hostname]:[port number]/aps/XMLA。 URL 的组件包括:

    • hostname 例如, yourservername.domain.com)是内部系统的 Oracle Hyperion 应用程序提供程序服务(APS)服务器的主机名或 IP 地址。

    • port number (例如,19000)是 APS 服务器侦听 XMLA 请求的端口号。

    • URL 的最后一部分(即 /aps/XMLA)区分大小写,必须严格按照所示进行指定。

      输入了 URL 的 Essbase 连接生成器的屏幕截图。

    一些示例 URL 为:

    • http://apsserver.company.com:19000/aps/XMLA—使用完全限定域名与默认端口 19000。
    • http://hypserver01:13080/aps/XMLA- 使用未完全限定的主机名和端口 13080。
    • http://10.10.10.10/aps/XMLA- 使用 IP 地址和端口 80—将其从默认的 19000 更改为 80。
  3. 选择 “导入 ”或“ DirectQuery 数据连接”模式。 详细信息:在 Power BI Desktop 中使用 DirectQuery

    (可选)在要用于修改连接查询的任何高级选项中输入值。 详细信息:使用高级选项进行连接

  4. 首次连接到数据源(由每个唯一 URL 标识),系统会提示输入帐户凭据。 输入连接的用户名和密码 详细信息: 使用数据源进行身份验证

    Essbase 连接的身份验证对话框的屏幕截图。

  5. 导航器中,选择所需的数据。 然后,选择“ 转换数据 ”以转换 Power Query 编辑器中的数据,或 “加载” 以在 Power BI 中加载数据。

    导入 Essbase 数据的导航器的屏幕截图。

使用高级选项进行连接

Power Query 提供一组高级选项,可以根据需要将这些选项添加到查询中。 下表列出了可以在 Power Query 中设置的所有高级选项。

高级选项 Description
命令超时(分钟) 允许在 Power BI 放弃调用之前设置允许运行命令的最长时间。 如果出现命令超时,则 Power BI 在完全放弃调用前可能会再重试两次。 此设置有助于查询大量数据。 命令超时的默认值为 140 秒。
Server 要运行可选 MDX 语句的服务器的名称。 此值区分大小写。
Application 要在其中运行可选 MDX 语句的应用程序的名称。 此值区分大小写。
MDX 语句 (可选)为要执行的 Oracle Essbase 服务器提供特定的 MDX 语句。 通常,Power BI 会以交互方式确定数据立方体的度量值和维度,以进行返回。 但是,通过指定 MDX 语句,加载该特定 MDX 语句的结果。 指定 MDX 语句时,还必须提供服务器(例如 essbaseserver-1)和应用程序(例如 Sample)高级选项,以指示 MDX 语句的运行位置。 此外,只能将 MDX 语句用于数据连接模式设置为Import时。

通常,SmartView 生成的 MDX 或 Essbase 管理员接受的 MDX 与 Power BI 不兼容 100%。

Power BI 要求在 MDX 查询中的 0 轴上指定度量值。 此外,在 XMLA 中反转级别编号。 最小粒度级别是 XML 中的级别 0、1 等,但在 Essbase 中却“直接”相反。因此,如果在 MDX 查询中显式使用级别数字,则需要对其进行调整。

Essbase 连接身份验证的屏幕截图,其中设置了命令超时和 MDX 高级选项。

导入数据时使用数据源导航器

数据连接模式 设置为 “导入”时,数据源导航器将加载为 URL 中提供的 APS 服务器配置的服务器。 展开树中的服务器节点会显示可用的应用程序。 展开一个应用程序节点,可以显示可用的数据库(又称为“多维数据集”)。 展开数据库节点会显示可用的度量值和维度。 可以进一步扩展维度,以显示每个维度的层次结构中的级别。

通过选中名称旁边的复选框,选择度量值和所有(或特定)维度级别。 右侧窗格中提供了数据的预览。 可以选择 “加载 ”按钮以检索与所选内容关联的数据,或选择“ 转换数据 ”按钮,以在 Power BI 中加载数据之前对数据设置进一步筛选器。

显示预览数据的 Essbase 导入数据导航器的屏幕截图。

与 Essbase 管理相比,显示方面的差异

在导航器中展开维度层次结构时,你可能会注意到,与使用 Essbase 管理服务控制面板相比,它看起来有所不同。

例如,下图显示了 Essbase 管理服务中扩展的实体维度层次结构。

具有扩展的实体维度层次结构的 Essbase 管理服务的屏幕截图。

在 Power Query 导航器中,正在展开的同一实体显示如下:

Essbase 导入数据导航器选择的屏幕截图。

请注意,这种外观是一个风格上的选择,数据上没有任何差别。 Power Query 导航器中的级别对应于分层级别。

在前面的示例中,级别 1 包括“R_ReportingUnits”、“Adjustment Entity Input”和“No_Entity”。 级别 2 将包含“R_Americas”、“R_EMEA”、“R_AsiaPacific”、“1_ReportingUnits_Adjustment”、“CALA_HFM_Input”、“CALA_Total”等。

原因是 Power Query 中的导航器限制为 10,000 个要显示的成员,并且层次结构下可能有数百万或数十亿个成员。 即使在没有成员显示限制的情况下(例如使用 Power Query Online),由于可能的值太多,在树状格式中导航和选择每个成员很快会变得繁琐且不易使用。

因此,将层级分组可以更轻松地选择要导入的内容,随后的报表生成可以使用筛选器只针对最终用户希望的成员。

使用用于 DirectQuery 的数据源导航器

选择 DirectQuery的数据连接模式时,数据源导航器会加载为 URL 中提供的 APS 服务器配置的服务器。 展开树中的服务器节点会显示可用的应用程序。 展开一个应用程序节点,可以显示可用的数据库(又称为“多维数据集”)。

Essbase Direct Query 数据导航器选择的屏幕截图。

已知的限制

Essbase 连接器不支持度量层次结构。 所有度量值都在同一级别显示。 你仍然可以选择所需的所有度量值。 搜索字段可用于缩小显示度量值的范围(如果有大量度量值)。

性能注意事项

在 DirectQuery 模式下与 Power BI 交互是非常动态的。 选中一个复选框以在可视化效果中包含度量值或维度级别时,Power BI Desktop 将生成查询并将其发送到 Oracle Essbase 服务器以获取结果。 Power BI 经过优化,可缓存任何重复查询以提高性能。 但是,如果生成任何新查询,则会将其发送到 Oracle Essbase 服务器以生成新结果。 根据所选度量值、维度级别和应用的筛选器的数量,查询的发送速度可能会比 Oracle Essbase 服务器响应的更快。 若要提高性能和提高响应能力,请考虑以下三种方法来优化与 Oracle Essbase 服务器的交互。

查询优化选项

有三个选项可以减少发送的查询数。 在 Power BI Desktop 中,选择“文件”选项卡,然后选择“选项”和“设置>选项”,然后选择“当前文件”部分下的“查询缩减”。

Power BI Desktop 选项对话框的屏幕截图,其中选择了“查询缩减”选项。

选择“禁用交叉突出显示/筛选为默认选项”在“减少查询数”选项下,默认情况下禁用交叉突出显示/筛选。 禁用时,筛选器中的成员列表在筛选同一维度的其他级别的成员时不会更新。 在“显示应用按钮并仅发送一次查询”部分下选择“切片器选择”选项,当切片器选择更改时会显示“应用”按钮。 在 一次性发送查询并显示应用按钮 部分下选择 筛选器选择 选项,当筛选器选择发生更改时,将显示 应用 按钮。

注释

这些选项仅适用于你正在处理的当前文件。 当前文件 选项设置随文件一起保存,并在打开同一文件时还原。

在导入模式下添加维度级别时,迭代筛选器应用程序

在导入模式下与多维多维数据集数据源(如 Oracle 的 Essbase)交互时,Power Query 最初会在“数据库 导航器 ”对话框中显示度量值、维度和维度级别。 但是,虽然 Power BI 可以方便地选择和可视化数据,但有时会导致从服务器检索太多数据。

以下步骤演示了如何通过在每个级别的维度成员上迭代应用筛选器来减少检索超过必要数据的可能性,从而更高效地将数据导入 Power BI。

连接到 Oracle Essbase 数据源

  1. 若要使用导入模式连接到 Essbase 服务器,请按照 Power Query Desktop 中的“连接到 Essbase”中的说明进行作。

  2. 展开树,逐步深入到您所需的服务器、应用程序及数据库,直到它显示出数据库的度量和维度。 目前,请选择度量值,并且只选择一个维度级别。 选择最重要的维度级别。 在后续步骤中,通过增量添加更多维度级别来生成结果。

    在其中选择最重要的维度和度量值的导航器的屏幕截图。

  3. 选择 “加载” 以导入所选度量值和维度级别。

    Power BI 桌面的屏幕截图,其中加载了导入。

编辑查询以添加更多维度级别

现在,你有了一个起点,接下来可以开始添加更多维度级别并应用筛选器。

  1. 在 Power BI Desktop 功能区上选择 “编辑查询 ”以启动该过程。

    突出显示了“编辑”查询的下拉菜单的屏幕截图。

  2. 如果要在初始维度中筛选成员,请选择列属性按钮 以显示此级别的可用维度成员列表。 仅选择此级别所需的维度成员,然后选择“ 确定 ”以应用筛选器。

    要在其中应用筛选器的可用维度成员列表的屏幕截图。

  3. 生成的数据现在使用应用的筛选器进行更新。 已应用的步骤现在包含您设置的筛选器的一个新步骤(筛选行)。 可以选择步骤的设置按钮 ,以便稍后修改筛选器。

    更新后的数据的屏幕截图,其中包含筛选行的新应用步骤。

  4. 现在添加一个新的维度级别。 在这种情况下,你将为最初选择的那个维度添加下一个层级。 选择功能区上的 “添加项 ”以打开 “导航器 ”对话框。

    “管理”选项卡的屏幕截图,其中突出显示了“添加项”选项。

  5. 导航到同一维度,但这次选择第一个级别下面的下一个级别。 然后选择 “确定 ”,将维度级别添加到结果。

    选择并添加新维度的“添加项”对话框的屏幕截图。

  6. 结果网格现在具有来自新维度级别的数据。 请注意,由于你在顶层应用了筛选器,因此仅返回第二个级别的相关成员。

    显示新维度级别的网格的屏幕截图。

  7. 现在可以像第一级那样将筛选器应用到第二级维度。

    二级筛选器应用处下拉框的屏幕截图。

  8. 这样,每个后续步骤可确保仅从服务器检索所需的成员和数据。

    应用了筛选器的数据的屏幕截图。

  9. 现在,让我们通过重复前面的步骤来添加新维度级别。 再次选择功能区栏上的 “添加项 ”。

    再次选择“添加项”选项的“管理”功能区的屏幕截图。

  10. 导航到所需的维度级别,选择它,然后选择 “确定 ”将维度级别添加到结果。

    “添加项”对话框的屏幕截图,可在其中再次选择所需维度。

  11. 新维度级别将添加到结果中。

    添加了新维度的结果的屏幕截图。

  12. 根据需要将筛选器应用到此维度级别。

    向新维度应用筛选器的数据的屏幕截图。

  13. 观察结果。

    要观察的结果的屏幕截图。

应用更改并加载数据

  1. 添加所需的所有维度级别并设置所有所需筛选器时,选择右上角的 “关闭 ”以关闭编辑器。

    设置所有维度级别和筛选器的数据的屏幕截图,其中突出显示了关闭按钮。

  2. 选择 “是 ”以应用更改。

    Power Query 编辑器对话框的屏幕截图,其中选择了“是”按钮。

  3. 等待应用更改。

    显示等待应用更改的“加载”对话框的屏幕截图。

  4. 观察“ 字段 ”窗格中的新维度级别。

    Power BI Desktop 的屏幕截图,可在其中观察新维度。

现在可以创建报表和可视化效果了。

在 DirectQuery 模式下添加维度级别时,迭代筛选器应用程序

在 DirectQuery 模式下与多维多维数据集数据源(如 Oracle 的 Essbase)交互时,Power BI 会在 “字段 ”窗格中显示多维数据集的维度和级别。

Power BI 字段窗格的屏幕截图,其中显示了维度和级别。

查看和筛选基于维度成员:

  1. 将维度级别从“字段”窗格拖放到“筛选器”窗格。 可以将维度级别拖到“在此视觉对象上的筛选器”、“此页面上的筛选器”或“所有页面上的筛选器”下的“添加数据字段”区域,具体取决于你的需求。

    Power BI 的屏幕截图,其中突出显示了添加字段的位置。

  2. 维度级别在 “筛选器 ”窗格中,筛选器类型设置为 “基本筛选”后,你会注意到该维度级别的成员显示为可用筛选器的列表。

  3. 你可以选择要包含在结果中的成员。

    或者,可以选择“全选”,然后取消勾选不想在结果中包含的成员。

    在搜索字段中键入一些字符,以便该筛选器在列表中查找成员。

    Power BI 界面的屏幕截图,用于选择要强调的成员。

  4. 如果具有同一维度的两个或更多级别的筛选器,请注意,从维度的较高级别选择成员会更改该维度的较低级别中可用的成员。

    可以通过检查 “默认禁用交叉突出显示/筛选 ”选项来禁用此交叉突出显示/筛选行为,如 查询减少选项中所述。

    Power BI 的屏幕截图,其中选择要筛选的成员会更改可用成员。

  5. 完成在维度级别筛选器中选择所需成员后,最好将该维度级别添加到可视化效果。 检查字段窗格中的匹配的维度级别,然后将其添加到当前可视化。

    在其中添加新维度的 Power BI 的屏幕截图。

有关添加筛选器的详细信息,请转到将 筛选器添加到 Power BI 中的报表

Troubleshooting

本部分概述了可能会遇到的常见问题,并包括解决问题的故障排除步骤。

连接问题

症状 1

Power BI Desktop 返回错误消息“无法连接到远程服务器”。

解决方案

  1. 确保在 Essbase 管理服务(EAS)控制台中为提供者服务器和独立服务器正确配置 Essbase 分析提供者服务(APS)服务器。 详细信息: 配置 Essbase 群集

  2. 确保 URL 正确。

    • 检查以确保主机名和/或 IP 地址正确。
    • 检查以确保提供的端口正确。
    • 检查以确保指定 http(而不是 https)协议。
    • 检查以确保 /aps/XMLA 路径在 URL 中的大小写正确无误。
  3. 如果 Power BI Desktop 与提供的主机名之间存在防火墙,请检查以确保提供的主机名和端口可以通过防火墙进行出站传递。

验证

再次尝试连接时不会显示错误,多维数据集和成员列表会同时显示在导航窗格中。 还可以在导入模式下选择并显示预览版。

症状 2

Power BI Desktop 返回错误消息“我们无法使用提供的凭据进行身份验证。 请重试。”

解决方案

确保提供的用户名和密码正确。 请仔细重新输入其值。 密码区分大小写。

验证

更正用户名和密码后,应该能够显示预览中的成员和值,或者能够加载数据。

症状 3

Power BI Desktop 返回错误消息“根级别的数据无效。 第 1 行,位置 1。

解决方案

确保在 Essbase 管理服务(EAS)控制台中为提供者服务器和独立服务器正确配置 Essbase 分析提供者服务(APS)服务器。 详细信息: 配置 Essbase 群集

验证

尝试重新连接时不会显示错误,“多维数据集”和“成员列表”显示在导航窗格中。 还可以在导入模式下选择并在预览中显示。

症状 4

成功连接到 Oracle Essbase 分析提供程序服务(APS)服务器后,数据源导航器中的 URL 节点下面列出了一些服务器。 但是,当你展开服务器节点时,该服务器节点下面未列出任何应用程序。

解决方案

建议将 Oracle Hyperion 服务器配置为通过 Essbase 管理服务(EAS)控制台定义提供程序和独立服务器。 请参阅附加说明:在 Essbase 管理服务(EAS)控制台中注册提供程序和独立服务器

验证

再次尝试连接时不会显示错误,并且您可以在导航窗格中看到数据立方体和成员列表。 还可以在导入模式下选择并在预览中显示。

超时或数据量大问题

症状 1

Power Query 返回错误消息“操作已超时”

解决方案

  1. 确保网络稳定,并且数据源 URL 中提供的 Essbase Analytic Provider Services (APS) 服务器有可靠的网络路径。

  2. 如果对服务的查询可能返回大量数据,请指定较长的(或更长)的命令超时间隔。 如果可能,请将筛选器添加到查询,以减少返回的数据量。 例如,仅选择要返回的每个维度的特定成员。

验证

重试以加载数据,如果问题仍然存在,请尝试增大到更长的超时间隔或进一步筛选数据。 如果问题仍然存在,请尝试解决 症状 3

症状 2

查询返回错误消息“内部错误:查询分配的内存过大( >4GB),无法执行。 查询分配超过分配限制。”

解决方案

尝试执行的查询生成的结果大于 Oracle Essbase 服务器可以处理的结果。 提供或增加查询上的筛选器,以减少服务器返回的数据量。 例如,为每个维度的每个级别选择特定成员,或设置度量值值的数值限制。

验证

重试以加载数据,如果问题仍然存在,请尝试增大到更长的超时间隔或进一步筛选数据。 如果问题仍然存在,请尝试解决 症状 3

症状 3

Essbase 分析提供程序服务(APS)或 Essbase 服务器显示大量连接并伴随长时间运行的会话。

解决方案

当连接模式为 DirectQuery 时,可以轻松选择度量值或维度级别以添加到所选可视化效果。 但是,每个新选择都会创建新的查询和 Essbase 分析提供程序服务(APS)/Essbase 服务器的新会话。 有几种方法可以确保查询数量减少或减少每个查询结果的大小。 查看 性能注意事项 ,以减少查询服务器的次数,并减小查询结果的大小。

验证

重试以加载数据。

运行 MDX 时密钥不匹配

症状

MDX 语句返回错误消息“密钥与表中的任何行不匹配”。

解决方案

服务器和应用程序字段的值或大小写可能不匹配。 选择 “编辑” 按钮,更正服务器和应用程序字段的值和大小写。

验证

重试以加载数据。

无法获取多维数据集问题 - MDX

症状

MDX 语句返回了错误消息:“无法从该语句中获取立方体名称。” 检查用于指定多维数据集名称的格式。

解决方案

确保 MDX 语句 FROM 子句中的数据库名称与应用程序和数据库名称一起完整限定,例如 [Sample.Basic]。 选择 “编辑” 按钮,并在 MDX 语句的 FROM 子句中更正完全限定的数据库名称。

验证

重试以加载数据。

Essbase 错误 (1260060) 问题 - MDX

症状

MDX 语句返回错误消息“Essbase 错误(1260060):多维数据集名称 XXXX 与当前应用程序/数据库不匹配”

解决方案

确保 FROM 子句中的应用程序名称和完全限定的数据库名称匹配。 选择 “编辑” 按钮,并在 MDX 语句的 FROM 子句中更正应用程序名称或完全限定的数据库名称

验证

重试以加载数据。

Essbase 错误 (1200549): MDX 查询中的重复维度 [度量值]

症状

加载维度将返回错误消息“Essbase Error (1200549): MDX 查询中的重复维度 [度量值] 。

解决方案

  1. 登录到 Essbase 服务器,打开 Essbase 管理服务控制台,并使用管理员用户登录(或者无论谁对有问题的数据库拥有权限)。

  2. 导航到具有有问题的“度量值”维度的 Essbase 服务器 > 应用程序 > 数据库。

  3. 解锁数据库的大纲并对其进行编辑。

  4. 确定哪个维度应为“帐户”维度类型。 右键单击它,然后选择“ 编辑成员属性...”

  5. 选择“维度类型”字段并将其设置为 “帐户”。 选择“确定”

    显示帐户维度的 Essbase 管理服务的屏幕截图。

  6. 验证并保存大纲。

验证

重新加载维度。