Essbase

总结

项目 说明
发布状态 正式版
产品 Power BI(语义模型)
支持的身份验证类型 基本(用户名/密码)
函数参考文档 Essbase.Cubes

先决条件

支持 Essbase 11.1.2.x 版本。

支持的功能

  • 导入
  • Direct Query(Power BI 语义模型)
  • 高级选项
    • 命令超时(分钟)
    • 服务器
    • 应用程序
    • 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 Application Provider Service (APS) 服务器的主机名或 IP 地址。

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

    • URL 的最后一部分(即 /aps/XMLA)区分大小写,必须完全按如下所示指定。

      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 更改)。
  3. 选择导入DirectQuery 数据连接模式。 详细信息:在 Power BI Desktop 中使用 DirectQuery

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

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

    Essbase 连接身份验证。

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

    Essbase 导入数据导航器。

使用高级选项进行连接

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

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

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

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

设置了命令超时和 MDX 高级选项的 Essbase 连接身份验证。

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

当“数据连接模式”设置为“导入”时,数据源导航器将加载为 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 直接查询数据导航器选择。

已知限制

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

性能注意事项

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

查询缩减选项

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

查询缩减选项。

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

注意

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

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

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

以下过程演示了如何通过以迭代方式对每个级别的维度成员应用筛选器来减少数据导入 Power BI 时检索不需要数据的可能性。

连接到 Oracle Essbase 数据源

  1. 按照“从 Power Query Desktop 连接到 Essbase”中的说明使用导入模式连接到 Essbase 服务器。

  2. 展开树以向下钻取到所需的服务器、应用程序和数据库,直到公开数据库的度量值和维度。 目前,请选择度量值,仅选择一个维度级别。 选择最重要的维度级别。 在后续步骤中,你将通过逐渐增加更多维度级别来生成结果。

    选择最重要的维度和度量值

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

    导入已加载

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

接下来你可以开始增加更多维度级别并应用筛选器。

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

    选择“编辑查询”

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

    应用筛选器

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

    修改筛选器

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

    选择“添加物料”

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

    选择并添加新维度

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

    显示新维度级别的网格

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

    在第二级应用筛选器

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

    筛选器已应用

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

    再次选择“添加物料”

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

    再次选择所需的维度

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

    新维度已添加

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

    将筛选器应用于新维度

  13. 观察结果。

    观察结果

应用更改并加载数据

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

    选择“关闭”按钮

  2. 选择“是”以应用所做的更改

    选择“是”按钮

  3. 等待应用更改。

    等待更改

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

    观察新维度

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

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

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

维度和级别要根据维度成员查看和筛选:

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

    在此处添加字段

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

  3. 可以检查要包含在结果中的成员。

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

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

    检查想要的成员

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

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

    请注意,筛选成员已更改

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

    添加新维度

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

疑难解答

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

连接问题

症状 1

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

分辨率

  1. 确保在 Essbase Administration Service (EAS) 控制台中为提供程序服务器和独立服务器正确配置 Essbase Analytic Provider Services (APS) 服务器。 详细信息:配置 Essbase 群集

  2. 确保 URL 正确。

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

验证

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

症状 2

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

分辨率

确保提供的用户名和密码正确。 小心地重新输入值。 密码区分大小写。

验证

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

症状 3

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

分辨率

确保在 Essbase Administration Service (EAS) 控制台中为提供程序服务器和独立服务器正确配置 Essbase Analytic Provider Services (APS) 服务器。 详细信息:配置 Essbase 群集

验证

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

症状 4

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

分辨率

建议通过 Essbase Administration Service (EAS) 控制台配置 Oracle Hyperion 服务器,以定义提供程序和独立服务器。 请参阅“附录:在 Essbase Administration Service (EAS) 控制台中注册提供程序和独立服务器”部分。

验证

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

超时或大数据问题

症状 1

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

分辨率

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

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

验证

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

症状 2

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

分辨率

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

验证

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

症状 3

Essbase Analytic Provider Services (APS) 或 Essbase 服务器指示长期会话的大量连接。

分辨率

当连接模式为 DirectQuery 时,可以轻松选择度量值或维度级别以添加到所选可视化效果。 但是,每个新选择都会为 Essbase Analytic Provider Services (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 Administration Services Console,并使用管理员用户(或者对有问题的数据库拥有权限的任何人)登录。

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

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

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

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

    帐户维度

  6. 验证并保存概要。

验证

重试以加载维度。